はじめに
「混同行列やROCは悪い。でも実際にトレードさせると、なぜかこのモデルだけ利益が出る――」
FXの自動売買AIを開発していると、こんな経験はありませんか?
本来、モデルの精度を表すべき評価指標が悪いのに、バックテストでは他より成績がいい。
今回は「指標が悪くても利益が出るモデル」は採用してよいのか?という疑問に答えながら、
機械学習評価とトレード成績のズレについて実例を交えて解説します。
評価指標が低いのに利益が出る?その理由とは
1. 精度と利益は一致しないことがある
評価指標(Accuracy / ROC-AUC / F1)は「クラス分類の正確さ」を測るものです。
一方で、トレードの世界で求められるのは「どれだけ利益を出せたか」です。
例えば以下のようなモデル:
特徴 | 内容 |
---|---|
ROC-AUC | 0.62(そこまで高くない) |
F1 | 0.51(2クラス分類でギリギリ) |
トレード成績 | プロフィットファクター1.8、ドローダウン低め |
このようなモデルは「当たる確率はそこそこでも、大きく動くときだけ正確に当てる」可能性があります。
つまり、損小利大型の予測になっているのです。
2. ラベルの設計と利益のズレ
あなたのモデルが「5分後に上がるかどうか」をラベルにしていたとしましょう。
でも実際には「1pips上がるか下がるか」でクラスが分かれていたら、
スプレッドや手数料に埋もれてしまう微小な変動しか予測していないかもしれません。
その一方で、評価が低かったモデルが「10pips以上動く局面のみ」を予測できていれば、
精度は低くても利益は大きく出る結果となります。
3. 偶然(まぐれ)や過学習の可能性もある
評価指標が悪く、特定の期間だけ利益が出ているモデルは要注意。
単にバックテスト期間に最適化されすぎているだけかもしれません。
Walk-Forward検証などで、複数の期間にまたがって安定した利益があるか確認が必要です。
実例:2つのモデル比較
モデル | ROC-AUC | F1 | PF | MaxDD |
---|---|---|---|---|
A(優等生) | 0.74 | 0.68 | 1.3 | -5.1% |
B(変わり者) | 0.61 | 0.49 | 1.9 | -3.2% |
Aは評価指標が良く、全体的に安定した予測。
一方、Bは指標上では「良くない」が、トレードでは驚くほど好成績。
このようなとき、Bモデルを即座に捨てるのではなく、「なぜ強いのか」を分析する価値があります。
結論:評価指標だけで判断せず、「利益」との整合性を検証すべき
最終的には以下のような選定プロセスをおすすめします:
- ROCやF1スコアで一定の基準を満たしたモデルを候補にする
- バックテストによるトレード評価(PF・WinRate・DD)を確認
- Walk Forwardやフォワードテストで汎化性能を確認
- まぐれではなく、戦略的に利益を出しているかを分析する
オンラインコミュニティ
こちらのコミュニティで、AIや機械学習をトレードに活かすために日々探求しています。
興味のある方は覗いてみてください。