伝統的な数理ファイナンス、ミリ秒単位の攻防戦のアルゴリズム取引、で押さえたポイントを踏まえて、日経平均の予測に取り掛かります。
日経平均株価が上がるか下がるかを前日に知ることが出来れば、色々と良いことがあります。
※ テーマとしては面白いのですが、合算である上に、算出に株価換算係数や除数を使っている為、 まともに計算すると、複雑な因数分解を解くようなもので、普通はやりません。
例えば、1~3のような前日からの変動幅が大きい日に関しては、注視する必要があります。
2に関しては、一見、突発的な要因に見えますが、一週間ぐらい前から兆候が出ており、例年4月上期の季節性の変動とも重なっています。
等々、多角的に分析して、特徴量エンジニアリングの方向性を決めます。
機械学習を行う前に、データのクリーニングや正規化などを行い、AIが学習しやすいように整えます。
(前処理の一例)定常性について
統計的に分析可能な状態にする為には、データが平均と分散が時間によらず一定になっている必要があります。
日経平均価格の生データの定常性を拡張ディッキー・フラー(ADF)検定でチェックした結果、
Critical Value (1%): -3.4314109835286453
Critical Value (5%): -2.8620088595072937
Critical Value (10%): -2.567019571125975
ADF Statistic: 0.05479051498643435
p-value: 0.9628353914977755
P値(有意水準)が0.05より大きければ、非定常なデータなので、処理を加える必要があります。
予測対象データを定常化する方法
Differencing
単位根を持つ非定常データに有効な方法で、時系列の前の値との差(1次差分、2次差分等)を取ることで、データのトレンドを取り除く。
Log Transformation
元データに対して、自然対数や常用対数を取って、データの分散を安定させる。
Moving Average
移動平均を計算し、元データを平滑化することで、ノイズを減らす。
Seasonal Adjustment
季節成分を推定し、特定の周期成分を抽出して削除する。
Filtering
Hodrick-Prescott FilterやBaxter-King Filterなどを使って、トレンド成分と循環成分を分離し、データを平滑化する。
他、必要に応じて、標準化(StandardScaler)、スケール変換(MinMaxScaler)、ドロップアウト、正則化(L1, L2)を適時実行します。
このようにして、相関を確認しながら、予測に使えるデータを選定します。
目的変数は、明日の日経平均の終値と終値の変化率です。
リークを防ぐために、予測対象の値は除外しています。
説明変数は、移動統計量、テクニカル指標、ラグ特徴量、等などを使っています。
挑戦1回目
2025年8月6日
方法 VectorAutoregressionベースのアンサンブル学習
AI予測価格 40,652円
正解価格 40,794円
誤差 -142円
挑戦2回目 そのうち