損益曲線は1本の経路
20勝20敗の戦略を考えます。勝ちと負けが交互に来る並びと、負けが前半に20回続く並びでは、最後の損益は同じでも、途中で耐える含み損と必要な資金がまったく違います。 バックテストで見えるのは、そのうち実際に起きた1本の並びだけです。
ここで大事なのは、過去に観測した最大ドローダウン(最大DD)は「起こり得る最大の損失」ではなく、「観測した1本の経路で一番深かった落ち込み」だということです。 最大DDとは、口座残高の山から次の谷までの下落幅のうち、最も大きいものを指します。 将来は別の並びになるので、観測値より深いDDも普通に起こります。同じことは勝率や平均損益にも言えます。どれも「その期間にたまたま起きた取引」から計算した推定値です。
この回では、1本の経路から「ぶれ」を読み取る道具を4つ使います。平均の信頼区間(次の節)、再標本化(#resampling)、年ごとの一貫性(#consistency)、分布の形(#distribution)です。
サンプル数と信頼区間
平均損益、勝率、Sharpe(収益の平均を変動の大きさで割った値)は、どれも真の値ではなく推定値です。推定のぶれを示すのが95%信頼区間(95%CI)です。 おおまかに言えば「同じやり方で何度も検証し直したら、真の平均が入る範囲として95%の割合で当たる幅」で、取引数が多いほど狭く、1回ごとの損益のばらつきが大きいほど広くなります。
- n<30:「サンプル不足」と明記し、信頼区間を採用判断に使いません。
- n≥30:平均損益の95%CIを出し、ゼロを含むなら「ゼロと区別できない」と書きます。
- 低頻度の戦略:長い期間が必要です。ただし期間を延ばすほど、相場の性質が変わる危険も増えます。
Aさん、Bさん、そして参考実験としてのスキャルEAの数字を並べます。単位はすべて「1取引あたりの平均pips」、条件は次の足の始値で約定・往復0.4 pipsのコストです(通常コスト)。
| やったこと | 取引数と平均 | 95%CI | 読み方 | |
|---|---|---|---|---|
| Aさん | 57,662通りから選んだ案を、検証期間(2017〜2022年)で見る | 190件、+3.55 | [−1.20, +8.30] | 平均はプラスだが、ゼロと区別できない |
| Aさん | 最終テスト(2023-01〜2026-07) | 163件、+5.61 | [−1.76, +12.98] | 平均は大きいが、区間はもっと広い |
| Bさん | 事前登録の1通りを探索期間(2005〜2016年)で見る | 1,893件、−0.14 | [−1.71, +1.42] | ゼロ付近。優位は見えない |
| Bさん | 最終テスト(2023-01〜2026-07) | 561件、+4.42 | [+0.39, +8.46] | 下限がゼロを上回る。ただし悪化コスト(往復1.0 pips)では下限 −0.21 |
| (参考)スキャルEA | 5分足で3,456通りから選んだ案を、学習期間(2025年)で見る(終値約定・コスト0) | 10,043件、+0.140 | 本文参照 | 回数は多いが、1回の優位はコスト0.4 pipsより小さい |
Aさんの最終テストの平均 +5.61 はBさんの +4.42 より大きく見えます。しかし取引数が163件しかないので、区間は [−1.76, +12.98] と広く、ゼロを含みます。 平均の大きさだけを比べると、この違いを見落とします。一方のBさんは、最終テストでは下限がゼロを上回りましたが、探索期間では12年分の1,893件で平均がゼロ付近でした。 どちらの数字も、1本の経路から出た推定値として、区間と一緒に読む必要があります。
回数が多ければ安心、ではない(高頻度スキャルEAの教訓)
第9回で取り上げたスキャルEAの窓(2025年で最適化し、2026年1〜6月に使う)では、学習期間に10,043回取引し、1回あたり +0.14 pips でした。回数が多いので、推定のぶれ自体は小さくなります。 実際、試行回数を隠して「1通りしか試していない(N=1)」と扱えば、次回で説明するDSRは 0.976 になり、ゼロとは区別できてしまいます。
問題は区間の幅ではなく、区間がある場所です。+0.14 pips という優位は、往復コスト0.4 pips よりも小さいのです。 同じ案を次の足の始値で約定させ、通常コストを入れると、学習期間の平均は −0.277 pips、運用期間の合計は −165 pips になりました。 区間がどれだけ狭くても、その区間がコストの幅の中に収まっていれば、口座に残る利益はありません。 取引回数の多いスキャルピングでは「統計的に有意」と「コストを払っても残る」は別の問いです(コストと約定の詳細は第9回)。
なお、このスキャルEAの実験(単発記事『テスターで勝てるスキャルEAが口座で崩れる理由』参照)は、検証者が事前に相場を見ていた影響を排除するため、買いと売りを対称にし、39回くり返した窓の割合を主な数字にし、取り上げる窓も結果を見る前に固定しています。
もう1つ注意があります。信頼区間の計算は、取引どうしがおおむね独立であることを前提にしています。同じ相場局面の取引が固まって来る場合や、同じ日の取引を重ねて数える場合は、実際のぶれは計算より大きくなります。 この「固まり」が次の節の主題です。
再標本化で分かること・分からないこと
再標本化(リサンプリング)とは、手元のデータから取引を取り直したり並べ替えたりして、「起こり得た別の結果」を大量に作る方法です。代表的なものが2つあります。
- 取引順のシャッフル(モンテカルロ):同じ取引の損益を並べ替えて、たくさんの損益曲線を作ります。最大DDや連敗の長さが、並び方しだいでどれくらい変わるかを見る道具です。
- ブートストラップ:観測した取引から、同じ数だけ重複を許して抜き出すことを何度もくり返し、平均やPFのばらつきを推定します。
どちらも「シグナルに優位があるか」は証明しません。優位の検査は比較対象(第10回)と置換検定(第12回)の仕事です。再標本化が答えるのは、「優位が本物だとして、どれくらい痛い経路があり得るか」です。
Bさんの例:シャッフルはDDを小さく見積もった
Bさんの2005〜2022年の取引(2,807件、平均 +0.42 pips)で、取引の順番を2000回シャッフルし、そのたびに最大DDを計算しました。 シャッフルした最大DDの中央値は 1,538 pips、95%点(2000回のうち上から5%の境目)は 2,394 pips でした。ところが、実際の最大DDは 3,217 pips で、95%点を超えました。
理由は、Bさんの負けが年単位で固まって来たからです(次の節の年別損益を見てください)。シャッフルは取引を1件ずつ独立に並べ替えるので、「悪い年には負けが続く」という性質を壊します。 その結果、負けが分散した穏やかな経路ばかりが作られ、大きなDDの確率が小さく出ます。 対策としては、月や年などのまとまり(ブロック)ごとに取り直す方法がありますが、ブロックの長さの選び方で結果が変わるので、ひとつの数字で安心しないことが大切です。
検証期間のトレードを「将来の代表」とみなす誤り(Masters)
統計学者で、トレーディングシステムの検証法の本を多く書いている Timothy Masters は、インタビュー(Better System Trader、2021年、37:06〜46:42)で、もっと根本的な問題を指摘しています。
未使用データ(アウトオブサンプル)で得た成績は、偏りのない(楽観にも悲観にも寄らない)推定です。しかし、偏りがないことは「正しい」ことではありません。 検証期間の取引は、起こり得た取引から無作為に抜き出された一部にすぎないので、ほぼ確実に楽観か悲観のどちらかにずれています。 それなのに「検証期間の取引の分布が、将来の取引の分布そのものだ」とみなして、その取引をシャッフルやブートストラップにかけ、「35%を超えるDDの確率は2%」のように計算するのは誤りだ、というのが Masters の主張です。 手元の取引自体がぶれた標本なので、将来は良い結果も悪い結果も、観測よりも極端な側に広がります。
本人の経験では、このやり方で計算した大きなDDの確率が、正しく計算した値より10倍以上小さく出た例があるそうです。たとえば「0.1%」と出た極端なDDの確率が、正しく計算すると「1%」だった、という桁のずれです。 破滅的なDDの確率が1桁ずれるのは、資金管理では受け入れられない誤差です。
Masters が挙げる対処の1つが二重ブートストラップです。元の取引からブートストラップで「あり得た別の取引の組」を作り、その組の中でさらに1000回ブートストラップしてDDの確率を計算する。これを1000組くり返します。 計算は100万回規模になりますが、破滅的なDDの確率を信頼できる形で見積もるには、それだけの手間をかける価値がある、という立場です。
再標本化で作れるのは、手元のデータに含まれる出来事の組み替えだけです。過去になかった制度変更、流動性の枯渇、業者の仕様変更は再現できません。 出てきた分布は「過去と似た仕組みが続く範囲」でのぶれです。最大DDの計画は、その分布の95%点に、ストレスの条件(コスト悪化・連敗の延長など)を足して考えます。
年別・局面別の一貫性
全期間の平均がプラスでも、その利益がどこから来たかは分かりません。毎年少しずつ稼いだのか、1〜2年の大勝ちで残りの負けを埋めたのかで、将来への期待はまったく違います。 そこで、年ごとの損益を並べます。
Bさんは探索期間(2005〜2016年)では12年中7年がプラスで、2006年と2008〜2011年は大きなマイナスでした。最終テスト(2023〜2026年)では4年すべてがプラスです。 全体では22年中14年がプラスですが、プラスの年とマイナスの年がそれぞれ固まっています。前の節でシャッフルがDDを小さく見積もったのは、この固まりのためです。
Aさんの最終テストは、年別に見ると 2023年 −2.3、2024年 +14.2、2025年 +4.4、2026年 +2.3(1取引あたりpips)で、4年中3年がプラスでした。 ただし、平均 +5.61 のかなりの部分を2024年が担っています。1年の出来事が全体の印象を決めている可能性を、年別の表で確かめられます。
2人の「やったこと/結果」
| やったこと | 結果 | |
|---|---|---|
| Aさん | 最良の1通りの損益曲線と、全期間の勝率・PF・Sharpe だけを報告 | 最終テストの年別は 3/4 年がプラスだが、2024年の +14.2 が平均を押し上げていた。報告からはそれが見えない |
| Bさん | 年別の損益、取引順シャッフルの最大DD分布、95%CIを並べて報告 | 負けが年単位で固まることが分かり、最大DDの計画をシャッフルの95%点より深く置く必要が分かった |
Sharpe の「安定性」を数字にする
全期間のSharpeが同じでも、毎年少しずつ稼ぐ戦略と、特定の局面だけで大きく稼ぐ戦略は同じではありません。 期間をずらしながら計算したSharpe(ローリングSharpe)を時系列に並べ、それが基準をどれだけ安定して上回るかを、自己相関も考えて測る指標が Sharpe Stability Ratio(SSR)で、2026年に提案されました。 SSRは「期間の中で成績が持続したか」を、次回のDSRは「たくさん試した中から選んだ偏り」を問う、別の指標です。数式は上級コースのSSRとnormalized SSRで扱います。
年別の表でも、局面別(円安局面・円高局面、ボラティリティの高低など)に分けて見るときは、局面の分け方を結果を見る前に決めます。結果を見てから「円安局面だけで使う」と決めれば、それは新しい試行です(第8回)。
正規分布を決めつけない
信頼区間やVaR(一定の確率で起こり得る損失の目安)の簡単な計算は、損益が正規分布(平均を中心に左右対称の釣り鐘形)に従うことを前提にしています。 FXの損益は、この前提から外れることがよくあります。損切りと利確の置き方で形が歪み、指標発表や介入で大きな外れ値が出るからです。
- log return を使う:価格の差ではなく、原則として log(Pt / Pt−1)(対数収益率)で計算します。複利で積み上げても足し算で扱えます。
- 歪度(わいど):分布の左右の偏り。マイナスなら、たまに大きな損失が出る形です。
- 超過尖度(せんど):裾の厚さ。プラスなら、正規分布より極端な値が出やすい形です。
- Jarque–Bera(JB)検定:歪度と尖度から、正規分布とみなせるかを検定します。p<0.05 なら、正規近似を使う箇所に注意書きを付けます。
- Cornish–Fisher VaR:歪度と尖度で補正したVaRです。正規分布のVaRだけでは、厚い裾の損失を小さく見積もります。
ゴールドや指標時のFXは特に外れ値が出やすいので、平均と標準偏差に加えて、最大損失、分位点(下位1%や5%の損失)、週末をまたぐギャップも確認します。 このコースの実験でも、Aさん・Bさんのレポートには歪度・超過尖度・JB検定・Cornish–Fisher VaR・平均の95%CIを、コスト条件ごとに並べています。
成績指標の読み方
成績指標は、どれか1つで合否を決めるものではありません。それぞれが別の問いに答えます。
- 期待値:1取引あたりのコスト後の平均損益。金額だけでなく、損切り幅を1とした倍数(R倍率)でも示すと、銘柄やロットの違いを比べやすくなります。
- 勝率とペイオフ比:ペイオフ比は平均利益÷平均損失。勝率が高くても、負けが大きければ期待値はマイナスになります。
- プロフィットファクター(PF):総利益÷総損失。1を超えれば、その期間は利益が損失を上回ったことを示します。少数の大勝ちで大きくなります。
- 最大ドローダウン(最大DD):残高の山から谷までの最大の下落。金額と率、回復までの日数を並べます。前の節のとおり、観測値は1本の経路の値です。
- Sharpe:平均収益÷収益の標準偏差。比べるときは、収益の頻度、年率化の方法、レバレッジをそろえます。
- Sortino:Sharpe の分母を、下方向の変動だけに置き換えたもの。
- Calmar:年率収益÷最大DD。深い落ち込みに対して、どれだけ稼いだかを見ます。
PF は含み損益の細かい動きで計算する(Masters)
Masters は同じインタビュー(46:42〜52:06)で、「PFは好きだが、非常に細かい粒度で計算した場合に限る。決済した取引の損益だけで計算するなら勧めない」と述べています。例はこうです。
ある取引が、保有中に上下へ大きく揺れ、上げ幅の合計が1001ポイント、下げ幅の合計が1000ポイント、差し引き +1 ポイントで決済されたとします。このような取引が10回あったとします。 決済した損益だけで計算すると、10勝0敗で総利益10、総損失0、PFは 10÷0 で無限大です。 ところが、保有中の含み損益の動きを細かい足ごとに数えると、総利益は10,010、総損失は10,000で、PFは 1.001 です。ほとんど価値のないシステムだと分かります。
決済単位の成績は、保有中の揺れを捨てています。同じ理由で、勝率の高さも保有中の含み損を隠します。 また Masters は、本人の経験では、さまざまな指標(純利益、1取引あたりの平均、アルサー指数など)の中で、学習期間と検証期間の成績の相関が最も高かったのが、細かい粒度で計算したPFだったと述べています。 ただし本人も認めるとおり、これは経験則であり、証明された性質ではありません。
PF、Sharpe、Calmar のどれも、期間・取引数・コスト・レバレッジで変わります。期間の違う戦略を数字だけで順位付けせず、期待値の信頼区間、DDの分布、歪度、取引数と一緒に読みます。 たくさん試した中から選んだ場合のSharpeの割り引きは、次回(第14回)で扱います。
事例批評:5年・44トレードで何が言えるか
公開されている検証を1つ読んでみます。YouTube チャンネル Unbiased Trading の動画「How I Optimized My Trading Strategies to Profitability (Like a Quant)」(2026年)です。 Masters の著書『Testing and Tuning Market Trading Systems』の4つの検査(感応度・置換・分解・比較対象)を、Turnaround Tuesday という古くから知られる曜日のパターンに当てています。 なお、動画の中で、データ提供元の Public から報酬を受けて作ったことが開示されています。
- ルール:米国株ETFのSPYを、木曜→金曜→月曜と2日続けて終値が下がったとき、月曜の終値で買う。終値が前日の高値を上回った最初の日に売る。
- データ:日足5年分(約1,255営業日)、SPYの1市場。
- 結果:44トレード、勝率86%、PF約6、Sharpe 1.24、市場にいた時間は約10%。5年の収益は約57%で、SPYの買い持ち(約73%)には負けた。最大DDは約8%(SPYは約25%)。
- 検査:日次収益をシャッフルした偽の相場1000本のうち999本に勝った(置換検定)。利益の約88%はルールの実力で、相場の上昇によるものではないと分解した。上昇局面ではSPYに大きく負け、下落局面では勝った。
4つの検査を実際に回し、ベンチマークに負けたことも隠さず示している点は、多くの宣伝的な検証より誠実です。そのうえで、この回の道具で読むと、言えることと言えないことが分かれます。
| 言えること | 言えないこと |
|---|---|
| この5年のSPYでは、日次収益の並び方に、このルールが拾った規則性があった(置換検定) | その規則性が次の5年も続くこと。置換検定は「この期間の並びが偶然か」を問うだけで、持続性は問わない |
| 利益は、相場全体の上昇だけでは説明できない(分解) | 勝率86%・PF約6という水準。44件では推定のぶれが大きく、n≥30をわずかに超える程度 |
| 観測した5年では、SPYより浅いDDで済んだ | 将来のDDが8%程度で収まること。1本の経路の最大DDで、しかもトレード数は44件 |
| 下落局面で強かった | 下落局面で強いという性質。局面で分けると、各局面の取引はさらに少なくなる |
さらに3つの点を指摘できます。
- PF約6は決済単位の数字:保有中に前日高値を超えるまで持つルールなので、含み損を抱える時間があります。Masters 自身が勧めない決済単位のPFで、Masters の検査を紹介している形です。細かい粒度で計算し直すと、PFは下がる可能性があります。
- パターンを選んだこと自体が試行:Turnaround Tuesday は1980年代から知られるパターンです。多くの人が多くの曜日パターンを試した中で、「効いた」ものが有名になりました。ルールに最適化はなくても、パターンの選択には見えない試行が含まれます(第3回)。
- 1市場・1期間:SPYの5年だけです。似た条件の別の市場や別の期間で、ルールを固定したまま同じ向きの差が出るかは確かめていません(第16回)。
動画の最後には「少額で少なくとも1か月ほど試す」という勧めがあります。この回の立場から付け足すなら、試す前に停止基準を決め、44件の過去の成績ではなく、区間とDDの分布を基準にすることです(第18回)。
よくある間違い
過去の最大DDを将来の上限にする
最大DDは観測した1本の経路の値です。Bさんのように、実際のDDが取引順シャッフルの95%点さえ超えることもあります。分布とストレスの条件を併記します。
取引順のシャッフルで「DDの確率」を出して安心する
シャッフルは負けの固まりを壊し、手元の取引を将来の代表とみなします。Masters の経験では、極端なDDの確率が10倍以上小さく出た例があります。ブロック単位の取り直しや二重ブートストラップを検討し、それでも出た数字を上限とみなしません。
取引回数が多いから信頼できると考える
回数が多いと区間は狭くなりますが、狭い区間がコストの幅の中にあれば意味がありません。第9回のスキャルEAは10,043回取引しても、1回の優位 +0.14 pips はコスト0.4 pips より小さかったのです。
決済単位の勝率とPFだけで判断する
保有中の含み損益を捨てた指標は、取引の中の痛みを隠します。Masters の例では、決済単位で無限大のPFが、細かい粒度では 1.001 でした。
実戦課題
自分の検証(または公開されている好成績)を1つ選び、次の順で点検してください。
- 取引数と平均の95%CIを書く:n<30 なら「サンプル不足」と書いて終えます。n≥30 なら区間を出し、ゼロを含むか、コストの幅の中に収まっていないかを確かめます。
- 年別の損益表を作る:プラスの年の数と、最も稼いだ1年を除いたときの印象の変化を書きます。局面で分けるなら、分け方を先に決めます。
- 最大DDを分布で書く:取引順シャッフルの中央値と95%点を出し、観測値と比べます。観測値が95%点を超えたら、負けが固まる性質があると考え、月単位などのブロックで取り直します。
- PFを細かい粒度で計算し直す:足ごとの含み損益の変化で総利益・総損失を数え、決済単位のPFと並べます。
- 報告の冒頭に枠を作る:取引数、期待値、勝率、ペイオフ比、PF(決済単位と細かい粒度)、Sharpe、Sortino、Calmar、平均の95%CI、最大DDとその95%点、歪度、超過尖度、JB検定のp値。時間帯別の結果には、サーバー時刻とJSTを併記します。
やるべきこと/やるべきでないこと
| やるべきこと | やるべきでないこと |
|---|---|
| 信頼区間・年別成績・DDの分布を併記する | 1本の損益曲線と最大DDだけを示す |
| n<30 は「サンプル不足」と明記する | 少ない取引の勝率やPFを、実力の値として扱う |
| 区間がコストの幅の中にないかを確かめる | 取引回数の多さだけで「有意だ」と安心する |
| 負けの固まりを残す取り直し(ブロック単位など)を使う | 取引順シャッフルの95%点を、将来のDDの上限にする |
| PFを含み損益の細かい動きで計算する | 決済単位の勝率とPFだけで良し悪しを決める |
| 歪度・尖度・JB検定で分布の形を確かめる | 正規分布を前提にVaRや区間を出して終える |
チェックリスト
次の回に進む前に、以下を自分の言葉で説明できるか確認してください。
- 損益曲線が「1本の経路」にすぎないこと
- 95%CIがゼロを含むときの意味と、n<30 の扱い
- 区間が狭くても、コストの幅の中にあれば意味がないこと(高頻度スキャルEAの例)
- 取引順シャッフルがDDを小さく見積もる理由(Bさんの 3,217 と 2,394)
- 検証期間の取引を将来の代表とみなす誤りと、二重ブートストラップの考え方
- 年別の損益を並べる理由と、局面の分け方を先に決める理由
- PFを細かい粒度で計算する理由(+1001/−1000 の例)
- 44トレード・1市場・5年の検証で、言えることと言えないこと
ミニテスト
最後に4問だけ確認です。不正解なら別の選択肢を選び直せます。正解すると解説が表示されます。
Q1. Bさんの実際の最大DD 3,217 pips が、取引順シャッフルの95%点 2,394 pips を超えた理由として正しいのは?
取引を1件ずつ独立に並べ替えると、悪い年に負けが続く性質が消え、穏やかな経路ばかりになります。再標本化は優位の有無を証明する道具でもありません。
Q2. 第9回のスキャルEAは、学習期間に10,043回取引し、1回あたり +0.14 pips でした。正しい読み方は?
回数が多いと推定のぶれは小さくなりますが、問題は区間の位置です。次足始値・通常コストでは、学習期間の平均は −0.277 pips でした。
Q3. Masters の例で、+1001/−1000 と揺れて +1 で決済する取引が10回あったとき、細かい粒度で計算したPFは?
決済単位では10勝0敗でPFは無限大ですが、保有中の動きを数えると10,010÷10,000=1.001で、ほとんど価値のないシステムです。
Q4. 5年・44トレード・SPYだけの検証で、置換検定に通ったことから言えるのは?
置換検定は「その期間の並びが偶然か」を問うだけです。持続性、成績の水準、別の市場への転写は、別の検査と、より多くのデータが必要です。