🧧 Gate 廣場 $50,000 紅包雨狂撒,發帖 100% 中獎!
活動全面加碼,獎勵上不封頂!
🚀 人人有份: 新老用戶發帖即領,單帖最高可得 28U!
📈 多發多得: 參與次數不設限,發帖越多,紅包拿得越手軟!
立即參與:
1️⃣ 更新 App: 升級至 v8.8.0 版本。
2️⃣ 開啟紅包: 點擊發帖,獎勵自動入賬!
馬上發帖領紅包 👉 https://www.gate.com/post
詳情: https://www.gate.com/announcements/article/49773
我在 alpha 開發上的核心原則是:
1) 迭代速度
2) 可及性
這代表什麼?
第一點很明顯。如果你每天測試 10 個 alpha,而其他人每天只測試 2 個,那你會比其他人表現好很多。
那要怎麼做到?
首先,把資料抓取和前處理自動化。如果你沒有自動化腳本來做這些,你已經 NGMI(Not Gonna Make It)。這是基本門檻。
接下來,取得一個資料加載庫。你不應該每次都重寫 glob.glob(folder_path) 等等的程式碼。你應該使用:
load_data(
start_date=start_date,
end_date=end_date,
symbol=symbol,
等等
)
然後是研究數據。什麼是研究數據?
你可以從建立一個 universe 開始。你不該花時間手動定義 universe (而且理想上它應該是標準化的)。所以你應該載入一個檔案,內容是依 30 天交易量、市值或流動性等指標排序的前 X 名標的。你可以根據需求隨意調整。
接下來我們可以檢視報酬數據,我們應該有因子報酬、特異報酬、截斷報酬,當然還有原始報酬。這些全部都要事先產生好!
最後,我們要確保可以測試所有 alpha,而且測試程式碼要極速運行。你可能覺得只要 X 分鐘,但只要超過幾分鐘就是一次巨大的 context switch,會直接影響生產力。
我們剛剛講完了迭代速度,現在來談可及性。
可及性是指完成某個分析的難易度。這是品質與數量最佳化問題中的品質面。舉例來說,假設我想做季節性分析,但決定跳過去做另一個 alpha,這就是缺乏可及性。假設我決定不做相關性和殘差分析,因為想先測試另一個 alpha,這也是缺乏可及性。
你的工具應該要讓你能夠快速完成這些常見類型的分析。這包括最佳化、markout、TCA、最佳 TWAP 等等。這些理想上都應該讓你只需極少的工作量,因為工作量越大,你就越不會去做,研究品質也會下降。
總結來說,你應該專注於讓核心分析更快,以及讓能顯著提升研究品質的額外分析執行速度大幅提升。藉由優化這兩個面向,你可以確保你的高品質研究產出速度遠遠超越其他人。
這就是你的優勢。如果你能在相同時間內做 5 倍於他人的量,你就能創造更多的 PnL。