ここからは、抽出された特徴量を用いて、実際に機械学習モデルを構築していきます。ここで使用するのが、非常によく使われている XGBoost(エックスジーブースト) です。
モデル選定の考え方
モデルを選ぶ際は、戦略の目的やデータの性質によって最適解が変わります。ここでは、よく使われる代表的なモデルとXGBoostを比較しながら、クオンツ運用におけるモデル選定の考え方を解説します。
XGBoost(エックスジーブースト)
- タイプ:決定木ブースティング(Gradient Boosting Trees)
- 長所:
- 非線形な関係性も学習可能
- 特徴量選別が自動で行える(重要度も可視化)
- 欠損値に強く、前処理が簡易
- 高精度・高速処理
- 短所:
- モデル構造が複雑で、解釈性が低い(ブラックボックス気味)
- 特徴量の「なぜ効くか」を理論的に説明しづらい
ロジスティック回帰
- タイプ:線形モデル(分類)
- 長所:
- 解釈性が非常に高い(係数で説明できる)
- 実装がシンプルで高速
- 短所:
- 線形前提のため、非線形な関係性に弱い
- 特徴量同士の交差関係や閾値的な動きは捉えにくい
ランダムフォレスト
- タイプ:アンサンブル決定木
- 長所:
- ノイズに強く、安定した予測性能
- 特徴量の重要度を明示できる
- 短所:
- 学習がやや重い(XGBoostより遅いことが多い)
- モデル構造の可視化が困難
ニューラルネットワーク(多層パーセプトロンなど)
- タイプ:ディープラーニング系
- 長所:
- 非線形性に非常に強い
- 高度なパターン認識が可能(大量の特徴量もOK)
- 短所:
- 過学習しやすく、調整が難しい
- クオンツ運用においては“ブラックボックス”すぎて敬遠されがち
モデルはどう選ぶ?
- 戦略が明確・解釈性重視:ロジスティック回帰
- 精度重視・多数の特徴量:XGBoost
- まずは堅実に様子見したい:ランダムフォレスト
- 高度な学習と最適化が可能な環境がある:ディープラーニング
XGBoostはこの中でも「特徴量が多いが、何が効いているかも知りたい」というニーズに非常にマッチします。したがって、 「まずは現実的に予測精度を上げたい」というケースでは、XGBoostが第一選択肢になるのです。
- 多くの特徴量を入れても自動で選別(特徴量重要度の評価)
- 過学習しにくく、汎用性が高い
- 非線形の関係もキャッチできる
- 予測の精度が高く、処理も速い
特に金融のように「何が効いているかがわかりにくいデータ」において、非常に相性が良いモデルです。
STEP4でやること(全体の流れと位置づけ)
このステップでは、実際にXGBoostモデルを使って、抽出済みの特徴量を機械学習モデルにかけて予測力を検証し、さらに“本当に使えるファクター”を絞り込むプロセスを進めていきます。
全体の流れをまとめると、以下のようになります:
- 特徴量を使った確率モデルを構築(今回はXGBoost)
- 構築したモデルの性能を評価(精度・AUC・F1スコアなど)
- 特徴量の重要度を可視化して、どれが効いているか確認
- この結果を元に、次のSTEP5でバックテストを開始する準備
つまり、ここは「予測すること」だけでなく、「本当に機能するファクターを選抜する工程」でもあります。
ここでは「何をするか」だけでなく「なぜそれをやるのか」を解説します。
※今回は XGBoost を中心に解説しますが、他のモデル(ロジスティック回帰やランダムフォレストなど)を使った分析方法についても、今後取り上げていく予定です。
1. XGBoostモデルの構築
まずは抽出された特徴量を使って、XGBoostという機械学習モデルを構築します。 XGBoostは「たくさんの特徴量から、自動的に最も重要な要素を選んで学習する」のが得意なモデルです。
- 入力データ:特徴量(ファクター)
- 正解データ:価格が上昇したかどうか(ターゲット)
これらを使って「価格が上がる確率を予測するモデル」を作成します。
2. 予測精度の評価
作成したモデルが、どれくらい正しく“上がるかどうか”を予測できるかを評価します。 使う指標には以下があります:
- 精度(Accuracy):予測が正しかった割合です。全体のうち「上がる・下がる」を当てられた割合を表します。
- AUC(エリア・アンダー・カーブ):0.5が完全なランダム、1.0に近いほど予測性能が高いです。「確率そのものが信頼できるか」を評価する指標です。
- F1スコア:Precision(適合率)とRecall(再現率)のバランスを取った指標。予測の当たり方に偏りがないかを確認できます。
これにより「モデルがどれだけ使えるか?」を定量的に判断できます。
3. 特徴量の重要度(Feature Importance)の可視化
どのファクターが、モデルの予測にどれくらい貢献しているかをグラフで確認します。 これにより、
- どの指標がもっとも“効いている”のか
- 逆にあまり意味がなかったファクターは何か
といった分析が可能になり、戦略の改良にもつながります。
4. 今後の改善ヒントを得る
特徴量の中に「効いていない」「逆に悪影響を与えている」ファクターがないかを検証します。 また、モデルが一部のパターンに過剰適応(=過学習)していないかもチェックします。
この段階で「どのファクターを残すか」「もっと良いファクターを追加するか」など、次の改善方針が見えてきます。
実例:モデル評価と結果の解釈
ここでは、XGBoostモデルで予測した結果を評価するために使われる代表的な3つの指標を紹介します。
① Accuracy(正解率)
- 全体のうち、予測が「実際の上がる・下がる」にどれだけ当たったかの割合。
- 例:100件中60件が正しかった → Accuracy = 60%
② AUC(エリア・アンダー・カーブ)
- 確率予測の“信頼性”を測る指標。
- 値は0.5〜1.0の間で、0.5なら「完全ランダム」、1.0に近いほど予測精度が高い。
- 0.7以上が実務での合格ラインとされることが多いです。
③ F1スコア
- Precision(適合率)と Recall(再現率)のバランスを取った指標。
- 「正しく買いシグナルを出せたか」と「見逃しがなかったか」の両方を見ます。
今回のモデル評価結果(2因子特徴量での予測)
指標 | 結果 |
Accuracy | 0.5073 |
AUC | 0.5127 |
F1スコア | 0.5094 |
これらのスコアは、いずれも コイントス(ランダム予測)に近い水準 です。AUCが0.5をわずかに超えているだけで、予測モデルとしての有効性は非常に低いと言わざるを得ません。
結論:特徴量の再抽出へ
今回の2因子特徴量によるモデル構築では、ICテストでは一定のスコアを示していたものの、実際の予測結果では「方向性を捉える力」が弱いことが明らかになりました。
したがって、次のステップとしては:
- 新たな特徴量カテゴリの検討(トレンド系・ボラティリティ系・ロウソク形状など)
- ターゲットの再定義(より強い変動などを対象)
といった改善を含めて、STEP2:特徴量設計の再検討に戻ることを決定しました。
次回は、より精度の高い特徴量を設計し直し、再度ICテストを行っていきます。
次回もお楽しみに!