Table of Contents
Train・Forward・Liveの性能を整理する
現在のモデルでは、1トレードあたりの理論上限は 11 pips/trade となる。
- TP(Take Profit):平均 11 pips
- SL(Stop Loss):平均 6 pips
なお、損益(pips)は、すべてリアルのAsk/Bid価格で計算しているため、スプレッドを含んだ数値である。
ここでいう各データは次のように定義している。
- Train(+Validation):モデルの学習・調整に使用したデータ
- Forward:Train・Validationに一切含まれない期間(現在Liveとして運用している期間)を用いた擬似Live評価
- Live:リアル口座での実運用結果
Train/Validation
学習データでは、
- Avg 10 pips/trade
まで到達している。
これは理論最大11 pipsに対して約91%であり、学習データに対しては十分に学習しきった状態と考えている。
なお、学習中はValidationデータで汎化性能を監視しており、Validationは概ね 2〜3 pips/trade で推移する。
ValidationはEarly Stoppingやモデル選択のための指標であり、本記事では最終的な一般化性能の評価には、Forwardデータを用いている。
Forward(擬似Live)
TrainおよびValidationには含まれない未知データ(直近Liveデータ)で評価すると、結果は次のようになる。
- 単体モデル:2〜3 pips/trade
- 20モデルアンサンブル:約4 pips/trade
単体ではTrainの20〜30%程度、20モデルアンサンブルでも約40%程度で頭打ちとなる。
モデル数をさらに増やしたり、学習Epochを増やしても改善は非常に小さく、Forward性能は4 pips/trade付近で飽和している。
Live運用
直近8週間のリアル売買結果では、
- Avg 2.89 pips/trade
となっている。
Forwardからはやや劣化するものの、実運用としては十分にプラスの結果となっている。
- Expectancy = 0.47R/trade
ExpectancyをR単位で評価すると、0.3~0.5R/tradeは実運用システムとして高い水準と考えられ、0.47R/tradeは十分に競争力のある結果と言える。
これは、1回のトレードごとに平均して初期リスク(1R)の約47%を利益として回収していることを意味する。
全体の性能比率
現在の結果を整理すると、次のようになる。
| データ | Avg pips/trade | 理論最大比 | Train比 | Forward比 |
|---|---|---|---|---|
| 理論最大 | 11.00 | - | - | - |
| Train | 10.00 | 90.9% | - | - |
| Forward | 4.00 | 36.4% | 40.0% | - |
| Live | 2.89 | 26.3% | 28.9% | 72.3% |
つまり、
- Trainは理論最大の約91%(モデルが学習データの特徴をほぼ学習し切った状態)
- Forwardは理論最大の約36%(未知データに対する一般化性能)
- Liveは理論最大の約26%(実際の取引環境を含めた実運用性能)
となる。
一方で、
- LiveはForwardの約72%を維持
しており、未知データで確認できたエッジの大部分は、実運用でも再現できている。
なぜForwardでは約40%で飽和するのか
Trainでは理論値近くまで学習できても、未知データでは同じ性能にはならない。
これはモデル性能というより、市場そのものが持つ不確実性によるものだと考えている。
代表的な要因として、
-
観測できない情報
- ニュース
- 注文フロー
- 大口参加者の売買
-
レジーム変化
- 市場構造が時間とともに変化する
-
有限サンプルによる偶然性
- 学習期間にしか存在しなかったパターン
-
ラベル自体の確率性
- 同じチャート形状でも結果が異なる
そう、同じチャート形状でも、結果が毎回異なる。それがFX市場だ。
これらは学習データだけでは完全に観測できないため、どれだけモデルを複雑にしても完全には取り除くことができない。
その結果、Forward性能はTrainの約40%付近に飽和している。
さらにLiveでは、スプレッドやスリッページ、約定タイミング、リアルタイムの市場変化といった実運用特有の要因が加わるため、Forwardよりも一定の性能低下が生じる。
これ以上、勝率を無理に上げようとすると、過学習の罠に陥り、ForwardやLiveの性能がかえって悪化する可能性が高い。
この比率が現在のベースライン
現在の結果は、
- Train:約91%
- Forward:約36%
- Live:約26%
という比率になっている。
私は、この比率そのものが現在のシステムのベースラインだと考えている。
今後改良を加えたとしても、それは数%から十数%程度の積み重ねになる可能性が高い。
Forwardが4 pips/tradeから6〜8 pips/tradeへ大きく飛躍するようなことは、金融時系列の性質を考えると現実的ではないだろう。
後日談として、2026/7/22に、Forwardが、6 pips/tradeになった。 SL幅がモデルの性能を落としていた
もちろん、この性能が将来も維持される保証はない。市場環境の変化によって、時間とともに徐々に劣化していく可能性もある。
それでも十分戦える
金融市場では、未知データに対して安定したプラスの期待値を維持し続けること自体が非常に難しい。
特に短期FXでは、スプレッドやスリッページなどの取引コストを差し引いた後でも利益を残さなければならず、期待値を維持するハードルはさらに高くなる。
現在のシステムでは、
- Forward:4.0 pips/trade
- Live:2.89 pips/trade
という結果を継続しており、未知データによる検証と実運用の両方でプラスの期待値を維持できている。
この程度が金融時系列における現実的な一般化性能の上限だったとしても、不思議ではないだろう。
それでも、この性能であれば十分に市場で戦えると考えている。