Prinsip inti saya dalam pengembangan alpha adalah:
1) Kecepatan iterasi 2) Aksesibilitas
Apa artinya ini?
Yang pertama cukup jelas. Jika Anda menguji 10 alpha per hari dan orang lain hanya menguji 2 setiap hari, maka Anda akan jauh lebih unggul dari semuanya.
Bagaimana cara mewujudkannya?
Pertama, lupakan scraping data dan pra-pemrosesan. Jika Anda tidak memiliki skrip untuk melakukan ini secara otomatis, Anda sudah NGMI. Ini adalah syarat minimum.
Selanjutnya, gunakan library pemuatan data. Anda tidak perlu lagi menulis ulang kode glob.glob(folder_path) dan sebagainya. Anda sebaiknya menggunakan:
Anda bisa mulai dengan memiliki universe. Anda tidak perlu meluangkan waktu untuk mendefinisikan universe secara manual (dan idealnya ini juga harus distandarisasi). Jadi Anda bisa memuat file berisi X simbol teratas berdasarkan volume 30 hari, market cap, likuiditas 30 hari, atau apa pun yang Anda pilih. Anda bisa benar-benar bereksperimen dengan ini.
Dari sini kita bisa melihat return, kita harus memiliki return faktor, return idiosinkratik, return yang sudah di-clip, dan tentu saja return mentah. SEMUANYA SUDAH DIPROSES!
Akhirnya, kita harus memastikan bahwa kita bisa menguji semua alpha kita dan kode untuk melakukannya harus sangat cepat. Anda mungkin berpikir hanya butuh X menit, tapi lebih dari beberapa menit sudah menyebabkan context switch besar dan secara langsung menurunkan produktivitas.
Kita sudah membahas kecepatan iterasi, sekarang mari bahas aksesibilitas.
Aksesibilitas adalah seberapa mudah melakukan analisis tertentu. Ini adalah komponen kualitas dalam masalah optimasi kualitas vs kuantitas. Misal saya ingin melakukan analisis musiman tapi saya memutuskan untuk melewatinya demi menguji alpha lain, itu adalah kurangnya aksesibilitas. Misal saya memutuskan untuk tidak melakukan analisis korelasi + residualisasi karena ingin menguji alpha lain, itu juga kurangnya aksesibilitas.
Alat Anda harus memungkinkan Anda melakukan tipe analisis umum ini dengan cepat. Ini berlaku untuk optimasi, markout, TCA, TWAP optimal, dll. Semua ini idealnya harus membutuhkan sedikit usaha untuk dijalankan karena semakin banyak usaha yang dibutuhkan, SEMAKIN SEDIKIT ANDA MENJALANKANNYA dan kualitas riset Anda akan menurun.
Kesimpulannya, Anda sebaiknya fokus membuat analisis inti menjadi lebih cepat dan analisis ekstra yang meningkatkan kualitas riset Anda jauh lebih cepat untuk dilakukan. Dengan mengoptimalkan keduanya, Anda memastikan riset berkualitas sangat tinggi dapat dihasilkan jauh lebih cepat dari orang lain.
Inilah keunggulan Anda. Jika Anda melakukan 5x lebih banyak dari orang lain dalam waktu yang sama, Anda bisa menghasilkan PnL yang jauh lebih besar.
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
Prinsip inti saya dalam pengembangan alpha adalah:
1) Kecepatan iterasi
2) Aksesibilitas
Apa artinya ini?
Yang pertama cukup jelas. Jika Anda menguji 10 alpha per hari dan orang lain hanya menguji 2 setiap hari, maka Anda akan jauh lebih unggul dari semuanya.
Bagaimana cara mewujudkannya?
Pertama, lupakan scraping data dan pra-pemrosesan. Jika Anda tidak memiliki skrip untuk melakukan ini secara otomatis, Anda sudah NGMI. Ini adalah syarat minimum.
Selanjutnya, gunakan library pemuatan data. Anda tidak perlu lagi menulis ulang kode glob.glob(folder_path) dan sebagainya. Anda sebaiknya menggunakan:
load_data(
start_date=start_date,
end_date=end_date,
symbol=symbol,
dll
)
Selanjutnya, data riset. Apa itu data riset?
Anda bisa mulai dengan memiliki universe. Anda tidak perlu meluangkan waktu untuk mendefinisikan universe secara manual (dan idealnya ini juga harus distandarisasi). Jadi Anda bisa memuat file berisi X simbol teratas berdasarkan volume 30 hari, market cap, likuiditas 30 hari, atau apa pun yang Anda pilih. Anda bisa benar-benar bereksperimen dengan ini.
Dari sini kita bisa melihat return, kita harus memiliki return faktor, return idiosinkratik, return yang sudah di-clip, dan tentu saja return mentah. SEMUANYA SUDAH DIPROSES!
Akhirnya, kita harus memastikan bahwa kita bisa menguji semua alpha kita dan kode untuk melakukannya harus sangat cepat. Anda mungkin berpikir hanya butuh X menit, tapi lebih dari beberapa menit sudah menyebabkan context switch besar dan secara langsung menurunkan produktivitas.
Kita sudah membahas kecepatan iterasi, sekarang mari bahas aksesibilitas.
Aksesibilitas adalah seberapa mudah melakukan analisis tertentu. Ini adalah komponen kualitas dalam masalah optimasi kualitas vs kuantitas. Misal saya ingin melakukan analisis musiman tapi saya memutuskan untuk melewatinya demi menguji alpha lain, itu adalah kurangnya aksesibilitas. Misal saya memutuskan untuk tidak melakukan analisis korelasi + residualisasi karena ingin menguji alpha lain, itu juga kurangnya aksesibilitas.
Alat Anda harus memungkinkan Anda melakukan tipe analisis umum ini dengan cepat. Ini berlaku untuk optimasi, markout, TCA, TWAP optimal, dll. Semua ini idealnya harus membutuhkan sedikit usaha untuk dijalankan karena semakin banyak usaha yang dibutuhkan, SEMAKIN SEDIKIT ANDA MENJALANKANNYA dan kualitas riset Anda akan menurun.
Kesimpulannya, Anda sebaiknya fokus membuat analisis inti menjadi lebih cepat dan analisis ekstra yang meningkatkan kualitas riset Anda jauh lebih cepat untuk dilakukan. Dengan mengoptimalkan keduanya, Anda memastikan riset berkualitas sangat tinggi dapat dihasilkan jauh lebih cepat dari orang lain.
Inilah keunggulan Anda. Jika Anda melakukan 5x lebih banyak dari orang lain dalam waktu yang sama, Anda bisa menghasilkan PnL yang jauh lebih besar.