バックテストのPFは年ごとにどれだけ変わる?6設定×11年(66戦略年)で検証

66戦略年の年別PFが0.26から2.07まで動いたことを示すアイキャッチ画像 統計トレード攻略
USDJPYのTDS系M5データを6設定×11年で見たとき、年別PFが0.26〜2.07まで動いたことをまとめたアイキャッチ画像です。
一次データ検証

全期間PFが良く見えると、その数字だけで安心したくなります。ですが、同じ検証でも年ごとに切って見ると、勝ちやすい年と苦しい年がかなり混ざります。今回はUSDJPYのTDSから取得したM5データを6設定×11年に分け、全期間PFでは見えにくい「年ごとの顔つき」を見直しました。

先に結論

  • 66戦略年の年別PFは、表示値で 0.26〜2.07 まで動きました。
  • 32/66 は PF1.0未満で、毎年安定して勝てたわけではありません。
  • 全期間PFが良くても、年別に分けると「どこで崩れるか」の印象は大きく変わります。
66戦略年の年別PFが0.26から2.07まで動いたことを示すアイキャッチ画像
同じ11年間でも、設定を変えて年別に切り分けるとPFの見え方はかなり変わります。
みか

みか

全期間PFが良ければ、毎年そこそこ安定していると思っていました。年ごとにそんなに違うんですか?

たくや

たくや

合計の数字が強いなら、途中の波は平均化されている印象があります。あえて年別で見る意味が気になります。

るなまる

るなまる

そこが今回の確認ポイントです。合計では目立たない崩れ方が、年別だとかなり見えることがあります。

1. 全期間PFが良くても、毎年勝てるとは限らない

PFは「利益の合計 ÷ 損失の合計」で見る指標です。1.0を上回れば利益合計が損失合計を上回り、1.0を下回れば逆です。ただし、これは「どの期間をまとめた数字か」で印象が大きく変わります。

たとえば、すごく強かった年が数年あれば、苦しかった年が混ざっていても全期間PFは見栄えがよくなります。逆に言うと、全期間PFが良いだけでは「毎年どのくらい崩れるか」は分かりません。

この記事で見たいこと

今回は「PFが高いか」より先に、年別に切ったときの揺れ幅と、PF1.0未満の年がどれだけ混ざるかを見ています。

2. 6設定×11年でPFはどれだけ変わった?

今回の観測値は 6設定×11年=66戦略年 です。その66件を並べると、表示用に丸めた年別PFは 0.26〜2.07 まで動きました。66件のうち 32件 は PF1.0未満、残り 34件 は PF1.0以上です。

つまり、年ごとに見ると「勝つ年」と「負ける年」がほぼ半々に近い形で混ざっています。全期間PFだけを見ていると、ここはかなり見落としやすい部分です。

66戦略年のPF分布を並べ、PF1.0未満が32件、PF1.0以上が34件であることを示した図
主役図。年別PFを1本ずつ並べると、PF1.0の線をまたいでかなり広く散らばります。

3. 「66戦略年」は66年間という意味ではない

ここは誤解しやすい点です。66戦略年は「同じ11年間を6種類の設定で評価したので、年別PFの観測値が66件ある」という意味です。相場データが66年間あるわけではありません。

初心者向けに言い換えると、同じ教科書を6人で解いたので答案が66枚ある、というイメージです。年数そのものが66年に伸びたわけではありません。

たくや

たくや

最初は年数そのものが長い話かと思いました。観測値が66件ある、という意味なんですね。

るなまる

るなまる

はい。2015年から2025年までの11年間を、6つの設定でそれぞれ年別集計した結果です。

みか

みか

年数が長い話ではなくて、同じ期間を切り方違いで見た数なんだ、と覚えておけば混乱しにくそうです。

4. 年ごとのPFを見ると何が分かる?

年別に分けると、「どの年に複数設定が同時に苦しかったか」が見えてきます。今回の66戦略年では、2017年は6設定中5設定がPF1.0未満でした。逆に、2018年と2020年は6設定中1設定だけがPF1.0未満で、相対的に崩れにくい年でした。

もうひとつ大事なのは、真ん中の位置です。66件の中央値は 丸めていない元の集計値で 1.007990、表示では 1.01 です。つまり「極端に悪いわけではないが、毎年余裕があるとも言いにくい」という分布でした。

6設定×11年のPFヒートマップ。行が6設定、列が2015年から2025年、各セルに表示PFを示した図
補足図。どの年に赤いセルが重なったかを見ると、全期間PFだけでは見えない苦手年が分かります。

5. バックテスト採用前に何を確認すればいい?

年別PFを見る目的は、数字を細かく知ること自体ではありません。実際に採用する前に、次の4点をセットで確認するためです。

  1. PF1.0未満の年が何件あるか
  2. 悪い年が特定の1年だけか、複数年に散っているか
  3. 年ごとの取引数が少なすぎないか
  4. 年別PFのあとに、OOSやデータ条件の違いでも崩れないか

年別PFだけで採用を決める必要はありませんが、全期間PFだけで決めるのは早すぎます。次の確認としては、ウォークフォワード/OOS長期データと直近データM1とリアルティックの3本が自然につながります。

みか

みか

PFの数字が1つ良いだけだと、安心材料としてはまだ薄いんですね。

るなまる

るなまる

はい。まず年別の散らばりを見て、そのあと別期間や別データでも崩れないかを重ねていく流れが安全です。

たくや

たくや

次のバックテストでは、PF1.0未満の年数と年ごとの取引数も一緒に控えるようにします。

6. 詳しい検証条件と年別PF

検証条件

  • データ:USDJPY / TDSから取得したM5 OHLCデータ
  • 期間:2015-01-01 22:00〜2025-12-31 21:55
  • バー数:820,078本
  • 合計取引数:5,819取引
  • 集計単位:6設定×11年=66戦略年
  • 欠損年、取引ゼロ年、PF算出不能年:なし
  • コスト前提:固定0.5pipsを約定価格へ反映済み。ただし、変動スプレッド、滑り、手数料、約定拒否は再現していません。

6設定の大枠

  • Tokyo ORB (current):東京序盤のレンジブレイクを基本にした現行設定
  • 1: 2nd Entry:初回の動きのあとに再進入も評価する派生設定
  • 2: Tokyo Late:東京時間の遅い時間帯まで見る派生設定
  • 3: London ORB:ロンドン序盤の値動きを対象にした設定
  • 4: Failed BO:ブレイク失敗後の戻りを扱う設定
  • 5: NY ORB:NY序盤の値動きを対象にした設定

非丸め値を元にした主要統計です。本文前半では読みやすさを優先して丸めた値を使っています。

指標補足
最小PF(非丸め値)0.263043表示では 0.26
第1四分位(非丸め値)0.816338第1四分位
中央値(非丸め値)1.007990表示では 1.01
平均(非丸め値)1.050456本文前半では出していない補足値
第3四分位(非丸め値)1.302448第3四分位
最大PF(非丸め値)2.073247表示では 2.07
PF<1.032件66戦略年中
PF>=1.034件66戦略年中

年別の取引数合計です。赤字件数は6設定中で数えています。

取引数PF1.0未満の設定数
2015581件4/6 が PF<1.0
2016603件2/6 が PF<1.0
2017534件5/6 が PF<1.0
2018488件1/6 が PF<1.0
2019388件4/6 が PF<1.0
2020429件1/6 が PF<1.0
2021359件4/6 が PF<1.0
2022591件3/6 が PF<1.0
2023637件3/6 が PF<1.0
2024596件3/6 が PF<1.0
2025613件2/6 が PF<1.0

設定ごとの取引数合計です。

設定取引数大枠説明
Tokyo ORB (current)1,625件東京序盤のレンジブレイクを基本にした現行設定
1: 2nd Entry695件初回の動きのあとに再進入も評価する派生設定
2: Tokyo Late945件東京時間の遅い時間帯まで見る派生設定
3: London ORB540件ロンドン序盤の値動きを対象にした設定
4: Failed BO1,473件ブレイク失敗後の戻りを扱う設定
5: NY ORB541件NY序盤の値動きを対象にした設定

以下は6設定ごとの年別PF一覧です。表示用PFは2桁、非丸め値のPFです。

Tokyo ORB (current)

東京序盤のレンジブレイクを基本にした現行設定

PF(表示)が1.00未満の年は赤寄りで表示しています。

取引数PF(表示)PF(非丸め値)
20151621.191.193838
20161741.391.392821
20171530.900.895817
20181421.201.203193
20191060.840.837863
20201181.321.319289
2021880.900.901373
20221791.301.303092
20231750.950.953904
20241571.611.605214
20251711.501.501600

1: 2nd Entry

初回の動きのあとに再進入も評価する派生設定

PF(表示)が1.00未満の年は赤寄りで表示しています。

取引数PF(表示)PF(非丸め値)
2015641.051.045299
2016770.870.871460
2017670.770.771382
2018531.071.068392
2019420.710.705710
2020501.451.452055
2021310.740.743333
2022761.971.974555
2023751.421.415818
2024662.072.073247
2025941.121.121053

2: Tokyo Late

東京時間の遅い時間帯まで見る派生設定

PF(表示)が1.00未満の年は赤寄りで表示しています。

取引数PF(表示)PF(非丸め値)
20151030.870.869842
2016901.081.078140
2017760.800.797468
2018911.101.101413
2019870.860.856255
2020801.141.144837
2021770.610.606834
2022760.630.632092
2023920.630.632116
2024900.860.857101
2025831.621.620185

3: London ORB

ロンドン序盤の値動きを対象にした設定

PF(表示)が1.00未満の年は赤寄りで表示しています。

取引数PF(表示)PF(非丸め値)
2015580.420.421076
2016391.271.267692
2017471.491.485129
2018450.450.450032
2019360.450.450728
2020501.481.483045
2021490.860.863636
2022541.351.354593
2023521.461.458040
2024620.900.895959
2025480.680.684390

4: Failed BO

ブレイク失敗後の戻りを扱う設定

PF(表示)が1.00未満の年は赤寄りで表示しています。

取引数PF(表示)PF(非丸め値)
20151400.810.809163
20161700.900.904374
20171370.730.725429
20181191.071.072299
2019831.011.009088
2020931.011.006892
2021691.021.019500
20221560.860.864638
20231730.850.852317
20241650.880.875175
20251680.720.720809

5: NY ORB

NY序盤の値動きを対象にした設定

PF(表示)が1.00未満の年は赤寄りで表示しています。

取引数PF(表示)PF(非丸め値)
2015540.680.675062
2016531.371.365150
2017540.950.952273
2018381.281.282710
2019341.211.209888
2020380.410.412483
2021451.301.300515
2022500.260.263043
2023701.651.646400
2024561.221.223239
2025491.781.778726

7. この検証結果を見るときの注意点

  • これは「年別PFがどう散らばるか」を見る検証で、将来の利益を保証するものではありません。
  • 固定0.5pipsは反映していますが、変動スプレッド、滑り、手数料、約定拒否は再現していません。
  • 6設定の細かな売買条件を比較する記事ではなく、年別分布の読み方に焦点を当てています。
  • 66は暦年ではなく、6設定×11年の観測値です。

8. FAQ

Q. 全期間PFが良ければ、その戦略は安定していると言えますか?

A. 言い切れません。今回は66戦略年のPFを並べると0.263043〜2.073247まで広く動き、32件はPF1.0未満でした。全期間PFが良くても、年別に切ると苦しい年が複数含まれる場合があります。

Q. 66戦略年とは何ですか?

A. 同じ11年間を6種類の設定で評価したため、年別PFの観測値が66件あるという意味です。相場データが66年間あるという意味ではありません。

Q. 32/66は何を表していますか?

A. 66戦略年のうち、PFが1.0未満だった件数です。利益合計より損失合計の方が大きかった年が32件あった、という読み方になります。

Q. このPFは実運用でもそのまま出ますか?

A. そのままではありません。固定0.5pipsを約定価格へ反映していますが、変動スプレッド、滑り、手数料、約定拒否は再現していません。

9. まとめ|全期間PFだけで安定性を判断しない

今回の66戦略年では、年別PFが表示値で0.26〜2.07まで動き、32/66はPF1.0未満でした。全期間PFが良くても、毎年同じように勝てるとは限りません。

バックテストを見るときは、まず全期間PFで全体像をつかみ、そのあと年別PFで「どこで崩れるか」を確認する。この順番にすると、数字の見え方はかなり変わります。

たくや

たくや

次からは合計のPFだけでなく、負ける年の混ざり方まで見てから判断します。

みか

みか

良い数字に飛びつくより、苦しい年の姿を先に知るほうが安心ですね。

るなまる

るなまる

その視点があるだけで、バックテストの読み違いはかなり減らせます。

このシリーズの他の記事は、統計トレード攻略ガイドでまとめています。

この結果をバックテストの見直し方に使う

今回の結果を見ると、PFは年ごとにかなり変わりうる数字です。直近だけ、あるいは全期間の平均だけで判断せず、複数年でどのくらいブレるかを前提に見ておくほうが、手法やEAの見え方を整理しやすくなります。

次に確認するなら、期間を分けたあとでも傾向が残るかを見るOOS検証が自然です。年別のブレを見たあとに、別期間で確認する流れをつなげたい人は、OOS検証の記事を続けて見ると整理しやすくなります。

OOS検証のOOS検証を見る

10. るなまるの検証メモ

年別PFは、USDJPYのM5データを使い、6設定を11年に分けた66件の観測値で集計しました。PFは固定0.5pipsを約定価格へ反映した損益から算出しています。

ここでいう「66戦略年」は66暦年ではなく、「6設定×11年」の66件の観測値です。全期間のPFが良く見えても、年ごとに分けるとPF1.0未満の年が混ざるため、合計値だけで安定性を判断しないための検証です。

11. 次に読む記事

12. この記事を書いた人

るなまる

るなまる|データアナリスト

Python・統計を使ったFXの検証を2018年から継続。長期ヒストリカルデータをもとに、相場でよく聞く説やバックテスト結果を検証しています。
プロフィールはこちら

タイトルとURLをコピーしました