🕌
Numerai Tournament v5.0 アップデートに関する調査メモ
まとめ
-
Numerai Tournamentのデータがv5.0にアップデートされた
-
Feature neutrizationが効かなさそう?
-
予測するtargetとしてはtarget_teager2b_20が強そう
-
model uploadsは公式Notebook通りで動かないので注意
変更点
初回ポスト:
リリース時ポスト:
予測する株の銘柄が変わったらしい。また、Targetの名前も変わった。
7月段階での調査
以下の資料にまとめました。Feature neutrizationが効かなさそう?という結論で終わってます。
Target同士の相関
Exampleに記載がある(リンク)
corr_with_cyrus_v4_20 | |
---|---|
target | 1.0000 |
target_cyrusd_20 | 1.0000 |
target_xerxes_20 | 0.9429 |
target_caroline_20 | 0.9221 |
target_sam_20 | 0.9120 |
target_ralph_20 | 0.8950 |
target_echo_20 | 0.8518 |
target_victor_20 | 0.8384 |
target_waldo_20 | 0.8333 |
target_delta_20 | 0.8068 |
target_bravo_20 | 0.8017 |
target_jeremy_20 | 0.7904 |
target_charlie_20 | 0.7675 |
target_alpha_20 | 0.7653 |
target_claudia_20 | 0.7451 |
target_teager2b_20 | 0.7171 |
target_agnes_20 | 0.7102 |
target_tyler_20 | 0.7071 |
target_rowan_20 | 0.7046 |
target_cyrusd_60 | 0.4893 |
target_xerxes_60 | 0.4859 |
target_caroline_60 | 0.4821 |
target_sam_60 | 0.4800 |
target_ralph_60 | 0.4772 |
target_echo_60 | 0.4616 |
target_victor_60 | 0.4593 |
target_waldo_60 | 0.4559 |
target_delta_60 | 0.4418 |
target_bravo_60 | 0.4416 |
target_jeremy_60 | 0.4380 |
target_charlie_60 | 0.4241 |
target_alpha_60 | 0.4236 |
target_claudia_60 | 0.4100 |
target_teager2b_60 | 0.3987 |
target_agnes_60 | 0.3968 |
target_tyler_60 | 0.3967 |
target_rowan_60 | 0.3917 |
各Targetを予測したときのSharpe
ValidationのMeanとSharpeを算出した。
target(target_cyrusd_20)を直接予測するよりSharpeが良くなる変数がいくつかある。
Mean | Sharpe | |
---|---|---|
target_teager2b_20 | 0.0246 | 1.2542 |
target_rowan_20 | 0.0234 | 1.2221 |
target_victor_20 | 0.0248 | 1.1847 |
target_claudia_20 | 0.0216 | 1.1701 |
target_alpha_20 | 0.0214 | 1.1688 |
target_caroline_20 | 0.0252 | 1.1146 |
target_cyrusd_20 | 0.0255 | 1.1002 |
予測条件は以下。
n_splits = 3 # k-fold, not shuffled
params = {
'n_estimators': 5000,
'boosting_type': 'gbdt',
'learning_rate': 0.03,
'num_leaves': 32,
'metric': 'rmse',
'colsample_bytree': 0.1,
'subsample': 0.8,
'seed': 0,
'force_row_wise': True,
'device': 'gpu'
}
アンサンブルも試したが、target_teager2b_20がつよい。
ハマりポイント(Model uploadsについて)
公式のNotebookでは、関数の引数2つ必要と記載されているが、以前の仕様と変わってなさそうで、
現状は引数1個でOKっぽい(pd.DataFrame
のlive_features
を受け取る)。
Discussion