損益曲線は1本の経路

20勝20敗の戦略を考えます。勝ちと負けが交互に来る並びと、負けが前半に20回続く並びでは、最後の損益は同じでも、途中で耐える含み損と必要な資金がまったく違います。 バックテストで見えるのは、そのうち実際に起きた1本の並びだけです。

ここで大事なのは、過去に観測した最大ドローダウン(最大DD)は「起こり得る最大の損失」ではなく、「観測した1本の経路で一番深かった落ち込み」だということです。 最大DDとは、口座残高の山から次の谷までの下落幅のうち、最も大きいものを指します。 将来は別の並びになるので、観測値より深いDDも普通に起こります。同じことは勝率や平均損益にも言えます。どれも「その期間にたまたま起きた取引」から計算した推定値です。

損益曲線はたった1本の経路:全く同じ取引でも、順番次第で途中のDDは激変する 0 経路 1:勝ち負けが交互(DD浅く精神的に平穏) 経路 2:負けが前半に集中(大ドローダウンで破産退場!) 最終損益は全く同じ! 取引の順番(時系列) → バックテストの1本は「たまたまその順番で起きた」だけ。順序のシャッフルで潜在DDを評価せよ
中身が同じ取引でも、順番しだいで途中の落ち込みは変わる。バックテストで見えるのはそのうちの1本だけ

この回では、1本の経路から「ぶれ」を読み取る道具を4つ使います。平均の信頼区間(次の節)、再標本化(#resampling)、年ごとの一貫性(#consistency)、分布の形(#distribution)です。

サンプル数と信頼区間

平均損益、勝率、Sharpe(収益の平均を変動の大きさで割った値)は、どれも真の値ではなく推定値です。推定のぶれを示すのが95%信頼区間(95%CI)です。 おおまかに言えば「同じやり方で何度も検証し直したら、真の平均が入る範囲として95%の割合で当たる幅」で、取引数が多いほど狭く、1回ごとの損益のばらつきが大きいほど広くなります。

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
(参考)スキャルEA5分足で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回くり返した窓の割合を主な数字にし、取り上げる窓も結果を見る前に固定しています。

0 往復コスト 取引が少ない ゼロをまたぐ 取引が多く優位が大きい コストを引いても残る 取引が多く優位が小さい コストに飲まれる 1取引あたりの平均損益(コスト前)と95%信頼区間 →
区間の幅だけでなく、区間がどこにあるかを見る。3段目が高頻度スキャルEAの型で、狭い区間がコストの帯の中に収まっている(概念図)

もう1つ注意があります。信頼区間の計算は、取引どうしがおおむね独立であることを前提にしています。同じ相場局面の取引が固まって来る場合や、同じ日の取引を重ねて数える場合は、実際のぶれは計算より大きくなります。 この「固まり」が次の節の主題です。

再標本化で分かること・分からないこと

再標本化(リサンプリング)とは、手元のデータから取引を取り直したり並べ替えたりして、「起こり得た別の結果」を大量に作る方法です。代表的なものが2つあります。

どちらも「シグナルに優位があるか」は証明しません。優位の検査は比較対象(第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さんの最大DD:取引順序をシャッフルすると「負けが固まる性質」が消えてDDを甘く見積もる シャッフル95%点:2,394 実際の最大DD: 3,217 シャッフル想定を大幅突破! 1,500 2,000 2,500 3,200 pips 相場のドローダウンは独立したコイン投げではなく、相場環境の変化で「年単位で連続」して襲ってくる
取引の順番を混ぜると、負けが年単位で固まる性質が消える。実際の最大DD 3,217 pips は、シャッフルの95%点 2,394 pips を超えた(Bさん、2005〜2022年、往復0.4 pips)

理由は、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の確率を信頼できる形で見積もるには、それだけの手間をかける価値がある、という立場です。

観測した取引 (1本の経路) 1段目 あり得た別の組を 約1000組 2段目 各組から1000回 DDの確率を計算 確率そのものの ぶれが分かる 1段目=「手元の取引も偶然の一部」を反映 2段目=「将来の並び方」を反映 計算は約100万回。1段だけでは、極端なDDの確率を小さく見積もりやすい
二重ブートストラップの考え方。1段目で「手元の取引そのものが偶然の標本であること」を、2段目で「並び方のぶれ」を反映する
再標本化は万能ではない

再標本化で作れるのは、手元のデータに含まれる出来事の組み替えだけです。過去になかった制度変更、流動性の枯渇、業者の仕様変更は再現できません。 出てきた分布は「過去と似た仕組みが続く範囲」でのぶれです。最大DDの計画は、その分布の95%点に、ストレスの条件(コスト悪化・連敗の延長など)を足して考えます。

年別・局面別の一貫性

全期間の平均がプラスでも、その利益がどこから来たかは分かりません。毎年少しずつ稼いだのか、1〜2年の大勝ちで残りの負けを埋めたのかで、将来への期待はまったく違います。 そこで、年ごとの損益を並べます。

Bさんの年別損益(2005〜2026年、往復0.4pips):22年中14年がプラス 0 +1,000 -1,000 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ※ 損益が出る年と出ない年が数年単位で固まって訪れる。これが市場の「レジーム変化」の実態
Bさんの年別損益(往復0.4 pips)。年の表示は西暦の下2桁。22年中14年がプラス。損益が出る年と出ない年が固まって来る

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の損益は、この前提から外れることがよくあります。損切りと利確の置き方で形が歪み、指標発表や介入で大きな外れ値が出るからです。

厚い左の裾 点線:正規分布 実線:歪んだ損益の分布 ← 大きな損失 大きな利益 → 正規分布を前提にすると、左端の損失の起こりやすさを小さく見積もる
平均と標準偏差だけでは、左の裾の厚さは分からない。歪度・尖度・JB検定で形を確かめる(概念図)

ゴールドや指標時のFXは特に外れ値が出やすいので、平均と標準偏差に加えて、最大損失、分位点(下位1%や5%の損失)、週末をまたぐギャップも確認します。 このコースの実験でも、Aさん・Bさんのレポートには歪度・超過尖度・JB検定・Cornish–Fisher VaR・平均の95%CIを、コスト条件ごとに並べています。

成績指標の読み方

成績指標は、どれか1つで合否を決めるものではありません。それぞれが別の問いに答えます。

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 です。ほとんど価値のないシステムだと分かります。

0 建玉 決済 +1 保有中の上げ幅の合計 1001 / 下げ幅の合計 1000 決済単位のPF(10回とも同じ形) 10 ÷ 0 = 無限大 細かい粒度のPF 10,010 ÷ 10,000 = 1.001
Masters の例。保有中の揺れを見ない決済単位のPFは、取引の中の痛みとランダムさを隠す

決済単位の成績は、保有中の揺れを捨てています。同じ理由で、勝率の高さも保有中の含み損を隠します。 また 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 から報酬を受けて作ったことが開示されています。

4つの検査を実際に回し、ベンチマークに負けたことも隠さず示している点は、多くの宣伝的な検証より誠実です。そのうえで、この回の道具で読むと、言えることと言えないことが分かれます。

言えること言えないこと
この5年のSPYでは、日次収益の並び方に、このルールが拾った規則性があった(置換検定)その規則性が次の5年も続くこと。置換検定は「この期間の並びが偶然か」を問うだけで、持続性は問わない
利益は、相場全体の上昇だけでは説明できない(分解)勝率86%・PF約6という水準。44件では推定のぶれが大きく、n≥30をわずかに超える程度
観測した5年では、SPYより浅いDDで済んだ将来のDDが8%程度で収まること。1本の経路の最大DDで、しかもトレード数は44件
下落局面で強かった下落局面で強いという性質。局面で分けると、各局面の取引はさらに少なくなる

さらに3つの点を指摘できます。

  1. PF約6は決済単位の数字:保有中に前日高値を超えるまで持つルールなので、含み損を抱える時間があります。Masters 自身が勧めない決済単位のPFで、Masters の検査を紹介している形です。細かい粒度で計算し直すと、PFは下がる可能性があります。
  2. パターンを選んだこと自体が試行:Turnaround Tuesday は1980年代から知られるパターンです。多くの人が多くの曜日パターンを試した中で、「効いた」ものが有名になりました。ルールに最適化はなくても、パターンの選択には見えない試行が含まれます(第3回)。
  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つ選び、次の順で点検してください。

  1. 取引数と平均の95%CIを書く:n<30 なら「サンプル不足」と書いて終えます。n≥30 なら区間を出し、ゼロを含むか、コストの幅の中に収まっていないかを確かめます。
  2. 年別の損益表を作る:プラスの年の数と、最も稼いだ1年を除いたときの印象の変化を書きます。局面で分けるなら、分け方を先に決めます。
  3. 最大DDを分布で書く:取引順シャッフルの中央値と95%点を出し、観測値と比べます。観測値が95%点を超えたら、負けが固まる性質があると考え、月単位などのブロックで取り直します。
  4. PFを細かい粒度で計算し直す:足ごとの含み損益の変化で総利益・総損失を数え、決済単位のPFと並べます。
  5. 報告の冒頭に枠を作る:取引数、期待値、勝率、ペイオフ比、PF(決済単位と細かい粒度)、Sharpe、Sortino、Calmar、平均の95%CI、最大DDとその95%点、歪度、超過尖度、JB検定のp値。時間帯別の結果には、サーバー時刻とJSTを併記します。

やるべきこと/やるべきでないこと

やるべきことやるべきでないこと
信頼区間・年別成績・DDの分布を併記する1本の損益曲線と最大DDだけを示す
n<30 は「サンプル不足」と明記する少ない取引の勝率やPFを、実力の値として扱う
区間がコストの幅の中にないかを確かめる取引回数の多さだけで「有意だ」と安心する
負けの固まりを残す取り直し(ブロック単位など)を使う取引順シャッフルの95%点を、将来のDDの上限にする
PFを含み損益の細かい動きで計算する決済単位の勝率とPFだけで良し悪しを決める
歪度・尖度・JB検定で分布の形を確かめる正規分布を前提にVaRや区間を出して終える

チェックリスト

次の回に進む前に、以下を自分の言葉で説明できるか確認してください。

ミニテスト

最後に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だけの検証で、置換検定に通ったことから言えるのは?

置換検定は「その期間の並びが偶然か」を問うだけです。持続性、成績の水準、別の市場への転写は、別の検査と、より多くのデータが必要です。