Alat analisis yang dipertingkatkan berdasarkan pembangunan tatabahasa Alpha101

Penulis:Kebaikan, Dicipta: 2020-06-09 09:34:58, Dikemas kini: 2023-11-01 20:27:17

img

Ringkasan

Platform FMZ melancarkan alat analisis faktor perdagangan berdasarkan WorldQuant Alpha101, yang menyediakan senjata baru untuk pemaju strategi perdagangan kuantitatif. Melalui faktor analisis, ia membantu semua orang memahami pasaran dengan lebih baik dan mendapatkan wawasan tentang peluang di sebalik pasaran kewangan.

Apakah Alpha101?

img

Sebelum memperkenalkan Alpha101, pertama-tama faham apa itu Alpha? Alpha merujuk kepada pulangan yang berlebihan. Sebagai contoh: beli dana indeks 1 juta dan simpan sepanjang masa. Ini adalah strategi Beta untuk memperoleh pulangan pasif di pasaran. Tetapi jika anda menggunakan 10 juta untuk membeli 10 saham, dan memperoleh 10% lebih banyak dengan membeli dana indeks, maka 10% ini adalah pulangan yang berlebihan Alpha. Jangan meremehkan pulangan yang berlebihan Alpha ini. Sebenarnya, kebanyakan peniaga di pasaran, termasuk pengurus dana, tidak dapat mengalahkan indeks, jadi ramai orang menggerakkan otak mereka untuk meningkatkan pulangan Alpha. Sudah tentu, terdapat beberapa peniaga dan syarikat dana yang sangat baik.

  • Strategi dagangan keuntungan melebihi = pulangan pasif (Beta) + pulangan dagangan (Alpha)

Pada tahun 2015, dana lindung nilai perdagangan kuantitatif WorldQuant LLC, yang mahir dalam perlombongan data, mengeluarkan laporan penyelidikan WorldQuant Formulaic 101 Alpha, yang mendedahkan 101 ungkapan Alpha yang mereka gunakan atau telah digunakan, yang tujuannya adalah untuk memberi pemaju strategi perdagangan Beri lebih banyak inspirasi dan idea. Ramai orang mempersoalkan faktor yang didedahkan oleh WorldQuant, kerana bagaimanapun, pasaran saham China berbeza dengan pasaran saham asing. Tetapi ternyata kebanyakan faktor ini masih berkesan di pasaran China. Platform FMZ menduplikasi dan membetulkan formula faktor ini, dan menunjukkannya kepada semua peniaga.

Apakah faktor dalam Alpha101

Dalam laporan penyelidikan, Alpha dibahagikan kepada tiga kategori: faktor harga, faktor jumlah, dan faktor dikotomi.

  • Faktor harga: Formula pengiraan hanya menggunakan harga, termasuk: harga pembukaan, harga tertinggi, harga terendah, harga penutupan, dll. Keluaran adalah nilai tertentu.

  • Volume dan faktor harga: Formula pengiraan menggunakan jumlah dan harga. Idea reka bentuk adalah untuk menentukan hubungan antara perubahan harga dan perubahan jumlah dagangan, dan output adalah nilai tertentu.

  • Faktor dikotomi: Formula pengiraan menggunakan jumlah dagangan dan harga. Ia sama dengan faktor jumlah dan harga, kecuali output adalah 0 atau 1.

Faktor harga

Nama faktor Rumus faktor Nota FMZ
Alpha # 1 (rank ((ts*argmax ((signedpower ((((kembali < 0)? stddev ((kembali, 20): dekat), 2.), 5)) - 0.5) Trend
Alpha # 4 (-1 * ts_rank(rank(low), 9)) Kembali
Alpha # 5 (rank((buka - (sum(vwap, 10) / 10))) * (-1 _ abs(rank((close - vwap))))) Kembali
Alpha #8 (-1 _ rank(((sum(buka, 5) _ jumlah ((kembali, 5)) - kelewatan (((jumlah(buka, 5) * jumlah ((kembali, 5)), 10)))))) Kembali
Alpha #9 ((0 < ts*min(delta(close, 1), 5))? delta(close, 1) : ((ts_max(delta(close, 1), 5) < 0)? delta(close, 1) : (-1 * delta(close, 1)))) Kebalikan atau Trend
Alpha#18 (-1 * rank((((stddev(abs(((close - terbuka)), 5) + (close - terbuka)) + korelasi ((close, terbuka, 10)))))) Kembali
Alpha#19 ((-1 * tanda(((dekat - kelewatan ((dekat, 7)) + delta ((dekat, 7)))))) _ (1 + pangkat((1 + jumlah ((kembali, 250))))))) Perbezaan Trend
Alpha#20 (((-1 * rank((open - delay(high, 1)))) _ rank((open - delay(close, 1)))) * rank((open - delay(low, 1)))) Kembali
Alpha#23 (((jumlah ((tinggi, 20) / 20) < tinggi)? (-1 * delta ((tinggi, 2))): 0) Regresi jangka pendek pada purata bergerak 20 tempoh
Alpha#24 ((((delta((sum(close, 100) / 100), 100) / delay ((close, 100)) < 0.05) atau ((delta((sum(close, 100) / 100), 100) / delay ((close, 100)) == 0.05))? (-1 _ (close - ts_min(close, 100))) : (-1 _ delta ((close, 3))) Kembali
Alpha#29 (min(produk(peringkat(peringkat(skala(log ((jumlah))min(rank(rank(((-1 * rank(delta((close - 1), 5))))), 2), 1))))), 1), 5) + tsrank ((delay (((-1 * kembali), 6), 5)) Kembali
Alpha #32 (skala(((jumlah(dekat, 7) / 7) - dekat)) + (20 * skala(korrelasi(vwap, kelewatan(dekat, 5), 230)))) Kembali
Alpha#33 rank((-1 * ((1 - (buka / tutup)) ^ 1))) Kembali
Alpha#34 rank(((1 - rank((stddev(kembali, 2) / stddev(kembali, 5)))) + (1 - rank(delta(dekat, 1))))))) Kembali
Alpha#37 (peringkat(korrelasi(penundaan(buka - tutup), 1), tutup, 200)) + pangkat(buka - tutup))) Statistik
Alpha#38 ((-1 _ rank(ts_rank(dekat, 10))) _ rank((dekat / terbuka))) Kembali
Alpha#41 (((tinggi * rendah) ^ 0.5) - vwap) Kembali
Alpha#42 (rank((vwap - dekat)) / rank((vwap + dekat))) Kembali
Alpha#46 ((0.25 < (((penundaan(dekat, 20) - kelewatan ((dekat, 10)) / 10) - ((penundaan(dekat, 10) - dekat) / 10)))? (-1 _ 1) : ((((penundaan(dekat, 20) - kelewatan(dekat, 10)) / 10) - ((penundaan(dekat, 10) - dekat) / 10)) < 0)? 1 : ((-1 _ 1) * (dekat - kelewatan(dekat, 1))))))) Kembali
Alpha#48 Dihapuskan Dihapuskan
Alpha#49 ((((menunda(dekat, 20) - penundaan ((dekat, 10)) / 10) - ((menunda(dekat, 10) - dekat) / 10)) < (-1 _ 0.1))? 1 : ((-1 _ 1) * (dekat - penundaan ((dekat, 1)))) Kembali
Alpha # 51 ((((menunda(dekat, 20) - penundaan ((dekat, 10)) / 10) - ((menunda(dekat, 10) - dekat) / 10)) < (-1 _ 0.05))? 1 : ((-1 _ 1) * (dekat - penundaan ((dekat, 1)))) Tiada
Alpha #53 (-1 * delta((((dekat - rendah) - (tinggi - dekat)) / (dekat - rendah)), 9)) Kembali
Alpha #54 ((-1 _ ((low - close) _ (open^5))) / ((low - high) * (close^5))) Kembali
Alpha#56 Dihapuskan Dihapuskan
Alpha#57 (0 - (1 * ((close - vwap) / decay*linear(rank(ts_argmax(close, 30)), 2)))) Kembali
Alpha#60 (0 - (1 * ((2 _ skala(peringkat(((((dekat - rendah) - (tinggi - dekat)) / (tinggi - rendah)) * jumlah)))))) - skala(peringkat(ts*argmax(dekat, 10)))))) Tiada
Alpha#66 ((rank ((decay_linear(delta ((vwap, 3.51013), 7.23052)) + ts_rank ((decay_linear((((((low * 0.96633) + (low _ (1 - 0.96633))) - vwap) / (open - ((high + low) / 2))), 11.4157), 6.72611)) * -1) Kembali
Alpha#73 (max(rank(decay*linear(delta(vwap, 4.72775), 2.91864)), ts_rank(decay_linear(((delta(((open * 0.147155) + (low _ (1 - 0.147155)), 2.03608) / ((open _ 0.147155) + (low _ (1 - 0.147155)))) _ -1), 3.33829), 16.7411)) _ -1) Kembali
Alpha # 84 signedpower ((ts_rank (((vwap - ts_max ((vwap, 15.3217)), 20.7127), delta ((close, 4.96796)) Tiada
Alpha#101 ((tutup - terbuka) / ((tinggi - rendah) +.001)) Kembali

Faktor Harga Jumlah

Nama faktor Rumus faktor Nota FMZ
Alpha # 2 (-1 * korelasi ((rank ((delta ((log ((volume), 2)), rank ((((close - terbuka) / terbuka)), 6)) Perbezaan jumlah dan harga
Alpha # 3 (-1 * hubungan ((peringkat ((terbuka), pangkat ((volume), 10)) Perbezaan jumlah dan harga
Alpha #6 (-1 * korelasi ((buka, jumlah, 10)) Perbezaan jumlah dan harga
Alpha #7 ((adv20 < volume)? ((-1 _ ts_rank ((abs(delta(close, 7)), 60)) _ tanda ((delta(close, 7))) : (-1 * 1)) Tiada
Alpha # 11 ((rank ((ts*max((vwap - dekat), 3)) + rank ((ts_min((vwap - dekat), 3))) * rank ((delta(volume, 3))) Pengurangan Berbalik
Alpha #12 (tanda ((delta(volume, 1)) * (-1 _ delta(close, 1))) Perbezaan jumlah dan harga
Alpha # 13 (-1 * pangkat(covariance(rank(close), pangkat ((volume), 5))) Perbezaan jumlah dan harga
Alpha#14 ((-1 _ rank(delta(kembali, 3))) _ korelasi ((terbuka, jilid, 10)) Perbezaan jumlah dan harga
Alpha # 15 (-1 * jumlah ((peringkat)) korelasi ((peringkat)) tinggi), pangkat ((volume), 3)), 3)) Perbezaan jumlah dan harga
Alpha # 16 (-1 * pangkat(covariance(peringkat(tinggi), pangkat ((volume), 5))) Perbezaan jumlah dan harga
Alpha#17 (((-1 _ rank(ts_rank(dekat, 10))) _ rank(delta(delta(dekat, 1), 1))) * rank(ts*rank((volume / adv20), 5))) Pengurangan Berbalik
Alpha#22 (-1 * (delta(korrelasi ((tinggi, jumlah, 5), 5) _ rank ((stddev ((dekat, 20)))))) Perbezaan jumlah dan harga
Alpha#25 rank ((((((-1 _ kembali) _ adv20) _ vwap) _ (tinggi - dekat))) Tiada
Alpha#26 (-1 * ts*max(korrelasi(ts_rank ((volume, 5), ts_rank ((high, 5), 5), 3)) Perbezaan jumlah dan harga
Alpha#28 skala ((((korrelasi ((adv20, rendah, 5) + ((tinggi + rendah) / 2)) - dekat)) Pergi dari belakang
Alpha#30 (((1.0 - pangkat(((tanda(((pendek - kelewatan(pendek, 1))) + tanda((penangguhan(pendek, 1) - kelewatan(pendek, 2)))) + tanda((penangguhan(pendek, 2) - kelewatan(pendek, 3)))))) * jumlah(volume, 5)) / jumlah(volume, 20)) Kembali
Alpha#31 ((rank(rank(rank(decay_linear((-1 * rank(rank(delta(dekat, 10)))), 10)))))) + rank (((-1 _ delta(dekat, 3)))) + tanda ((skala(korrelasi ((adv20, rendah, 12)))))) Perbezaan jumlah dan harga
Alpha#35 (trank ((volume, 32) * (1 - tsrank ((((dekat + tinggi) - rendah), 16))) * (1 - ts*rank ((kembali, 32))) Tiada
Alpha#36 ((((((2.21 * rank(correlation(((close - open), delay ((volume, 1), 15))) + (0.7 _ rank((open - close)))) + (0.73 _ rank(ts*rank(delay(((-1 * retur), 6), 5)))))))) + rank (((abscorrelation(vwap, adv20, 6)))))) + (0.6 _ rank (((((sum(close, 200) / 200) - open) _ (close - open)))))) Trend
Alpha#39 ((-1 _ rank((delta(close, 7) _ (1 - rank(decay*linear((volume / adv20), 9)))))))))) * (1 + rank(sum(kembali, 250)))) Perbezaan jumlah dan harga
Alpha#40 ((-1 * pangkat ((stddev ((tinggi, 10))) _ korelasi ((tinggi, jumlah, 10)) Perbezaan jumlah dan harga
Alpha#43 (t)rank (((volume / adv20), 20) * tspangkat (((-1 * delta ((dekat, 7)), 8)) Divergensi Kebalikan
Alpha#44 (-1 * korelasi ((tinggi, pangkat ((volume), 5)) Perbezaan jumlah dan harga
Alpha#45 (-1 _ ((peringkat (((jumlah ((penundaan ((dekat, 5), 20) / 20)) _ korelasi ((dekat, jumlah, 2)) * pangkat ((korrelasi)) jumlah ((dekat, 5), jumlah ((dekat, 20), 2)))) Perbezaan jumlah dan harga
Alpha#47 ((((rank((1 / close)) _ jumlah) / adv20) _ ((tinggi * pangkat((tinggi - dekat))) / (jumlah(tinggi, 5) / 5))) - pangkat((vwap - kelewatan(vwap, 5)))))) Tiada
Alpha#50 (-1 * ts*max ((rank ((correlation ((rank ((volume), rank ((vwap), 5)), 5)) Perbezaan jumlah dan harga
Alpha #52 ((((-1 * tsmin ((rendah, 5)) + kelewatan ((ts_min(rendah, 5)) * pangkat ((((jumlah(kembali, 240) - jumlah ((kembali, 20)) / 220))) * tspangkat ((volume, 5)) Perbezaan jumlah dan harga
Alpha#55 (-1 * korelasi(ranking(((dekat - ts_min(rendah, 12)) / (ts_max(tinggi, 12) - ts_min(rendah, 12)))), pangkat(volume), 6)) Perbezaan jumlah dan harga
Alpha #58 Dihapuskan Dihapuskan
Alpha#59 Dihapuskan Dihapuskan
Alpha#63 Dihapuskan Dihapuskan
Alpha#67 Dihapuskan Dihapuskan
Alpha#69 Dihapuskan Dihapuskan
Alpha#70 Dihapuskan Dihapuskan
Alpha#71 max(ts_rank(decay_linear(correlation(ts_rank ((close, 3.43976), ts_rank ((adv180, 12.0647), 18.0175), 4.20501), 15.6948), ts_rank ((decay_linear((rank(((low + terbuka) - (vwap + vwap))) ^2), 16.4662), 4.4388)) Tiada
Alpha#72 (rank ((decay_linear(correlation(((high + low) / 2), adv40, 8.93345), 10.1519)) / rank ((decay_linear(correlation(ts_rank(vwap, 3.72469), ts_rank ((volume, 18.5188), 6.86671), 2.95011))) Tiada
Alpha#76 Dihapuskan Dihapuskan
Alpha#77 min(rank(decay_linear(((((tinggi + rendah) / 2) + tinggi) - (vwap + tinggi)), 20.0451)), rank(decay_linear(korrelasi(((tinggi + rendah) / 2), adv40, 3.1614), 5.64125))) Tiada
Alpha#78 (rank ((korrelasi)) sum ((((low * 0.352233) + (vwap _ (1 - 0.352233)), 19.7428), jumlah ((adv40, 19.7428), 6.83313)) ^ rank ((korrelasi)) rank ((vwap), rank ((volume), 5.77492))) Tiada
Alpha#80 Dihapuskan Dihapuskan
Alpha #82 Dihapuskan Dihapuskan
Alpha #83 ((rank(delay(((high - low) / (sum ((close, 5) / 5)), 2)) * rank ((rank(volume))) / (((high - low) / (sum ((close, 5) / 5)) / (vwap - close))) Tiada
Alpha # 85 (rank ((correlation)) (((high _ 0.876703) + (close _ (1 - 0.876703))), adv30, 9.61331)) ^rank ((ts_correlation)) (high + low) / 2), 3.70596), ts_rank ((volume, 10.1595), 7.11408))) Tiada
Alpha #87 Dihapuskan Dihapuskan
Alpha#88 min(rank(decay_linear(((rank(open) + rank(low)) - (rank(high) + rank ((close))), 8.06882)), ts_rank(decay_linear(correlation(ts_rank(close, 8.44728), ts_rank ((adv60, 20.6966), 8.01266), 6.65053), 2.61957)) Tiada
Alpha#89 Dihapuskan Dihapuskan
Alpha#90 Dihapuskan Dihapuskan
Alpha#91 Dihapuskan Dihapuskan
Alpha#92 min(ts_rank(decay_linear(((((high + low) / 2) + close) < (low + open)), 14.7221), 18.8683), ts_rank(decay_linear(correlation(rank(low), rank ((adv30), 7.58555), 6.94024), 6.80584)) Tiada
Alpha #93 Dihapuskan Dihapuskan
Alpha # 94 ((rank((vwap - ts_min(vwap, 11.5783))) ^ts_rank(korrelasi(ts_rank(vwap, 19.6462), ts_rank ((adv60, 4.02992), 18.0926), 2.70756)) * -1) Tiada
Alpha#96 (max(ts_rank(decay_linear(correlation(rank(vwap), rank ((volume), 3.83878), 4.16783), 8.38151), ts_rank(decay_linear(ts_argmax(correlation(ts_rank(close, 7.45404), ts_rank ((adv60, 4.13242), 3.65459), 12.6556), 14.0365), 13.4143)) * -1) Tiada
Alpha#97 Dihapuskan Dihapuskan
Alpha#98 (rank ((decay_linear(correlation(vwap, sum ((adv5, 26.4719), 4.58418), 7.18088)) - rank ((decay_linear(ts_rank(ts_argmin(correlation(rank(open), rank ((adv15), 20.8187), 8.62571), 6.95668), 8.07206))) Tiada
Alpha#100 Dihapuskan Dihapuskan

Faktor Dikotomi

Nama faktor Rumus faktor Nota FMZ
Alpha#22 (-1 _ (delta ((korrelasi ((tinggi, jumlah, 5), 5) _ rank ((stddev ((dekat, 20)))))) Kembali
Alpha#27 ((0.5 < rank (((sum ((korrelasi ((rank ((volume), rank ((vwap), 6), 2) / 2.0)))? (-1 * 1) : 1) Perbezaan jumlah dan harga
Alpha#61 (rank((vwap - ts*min(vwap, 16.1219))) < rank(correlation(vwap, adv180, 17.9282))) Perbezaan jumlah dan harga
Alpha #62 ((rank ((correlation ((vwap, sum ((adv20, 22.4101), 9.91009)) < rank (((rank ((open) + rank ((open)) < (rank ((((high + low) / 2)) + rank ((high))))) * -1) Tiada
Alpha #64 ((rank(korrelasi(jumlah(((buka * 0.178404) + (rendah _ (1 - 0.178404))), 12.7054), jumlah ((adv120, 12.7054), 16.6208)) < rank(delta(((((tinggi + rendah) / 2) _ 0.178404) + (vwap _ (1 - 0.178404)), 3.69741))) * -1) Tiada
Alpha # 65 ((rank(korrelasi(((open _ 0.00817205) + (vwap _ (1 - 0.00817205)), jumlah ((adv60, 8.6911), 6.40374)) < rank((open - ts*min(open, 13.635)))) * -1) Tiada
Alpha #68 ((ts_rank(korrelasi ((rank(tinggi), rank ((adv15), 8.91644), 13.9333) < rank ((delta((((dekat * 0.518371) + (rendah _ (1 - 0.518371)), 1.06157))) * -1) Tiada
Alpha#74 ((rank ((korrelasi ((dekat, jumlah ((adv30, 37.4843), 15.1365))) < rank ((korrelasi(rank (((high _ 0.0261661) + (vwap _ (1 - 0.0261661)))), rank ((volume), 11.4791))) * -1) Tiada
Alpha#75 (peringkat ((korrelasi ((vwap, jilid, 4.24304)) < rank ((korrelasi ((peringkat ((rendah), rank ((adv50), 12.4413))) Hubungan harga-volume
Alpha#79 Dihapuskan Dihapuskan
Alpha # 81 ((rank(log(produk(rank(rank(correlation ((vwap, jumlah ((adv10, 49.6054), 8.47743)) ^ 4)), 14.9655))) < rank ((correlation ((rank(vwap), rank ((volume), 5.07914))) * -1) Tiada
Alpha #86 ((ts_rank(korrelasi ((dekat, jumlah ((adv20, 14.7444), 6.00049), 20.4195) < pangkat ((((buka + dekat) - (vwap + terbuka)))) * -1) Tiada
Alpha #95 (rank((buka - ts_min(buka, 12.4105))) < ts_rank((rank(korrelasi ((jumlah(((tinggi + rendah) / 2), 19.1351), jumlah ((adv40, 19.1351), 12.8742)) ^5), 11.7584)) Tiada
Alpha#99 ((ranking ((korrelasi ((jumlah, jumlah tinggi + rendah) / 2), 19.8975), jumlah ((adv60, 19.8975), 8.8136)) * -1) Tiada

Diimplementasikan di platform FMZ

Laman web rasmi FMZ (FMZ.COMUntuk mendaftar dan log masuk, klik Dashboard di sebelah kiri atas, dan pilih Analysis Tool dalam senarai di sebelah kiri, seperti yang ditunjukkan dalam gambar berikut:

img

Pada halaman alat analisis, bahagian atas adalah bar tetapan, yang boleh ditetapkan mengikut susunan dari kiri ke kanan: pelbagai, waktu permulaan dan akhir, tempoh, jenis gambar. Di bawah bar tetapan adalah kawasan penyuntingan formula. Jika anda tidak dapat menulis formula, anda boleh mengklik menu drop-down di bawah dan memilih formula yang anda edit. Terdapat banyak contoh formula yang disokong di sini. Di samping itu, alat analisis platform FMZ sudah menyokong kebanyakan formula Alpha101 rasmi, hanya klik dan gunakan. Klik formula pengiraan untuk memaparkan hasil pengiraan di bahagian bawah, ia menyokong pelbagai kaedah eksport data: gambar, jadual (CSV), JSON, dll.

img

Perlu memberi perhatian kepada

Parameter dalam formula faktor adalah lalai dan bukan parameter optimum. Pedagang boleh memilih parameter yang lebih sesuai mengikut simbol, tempoh, dan pengalaman mereka sendiri.

Faktor-faktor adalah bebas antara satu sama lain, dan meletakkan beberapa faktor di atas satu sama lain mungkin tidak semestinya menghasilkan hasil yang lebih baik.

Faktor tidak terhad, Alpha101 hanya satu helah, saya percaya semua orang boleh mendapat inspirasi daripadanya dan membuat lebih banyak dan lebih baik faktor dan kuantitatif strategi perdagangan.

Ringkasnya

Dalam banyak formula faktor perdagangan, permukaan kelihatan tidak munasabah, tetapi terdapat idea dan sebab tertentu di sebalik formula. Tetapi satu-satunya konstanta di pasaran adalah bahawa ia sentiasa berubah, jadi keberkesanan faktor-faktor ini mempunyai ciri-ciri bukan linear dalam aplikasi praktikal. Dengan kata lain, tidak ada faktor yang berkesan dan selalu berkesan, tidak ada kaedah perdagangan sejagat. Sebagai peniaga kuantitatif, anda harus mempunyai minda yang terbuka, pandai meringkaskan, dan menggunakannya untuk mencuba dan berinovasi untuk membuat keuntungan di pasaran yang sentiasa berubah.


Berkaitan

Lebih lanjut