ubiquant九坤量化金牌方案解讀
九坤投資ubiquant是目前國內成立最早、投資管理經驗最為豐富的多策略量化私募基金管理人之一。公司投研和技術團隊核心成員90%+畢業於清華、北大、上海交大、復旦、斯坦福等國內外知名院校,且在華爾街知名對衝基金、全球頭部科技公司、國內知名網際網路企業擁有多年工作經驗。
2022年1月,九坤聯合kaggle舉辦A股股票預測大賽,目的是預測股票未來短期的收益。比賽官網地址: Ubiquant Market Prediction | Kaggle 。
1)背景介紹
無論你的投資策略如何,金融市場都會出現波動。儘管存在這種差異,但專業投資者仍試圖估計其整體回報。風險和回報因投資型別和其他影響穩定性和波動性的因素而異。為了嘗試預測回報,金融市場交易有許多基於計算機的演算法和模型。然而,有了新的技術和方法,資料科學可以提高定量研究人員預測投資回報的能力。
2)資料特點
這場比賽的資料是基於A股真實的交易資料,不過所有資料都做了匿名處理。資料乾淨無缺失,結構清晰且簡單,盡大可能的方便選手進行建模。

- 時間列表
time_id代表時間,0代表第0天,其它類似。時間雖是匿名的,不過時間0-1219代表2014-2018年。
- 股票列表
investment_id代表股票ID;比賽資料的股票數量隨著時間推移,股票數量是增多的,其原因是A股市場不斷增加新股。紅框資料的股票比較少,是因為九坤官方提出了部分不想要的股票資料。
雖說investment_id是匿名的,但還是有辦法破解的。利用A股真實交易資料,計算A股股票收益和九坤給出資料的target的相關性,每次匹配選出最相關的對映,剔除後再重新匹配,迴圈遍歷即可。 Ubiquant Market Prediction | Kaggle

- 因子特徵
九坤比賽給出了300個匿名的特徵,這些特徵我嘗試去破解,把alpha101因子庫和自己的因子庫和它的特徵去匹配,但是結果很沮喪,一個都沒匹配出來。這些特徵是匿名的,也是九坤對其研究成果的一個保護。

- target
target也是匿名的,是對短期收益資料的變換,具體變換規則無從知曉。


3)解決方案
這場比賽目前僅有少數隊伍公佈瞭解決方案,詳細解讀下供大家參考。
- 第一名方案
原始連結: Ubiquant Market Prediction | Kaggle

特徵:原始的300匿名因子+100個按照time_id group的mean因子
features = [f'f_{i}' for i in range(300)] corr = train_df[features[:] + ['target']].corr()['target'].reset_index() corr['target'] = abs(corr['target']) corr.sort_values('target', ascending = False, inplace = True) best_corr = corr.iloc[3:103, 0].to_list() time_id_mean_features = [] for col in tqdm(best_corr): mapper = train_df.groupby(['time_id'])[col].mean().to_dict() train_df[f'time_id_{col}'] = train_df['time_id'].map(mapper) train_df[f'time_id_{col}'] = train_df[f'time_id_{col}'].astype(np.float16) time_id_mean_features.append(f'time_id_{col}') features += time_id_mean_features
取樣:使用訓練樣本的前2400000行
驗證:kfold和groupkfold
模型:lightgbm和tabnet
- 第三名方案
原始連結: Ubiquant Market Prediction | Kaggle
特徵:300原始特徵
模型:6層transformer,自定義的pearson loss函式,10epoches
資料:特徵維度上用0隨機替代;序列維度上隨機遮掩特徵
- 第五名方案
原始連結: Ubiquant Market Prediction | Kaggle
資料:使用timeid>599的樣本訓練,去除127個target異常的數值
特徵:300原始特徵
模型:4層mlp
驗證:purged cv, 20fold,gap為10
- 第七名方案
原始連結: Ubiquant Market Prediction | Kaggle
特徵:300原始特徵+600維作者基於經驗做的特徵工程,這裡作者表示不可洩露
模型:lightgbm
- 我們的方案
這場比賽我打了兩個月,花費了不少精力,最後和richard, lafoss大神組隊。最終排名86/2893,不太理想。總體感覺量化比賽比一般表格賽的難度要大,平穩性明顯差很多,更加考驗參賽者的建模能力。
資料:train+supplement
特徵:原始300維特徵
驗證:cpcv和timeseries split方法
模型:transformer、NN模型融合;lgb因為LB效果太差,放棄過早,沒有深入研究。

整理不易,供老師們參考,歡迎一鍵三連~
- PC端微博Vue-Recyclerview元件的分析與資料採集
- 資料科學在文字分析中的應用 :中英文 NLP(上)
- 如何分析網站監控中的資料報表,都有哪些關鍵資訊?
- 前端監控穩定性資料分析實踐 | 得物技術
- 查詢效能較 Trino/Presto 3-10 倍提升!Apache Doris 極速資料湖分析深度解讀
- 雲小課|MRS資料分析-通過Spark Streaming作業消費Kafka資料
- 資料分析----Matplotlib
- 為了買房,我抓取了某家房源的成交資料(分析篇)
- 2023年五大趨勢預測 | 大資料分析、人工智慧和雲產業展望
- 資料分析模型---AARR模型R和RFM模型
- 資料科學家賺多少?資料全分析與視覺化 ⛵
- 跳躍表資料結構與演算法分析
- 資料分析之必備技能---資料分析報告
- 噓!P站資料分析年報;各省市疫情感染進度條;愛奇藝推出元宇宙App;You推出AI聊天機器人;GitHub今日熱榜 | ShowMeAI資訊日報
- 下一個十年,我們需要一款什麼樣的分析型資料庫?
- Pandas資料分析:快速圖表視覺化各類操作詳解 例項程式碼(一)
- 【資料庫核心分析系列】:資料庫索引的建立過程
- 資料價值深度挖掘,分析服務上線“探索”能力
- 技術內幕 | 阿里雲EMR StarRocks 極速資料湖分析
- Android資料結構全面分析(中)