対象銘柄を株と投資信託・ファンドの2グループに分け、株式市場と債券市場全体の値動きから個別銘柄の値動きを予測しました
[推定対象についての認識]
- 推定対象の銘柄には普通の「株」と投資信託・ファンド(以降、ファンド類)が混在している
- ファンド類には債券のみを投資対象にしたものが相当数ある(注1)
[株価(ファンド価格)予測についての主観的な前提]
- 大まかには、株の個別銘柄は株式市場の値動きにある程度は連動するはず
- ファンド類の値動きは株式市場の値動きと債券市場の値動きである程度は説明できるはず。ただし、それぞれの市場の値動きへの連動性は銘柄によって異なる
[方針]
- 株は"VTHR"、債券は"IEF"を市場全体の値動きのベンチマークにする(いずれもこのコンペの対象銘柄)
- 推定対象の銘柄を株とファンド類に分ける。分類の基準はcompany_list.csvでのSector定義の有無
- 株・ファンド類とも各週の対数収益率を目的変数としてモデル化する
- 直接対数収益率を予測するのはVTHR、IEFのみで、他の銘柄の対数収益率はこれらの予測値をインプットとして予測する
- 株は各銘柄の銘柄をプールして全銘柄共通のLightGBMのモデルにする(注2)。ただし、期間中1度でも株価が1ドルを下回ったことのある銘柄はtrainの対象から外す(注3)
- ファンド類は銘柄ごとのLinearRegressionのモデルにする
注1 他にも、REIT(不動産投資信託)やNameからは商品性が判断できないファンド等も結構ある。また、よく見るとSectorが定義されている銘柄の中にもこのような銘柄がある(キリがないので今回は無視)
注2 今思うと、LightGBMよりも、過学習しないような手法に持ち込んだ方がスッキリする
注3 株価があまりに低い銘柄は、市場全体の値動きとは無関係に、極端な値動きをしがちなため
[特記事項]
コンペ開催中に提出したファイルを作成したコードに誤りがあり、本来意図していなかった処理をしていました。誤りがあった個所は株の特徴量作成の部分です。
提出したファイル public:0.03756, private:0.03701
意図した通りに処理した結果 public:0.03774, private:0.03706
最終週のベンチマークリターン予測値 株(VTHR):0.654%, 債券(IEF):0.139%
0.0507 0.0510 0.0502 0.0508 0.0505
Total RMSE:0.0506