カーブフィッティングは簡単に発生する
株やFX、先物取引で「過去に儲かった戦略」が、未来でも通用するとは限りません。
カーブフィッティング,つまり有意性のないトレードロジックを有意性があると誤認識する現象は,普通のバックテストだと下記のように簡単に発生します。
💡 実例的な違い(目安)
分析手法 | フィッティングのリスク | 実運用成績との乖離 |
---|---|---|
通常のバックテスト | 高い(70~90%が過剰最適化) | 大きく乖離しやすい |
ウォークフォワード分析 | 中~低(30~50%に減少) | 実運用に近い成績 |
※これは目安であり、戦略の複雑さや市場のノイズによって変動します。
この記事では、PythonとFlask、Optunaを使って、トレード戦略をウォークフォワード分析で検証できる無料Webアプリをご紹介します。
ウォークフォワード分析とは?
ウォークフォワード分析(Walk Forward Analysis)は、過去のデータを訓練期間とテスト期間に分けて、戦略の「本番での再現性」をチェックする方法です。
このアプリでできること
- ブラウザ上で簡単にパラメータ入力
- 戦略を自動で最適化(Optuna使用)
- 成績をリアルタイムで表示
- CSVに自動保存
実際の検証結果
前提条件
スタートの資産は1、損切りは価格の1/15、ポジションサイズは損切り時に資産が-5%になるように、スプレッドは価格の0.1%、日足、Long方向のみ。log10資産の最終値(青バー)、決定係数(オレンジバー)をグラフで出力している
エントリー&エグジット条件と検証結果
(1)Randomでのエントリー & Randomでのエグジット
実はこれだけでも勝てるという非常に重要な事実。当然通貨によるが。ちなみに為替は勝てないので除外している。

(2)Randomでのエントリー & Trailing stopエグジット
Trailing stop(ダウ理論)は非常に有意性がある という発見。~システムトレード 基本と原則(実践編)~ でも同様の結論だったため,信憑性はありそう。損小利大 is ジャスティス

(3)Golden crossのエントリー & Dead crossエグジット
意外といまいち。決済の回数が少ないのが原因か。

(4)RSIでのエントリー & エグジット
いまいち。決済の回数が少ないのが原因か。

(5)価格のバウンドでエントリー& Trailing stopエグジット
Close[i-k1]>Close[i] and Close[i]>Close[i-k1//3-1] でエントリー。とりあえず現状一番これがよい。なぜかはわからん。

使ってみる(無料)
まとめ
ウォークフォワード分析を通じて、より「実践で通用する戦略」を作ることが可能になります。 本アプリは、PythonとFlaskを用いた個人開発ですが、どなたでも自由にご利用いただけます