Kumpulkan dan Kumpulkan Alpha | beragampengetahuan.com

 – Beragampengetahuan
6 mins read

Kumpulkan dan Kumpulkan Alpha | beragampengetahuan.com – Beragampengetahuan

Oleh: Blog Dean Markwick — Julia

Diposting ulang dari:

Orang tidak pernah kekurangan ide untuk bertukar pikiran. Ada seluruh industri
Peneliti, tenaga penjualan, dan amatir memunculkan ide perdagangan dan
membuat keputusan besar tentang saham mana yang akan naik, negara mana yang akan menguranginya
Bagaimana suku bunga dan harga emas selanjutnya? Penangkapan Alfa
adalah tentang mengevaluasi ide secara sistematis dan mencari tahu siapa yang memilikinya
alfa dan menghasilkan ide-ide yang menguntungkan dan siapa yang mengimplementasikannya
mereka ikut.


Suka dengan artikel jenis ini? Maka Anda harus berlangganan buletin saya.


Menangkap Alpha dimulai sebagai cara untuk membuat profil saham broker
perkenalan. Jika Anda memiliki 50 orang, rujuk Anda ke 50 orang berbeda
ide, bagaimana kamu tahu siapa yang baik? Anda akan cepat kehabisan uang jika
Anda secara membabi buta mengikuti semua rekomendasi yang memengaruhi Anda
kotak masuk. Sebaliknya, Anda perlu mendokumentasikan ide setiap orang dan melihatnya
Orang biasa dapat memberikan rekomendasi yang baik. Siapa pun yang baik
pemilihan saham mungkin lebih bermanfaat untuk bisnis Anda.

Sejak saat itu, beberapa dana lindung nilai (hedge fund) mempunyai kantor internal (in-house desk).
sedang melakukan analisis serupa terhadap manajer portofolio (PM) mereka untuk menggandakannya
kurangi taruhan yang menguntungkan dan minimalkan risiko semua pilihan Prime
stok yang sama. Pilih saham dan kelola portofolio di beberapa PM
adalah dua keahlian berbeda dan departemen berbeda di perusahaan modern Anda
dana lindung nilai.

Cara sederhana untuk mengukur alpha rekomendasi PM atau broker
adalah untuk melihat apakah harga saham yang mereka beli (atau rekomendasikan) naik
setelah tanggal mereka mengusulkannya. Orang alfa akan melihatnya
pilihan bergerak lebih tinggi pada sampel yang cukup besar dan sampel tanpa alfa
rata-ratanya akan menjadi nol, beberapa ide akan naik lebih tinggi, beberapa ide
lebih rendah, hasil akhirnya adalah 0 alpha. Jika PM mempunyai efek sebaliknya,
setiap saham yang mereka beli harganya turun, mereka pelawan
indikator jadi ambillah ide mereka dan lakukan yang sebaliknya!

Grafik centang pengambilan alfa

Sistem Penangkapan Alfa: Dulu, Sekarang dan Masa Depan
Petunjuk arah
menelusuri sejarah penangkapan alfa dan merupakan bacaan singkat yang bagus
menginspirasi posting blog ini.

Contents

Pemotretan Alfa dasar

Bagaimana jika kita ingin mencoba Alpha Capture sendiri? Kami memerlukan beberapa rekomendasi saham dan cara menghitung apa yang akan terjadi pada harga setelah rekomendasi tersebut. Di sinilah podcast Acquired berperan.

Logo yang dibeli

Acquired menceritakan kisah dan strategi perusahaan besar (diambil dari situs web mereka). Ini adalah podcast yang cukup populer dan setiap episodenya memiliki hampir satu juta pendengar. Jadi ini menjadikannya studi Alpha Capture yang ideal – ketika mereka merilis episode tentang sebuah perusahaan, apakah rata-rata harga saham perusahaan tersebut naik atau turun?
Jika nilainya lebih tinggi setiap kali sebuah episode dirilis, hubungi broker Anda dan beli sahamnya!

Mereka tidak secara eksplisit merekomendasikan suatu saham dengan membicarakannya
itu, seperti yang mereka katakan dalam pendahuluan mereka. Jadi ini hanyalah latihan mainan untuk dilihat
Apakah ada korelasi antara harga saham dan tanggal penerbitan?
dari sebuah episode.

Untuk mengujinya secara sistematis, kita perlu mengambil daftar episode dan menghitung ‘skor’ untuk setiap episode.

Pengumpulan data podcast

Internet adalah hal yang luar biasa dan setiap episode Acquired adalah hal yang luar biasa
tersedia sebagai umpan XML dari Transistor.fm. Jadi mari kita lakukan beberapa analisis menarik
XML, saya bisa mendapatkan seluruh riwayat podcast hari demi hari
dan judul.

function parseEpisode(x)
  rawDate = first(simplevalue.(x[tag.(x) .== "pubDate"]))
  date = ZonedDateTime(rawDate, dateformat"eee, dd uuu yyyy HH:MM:ss z")

  Dict("title" => first(simplevalue.(x[tag.(x) .== "title"])),
       "date" =>date)
end

function parse_date(t)
   Date(string(split(t, "T")[1]))
end

url = "

data = parse(Node, String(HTTP.get(url).body))

episodes = children(data[3][1])
filter!(x -> tag(x) == "item", episodes)
episodes = children.(episodes)

episodeData = parseEpisode.(episodes)

episodeFrame = vcat(DataFrame.(episodeData)...)
CSV.write("episodeRaw.csv", episodeFrame)

Setelah menulis data ke CSV, saya perlu menganalisis episode tersebut
judul menjadi simbol ticker. Ini adalah tugas yang sulit karena judul episodenya
Ramah manusia, bukan ramah komputer. Jadi, sudah waktunya untuk LLM kita
Para bangsawan membantu melakukan pekerjaan berat. Saya memasukkan CSVnya
Canggung dan ingatkan untuk menambahkan ticker saham yang relevan
dokumen. Saya kemudian membaca CSV kembali ke buku catatan saya.

episodeFrame = CSV.read("episodeTicker.csv", DataFrame)
episodeFrame.date = ZonedDateTime.(String.(episodeFrame.date), dateformat"yyyy-mm-ddTHH:MM:SS.sss-z")

vcat(first(@subset(episodeFrame, :stock_ticker .!= "-"), 4),
        last(@subset(episodeFrame, :stock_ticker .!= "-"), 4))
hari
ZonedDateTime
judul
String
stock_ticker
String15
industri_etf
String7
17-03-2024T17:54:00.400+07:00 Teknologi Renaisans RNR PSI
19-02-2024T17:56:00.410+08:00 Hermes RMS.PA GXLU
21-01-2024T17:59:00.450+08:00 Novo Nordisk (Ozempik) NOVO-B.CO IHE
26-11-2023T16:24:00.250+08:00 Visa V. IPAY
23-09-2018T18:28:00.550+07:00 Musim 3, Episode 5: Alibaba BABA KWEB
20-08-2018T09:20:00.370+07:00 Musim 3, Episode 3: IPO Sonos BEGITU GAMR
05-08-2018T18:15:00.030+07:00 Musim 3, Episode 2: IPO Xiaomi XIACF KWEB
16-07-2018T21:40:00.560+07:00 Musim 3, Episode 1: Tesla TSLA TSLA

Itu menyelesaikan pekerjaan dengan baik. Sebagian besar episode tampaknya bersesuaian
kode yang benar tetapi kita dapat melihatnya menyebabkan ilusi pada saham RenTech
kodenya adalah RNR. RenTech adalah perusahaan swasta, tanpa saham dan
Sebaliknya, Perplexity memutuskan RNR (perusahaan reasuransi).
kode stok yang benar. Jadi tidak 100% akurat. Namun, itu menyelamatkanku
jangka waktu yang lama dan kita dapat melanjutkan untuk mendapatkan data harga saham.

Kami ingin mengukur pergerakan harga rata-rata suatu saham setelah sebuah episode dirilis. Jika Acquired ahli dalam memilih saham, Anda pasti memperkirakan harga akan naik setelah sebuah episode dirilis karena mereka sering menilai perusahaan yang berbeda secara positif.

Jadi, dengan menggunakan AlpacaMarkets.jl, kita mendapatkan harga saham hari sebelum dan sesudah episode tersebut. Karena AlpacaMarkets hanya memiliki data saham AS, hanya beberapa volume yang memiliki kumpulan data lengkap.

Apa itu markout?

Kami menghitung persentase perubahan dari tanggal siaran dan kemudian menggabungkan semua ticker menjadi satu.

\[\text{Markout} = \frac{p – p_{\text{episode released}}}{p_{\text{episode released}}}\]

Mengakuisisi adalah tentang perusahaan-perusahaan hebat sehingga mereka memilih untuk berbicara baik tentang suatu perusahaan, jadi menurut saya ini adalah asumsi yang masuk akal bahwa kita memperkirakan harga saham akan naik setelah orang-orang datang mendengarnya.
Jadi saat kami mengkompilasi semua episodenya, kami berharap ada
cukup data untuk memutuskan apakah ini benar.

function getStockData(stock, startDate)
  prices = AlpacaMarkets.stock_bars(stock, "1Day", startTime=startDate - Month(1), limit=10000)[1]
  prices.date .= startDate
  prices.t = parse_date.(prices.t)
  prices[:, [:t, :symbol, :vw, :date]]
end

function calcMarkout(data)
   arrivalInd = findlast(data.t .<= data.date)
   arrivalPrice = data[arrivalInd, :vw]
   data.arrivalPrice .= arrivalPrice
   data.ts = [x.value for x in (data.t .- data.date)]
   data.markout = 1e4*(data.vw .- data.arrivalPrice) ./ data.arrivalPrice
   data
end

res = []

for row in eachrow(episodeFrame)
    
    try 
        stockData = getStockData(row.stock_ticker, Date(row.date))
        stockData = calcMarkout(stockData)
        append!(res, [stockData])
    catch e
        println(row.stock_ticker)
    end
end

res = vcat(res...)

Dengan data yang diambil, kami sekarang menggabungkannya berdasarkan hari sebelum dan sesudah episode.

markoutRes = @combine(groupby(res, :ts), :n = length(:markout), 
                                         :avgMarkout = mean(:markout),
                                         :devMarkout = std(:markout))
markoutRes = @transform(markoutRes, :errMarkout = :devMarkout ./sqrt.(:n))

Bilah kesalahan selalu diperlukan karena data ini berisik.


markoutResSub = @subset(markoutRes, :ts .<= 60, :n .>= 10)
plot(markoutResSub.ts, markoutResSub.avgMarkout, yerr=markoutResSub.errMarkout, 
     xlabel = "Days", ylabel = "Markout", title = "Acquired Alpha Capture", label = :none)
hline!([0], ls = :dash, color = "grey", label = :none)
vline!([0], ls = :dash, color = "grey", label = :none)

Tandai rata-rata

Sebenarnya bukan seorang model. Mayoritas bilah kesalahan memblokir nol setelah podcast dirilis.
Jika Anda melihat sedikit, sepertinya ada sedikit tren penurunan setelah episode tersebut, yang menunjukkan bahwa mereka sedang membicarakan sebuah perusahaan yang sedang berada di puncak harga sahamnya.

Sebelumnya terdapat sedikit momentum positif, yang kembali menunjukkan hal tersebut
mereka meluncurkan podcast pada saat harga saham sedang mencapai puncaknya. Sekarang ini dia
Lebih lama lagi karena sebulannya hanya ada 1 podcast dan itu
dibutuhkan lebih dari 20 hari untuk mempersiapkan sebuah episode (saya bayangkan!), jadi
lebih banyak noise daripada sinyal.

markoutIndRes = @combine(groupby(res, [:symbol, :ts]), :n = length(:markout), 
                                         :avgMarkout = mean(:markout),
                                         :devMarkout = std(:markout))
markoutIndRes = @transform(markoutIndRes, :errMarkout = :devMarkout ./sqrt.(:n))

p = plot()
hline!(p, [0], ls = :dash, color = "grey", label = :none)
vline!(p, [0], ls = :dash, color = "grey", label = :none)
for sym in ["TSLA", "V", "META"]
   markoutResSub = sort(@subset(markoutIndRes, :symbol .== sym, :ts .<= 60, :n .>= 1), :ts)
    plot!(p, markoutResSub.ts, markoutResSub.avgMarkout, yerr=markoutResSub.errMarkout, 
     xlabel = "Days", ylabel = "Markout", title = "Acquired Alpha Capture", label = sym, lw =2) 
end
p

Tandai satu per satu

Dengan mengambil tiga contoh episode, kita dapat melihat keacakan dan khususnya volatilitas TSLA di sini.

Kesimpulan

Dari sana, kami tidak akan memberi beban khusus pada saham tersebut
tampil setelah sebuah episode dirilis. Sepertinya tidak ada
model statistik apa pun untuk dieksploitasi. Tidak ada alfa berarti tidak ada alfa
mengambil alih. Namun, ini adalah latihan yang bagus dan semoga bisa memberikan penjelasan
konsep markup.

Software Terbaru Saat Ini



Aplikasi yang sedang trend saat ini

object oriented programming, programming language, programming adalah, web programming, belajar programming, tournament software, software, software adalah, contoh software, apa itu software, pengertian software, aplikasi, aplikasi penghasil uang, aplikasi bokep, aplikasi video, programming

#Kumpulkan #dan #Kumpulkan #Alpha #beragampengetahuan.com

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *