バックテストの勝率と過学習

バックテスト(過去チャートでルールを検証すること)の勝率が60%だったとしても、その数字をそのまま信じてよいとは限りません。そこには偶然、期間の偏り、条件の後付けが含まれます。勝率は結果ではなく、まず疑って検証する材料です。

この記事でわかること

  • バックテスト勝率に含まれる偶然が分かる
  • 過学習(過去データに合わせすぎて未来で崩れやすい状態)と選択バイアス(良かった結果だけを選んで実力以上に見える偏り)の違いが分かる
  • 数字を実戦に使う前の確認項目が分かる

1. 20回の勝率と200回の勝率は重みが違う

20回で14勝なら勝率70%です。しかしサンプルが少ないため、偶然の偏りが大きく含まれます。200回で140勝なら同じ70%でも信頼度は上がります。回数が少ない勝率ほど、たまたま良かった可能性を考える必要があります。

検証回数見かけの勝率注意点
20回70%偶然の偏りが大きい
50回62%まだ相場環境の偏りを受けやすい
200回57%かなり参考になるが、期間分散が必要
1000回54%ルールの性質が見えやすい

2. 過学習とは何か

過学習とは、過去データに合わせすぎて、未来では機能しにくくなる状態です。たとえば「火曜日の14時台、20EMA(直近価格を重視する移動平均線)の角度が何度以上、直近5本の形がこうなら入る」のように条件を細かくしすぎると、過去には合っても実戦では崩れやすくなります。

数字を良くするほど危険になることがある

条件を足すほどバックテストの勝率は上がることがあります。しかし、それは実力ではなく、過去に合わせ込んだだけかもしれません。

3. 選択バイアスにも注意する

複数のロジックを試して、一番良かったものだけを採用すると、実際より良く見えます。これは宝くじを100枚買って当たりに近い1枚だけを見せるようなものです。選んだ後の成績が本物かどうかを、別期間で確認する必要があります。

問題何が起きるか対策
サンプル不足偶然の連勝で勝率が高く見える最低でも複数期間で見る
過学習過去には強いが未来で崩れる条件を減らして単純にする
選択バイアス良かった検証だけが残る採用後に別期間で再検証する

4. 実戦で使う前の確認

見るべき数字

勝率だけでは不十分です。平均利益、平均損失、リスクリワード(損失に対してどれだけ利益を狙うかの比率)、最大連敗、最大ドローダウンをセットで見ます。勝率が低くても期待値(同じ条件を繰り返した時に平均して残る損益)が高い手法は存在します。

バックテストを実戦で使う時の考え方

バックテストは、知識として覚えただけでは結果に直結しません。大切なのは、実際のチャートで「使う場面」と「使わない場面」を分けることです。初心者ほど、覚えたものをすぐ全部の場面に当てはめようとします。しかし相場では、同じ形でも場所が違えば意味が変わります。

たとえば、よくある誤解は「一番良い数字だけを採用する」というものです。これは一見前向きに見えますが、判断の基準が曖昧になりやすい考え方です。実戦では、別期間でも崩れないか確認するという順番で考える方が安定します。

判断項目浅い見方実戦的な見方
根拠目についた理由だけで判断する複数の根拠が同じ方向を示すかを見る
タイミング今すぐ入れるかを見る待つ場所と無効化条件を先に決める
検証勝った負けたで評価する最大連敗、最大ドローダウン、平均損益を記録して傾向を見る

初心者がつまずきやすいポイント

初心者が一番つまずきやすいのは、1回ごとの結果でルールを変えてしまうことです。たまたま勝った場面を正解にし、たまたま負けた場面を間違いにすると、検証が積み上がりません。トレードは1回の正解探しではなく、同じ条件を何度も集めて傾向を見る作業です。

記録するときのコツ

記録には、エントリー理由だけでなく「なぜ見送らなかったのか」「どの条件が不足していたのか」も残します。あとで見返したとき、負けた理由が手法なのか、環境なのか、自分の操作ミスなのかを分けられるようにするためです。

練習方法

まずは過去チャートで20例だけ集めてください。勝ち例だけではなく、負け例と見送り例も同じ数だけ集めるのがポイントです。勝ちだけを集めると、その考え方が万能に見えてしまいます。負けや見送りを含めることで、どの場面では使わない方がよいかが見えてきます。

最初から完璧にしない

最初から複雑にしすぎると、続きません。まずはバックテストを1つの視点として使い、判断の前後で何が変わったかを記録します。記録できないルールは、実戦では再現しにくいと考えてください。

明日からの使い方

この記事の内容を実戦に移すときは、まず1つだけテーマを決めます。今回なら「バックテスト結果は、未来で使えるかを別期間で確認すること」です。あれもこれも同時に直そうとすると、結局どの判断が良かったのか分からなくなります。1週間だけ同じテーマで記録し、次の週に見返す方が上達は早くなります。

トレード前には、今日見る時間足、監視する価格帯、入らない条件を先に書きます。トレード後には、結果ではなく判断の質を振り返ります。勝ったけれどルール違反だったなら改善対象です。負けたけれどルール通りだったなら、すぐに変える必要はありません。

1回ごとの勝ち負けで判断しない

大切なのは、同じ基準を繰り返したときに資金が残るかどうかです。良い負けと悪い勝ちを分けられるようになると、トレードの見方がかなり変わります。

特に初心者のうちは、勝った日ほど反省が薄くなり、負けた日ほどルールを変えたくなります。しかし本当に見るべきなのは、エントリー前に決めた条件を守れたかどうかです。相場は毎回違う顔をしますが、自分の判断基準まで毎回変えると、検証ができなくなります。

補足:数字よりも再現性を見る

バックテストでは、勝った場面だけを見返すと手法が強く見えます。負けた場面を同じ熱量で見ることで、初めて実戦に使える条件が見えてきます。特に、連敗が起きた直前の相場環境、ボラティリティ(値動きの大きさ)、時間帯、指標の有無は必ず確認します。数字が良い手法より、悪くなる条件が説明できる手法の方が扱いやすいです。

そのため、記事を読んだあとにやることは、知識を増やすことではなく、同じ基準で記録を残すことです。最低でも20回分を集めると、勝ちやすい場面、負けやすい場面、そもそも入らなくてよかった場面が分かれてきます。ここまで見えてからルールを直すと、改善が感覚ではなく検証になります。

最後にもう一つ大切なのは、すぐに結論を出さないことです。数回の成功や失敗で判断せず、同じ基準を積み重ねてから見直すことで、偶然と実力を分けやすくなります。

過去問だけ完璧にした受験生

過学習(カーブフィッティング)は、過去問だけを丸暗記した受験生に例えると一発で分かります。去年の問題は満点でも、本番で初見の問題が出ると解けない。条件を細かく足してバックテストの勝率を上げる行為は、まさにこれ。「過去にだけ完璧に合う設定」は、未来という初見の問題ではあっさり崩れます。大事なのは過去問の点数ではなく、初めての問題にも通用する“考え方の型”が身についているかどうかです。

次に読むと理解が深まる記事

勝率の偶然性は勝率には偶然の結果が含まれる、AIで検証を補助する考え方はAIをトレード分析に使う正しい方法につながります。

← 記事一覧に戻る

記事へのリクエストや問い合わせはこちら

知りたいテーマ、記事の感想、相談したい内容があればLINEから送れます。

LINEで送る