別の年・別の局面で見る
ルールに本物の理由があるなら、その理由が成り立つ条件のもとでは、どの年でも似た向きの差が出るはずです。逆に、全期間の利益が1〜2年に集中していたり、特定の相場つき(局面)でしか稼げていなかったりするなら、ルールが拾っているのは理由ではなく、その時期の偶然や相場の流れかもしれません。 期間をずらして見る方法は2つあります。
- 年で分ける:暦年ごとに損益を並べ、過半数の年で同じ符号が出るか、利益が一部の年に集中していないかを見る。
- 局面で分ける:円安の時期と円高の時期、値動きの大きい時期と小さい時期など、相場の性質で分けて比べる。
年で分ける:第13回のおさらい
年別の見方は第13回「年別・局面別の一貫性」で扱いました。要点だけ振り返ります。 Bさんは探索期間(2005〜2016年)では12年中7年がプラスで、2006年と2008〜2011年は大きなマイナスでした。最終テスト(2023〜2026年)では4年すべてがプラスで、全体では22年中14年がプラスです。プラスの年とマイナスの年が、それぞれ固まって来ています。 Aさんは、最適化の手順をウォークフォワードで繰り返すと、稼いだ年が円安の年(2012〜2014年と2022年)に集中していました(第15回)。最終テストでも、平均 +5.61 pipsのかなりの部分を2024年の +14.2 pipsが担っています。
局面で分ける:流れの向きが成績を決めていないか
年で固まって見える成績の裏には、たいてい局面があります。Bさんのルールは買いと売りを対称に扱いますが、探索期間を方向別に分けると、コストを入れる前で買い916件が +2.64 pips、売り977件が −2.76 pipsでした。 同じ保有時間帯にドル円が平均的に動いた幅は +2.67 pipsです。つまり、買いの勝ちと売りの負けは、ほぼその時間帯の相場の流れの大きさでした。 この状態で「円安局面だけで使えば勝てる」と結論すると、ブレイクの効果ではなく、流れを後から選んだだけになります。流れの影響を差し引くのが、同じ日・同じ時刻で方向だけを無作為にした比較対象(C1)です(第10回)。
局面の分け方は、注文の時点で分かる情報で先に決める
局面で分けるときに一番多い誤りは、全期間のデータを見てから分け方を決めることです。たとえば「全期間の値動きの大きさを3等分して、上位3分の1を高ボラ局面とする」と決めると、ある日が高ボラかどうかの判定に、その日より後のデータが入ります。 運用中には使えない情報で分けているので、局面別の成績は運用では再現できません。
局面で分けるときは、結果を見る前に次を書きます。
- 理由:なぜその局面でルールの効き方が変わるはずなのか。たとえばBさんの仮説なら「ロンドン勢の参加で注文が連鎖する」ので、値動きの大きい時期ほど差が大きいはず、と先に予想を書く。
- 判定に使う情報:注文の時点で分かるものだけにする。たとえば「前日までの20営業日の値幅の平均が、その前の1年間の中央値を上回るか」のように、直前までのデータで決まる定義にする。
- 局面の数:2〜3個にとどめる。細かく分けるほど、1つの局面に入る取引が減り、偶然の差が出やすくなる。局面ごとに取引数と95%信頼区間を書く。
- 試した分け方の数:分け方を何通りか試して一番差が出るものを選べば、それは新しい試行です(第8回)。
注文時点で分かる情報だけで局面を定義する考え方と、状態の数を増やしすぎる危険は、上級コースのレジームを事前情報で定義するで詳しく扱います。 なお、このコースのBさんの事前登録には局面別の検査を入れていなかったため、上の書き方は結果ではなく、次に検証するときの例として示しています。
別の通貨ペアへ転写する3手順
ある通貨ペアで見つけたルールを、別の通貨ペアに当てて確かめることを、このコースでは転写と呼びます。 転写先のデータは、ルールを作るときに一度も見ていないので、うまく使えば探索期間とは別の証拠になります。ただし、転写先は別の母集団です。取引の時間帯、参加者、値動きの大きさ、コストが違うので、「同じルールで動いた」だけでは何も言えません。 転写は次の3手順で行います。
1. 部品ごとに、転写先でも理由が成り立つかを確かめる
ルールを「日の選び方・時刻・方向・入口・損切り・決済・フィルタ」の部品に分け、それぞれが転写先でも意味を持つかを、結果を見る前に書きます。 Bさんのルールなら、東京時間(JST 9〜15時)のレンジ、ロンドン現地時刻 08:00〜10:00 のブレイク、レンジの中点の損切り、ロンドン 16:00 の決済です。 ユーロ円やポンド円にも東京時間のレンジはあり、ロンドン勢の参加はユーロやポンドではむしろ主役です。仮説の理由がそのまま当てはまりそうなので、転写先として筋が通ります。 一方、転写元で結果を見て足した曜日の除外や時間帯の調整は、転写先でも効く理由がありません。そうした部品は外して考えます。
コストも部品の1つです。このコースの転写では、3通貨ともドル円用の通常コスト(往復0.4 pips)をそのまま当てた記述統計を出しています。ユーロ円やポンド円のスプレッドは多くの業者でドル円より広いので、転写先の実際の成績はこの計算より悪くなる可能性があります。
2. 転写先の比較対象との差を測る
転写先でも、ルールの成績そのものではなく、比較対象との差を見ます。Bさんの場合は、同じ日・同じ約定時刻・同じ保有時間で、方向だけを無作為にしたC1です。 転写先の通貨ペアにも、その時間帯特有の流れがあります。ルールの平均がプラスでも、比較対象も同じくらいプラスなら、ルール固有の差ではありません。
3. 既存の戦略との相関を確かめる
転写先で差が出ても、元の戦略と損益が同じ日に同じ向きに動くなら、「別の証拠」としての価値も、組み合わせたときにリスクを分散する価値も小さくなります。 Bさんのルールを探索期間で3通貨に当てたときの日次損益の相関は、ドル円とユーロ円が0.35、ドル円とポンド円が0.35、ユーロ円とポンド円が0.43でした。 3つとも円が絡み、同じ時間帯に取引するので、ある程度一緒に動きます。3通貨で同じ向きの差が出ても、独立した3つの証拠にはなりません。通貨の名前が違うことではなく、損益の動きが違うことを確かめます。
FXの通貨ペアと金のCFD(XAU/USD)では、取引時間、契約仕様、主な参加者、金利やドルへの反応が違います。ドル円で見つけた時刻や値幅の条件を、そのままゴールドに当てはめる理由はありません。 転写先が遠い市場ほど、部品ごとの理由を一から書き直し、別の仮説として扱います。
転写とNの扱い
期間や通貨ペアをずらす検査は、やり方しだいで「壊す検査」にも「新しい探索」にもなります。分かれ目は、転写先の結果を見て何かを選んだかどうかです。 選んだなら、それは試行です。第3回で見たとおり、期間・通貨ペア・方向を選んだことも1回の試行に数えます。
| やったこと | Nの扱い |
|---|---|
| 事前に決めた通貨ペア・期間に、ルールを固定して当て、比較対象との差を記録するだけ | 選択をしない記述統計なのでN外。Bさんの転写はこれにあたる |
| 結果を見て「成績の良かった通貨ペアだけ使う」と決める | 比べた通貨ペアの数だけNに加える。選んだ通貨ペアの探索期間は、もう選ぶのに使ったデータになる |
| 転写先で時刻・損切り・決済を動かし、良い組み合わせを選び直す | 新しい探索。試した組み合わせの数をNに加え、転写先のデータは探索データとして扱う |
| 局面の分け方を何通りか試し、一番差が出る分け方を採用する | 試した分け方の数をNに加える |
転写先で条件を探し直すと、転写先のデータは「ルールを作るときに見ていないデータ」ではなくなり、別の証拠としての価値を失います。これは第4回の型3(成績の良いものだけを選ぶ選り好み)そのものです。 実行する前には、対象・期間・バリエーション数とNの変化を研究ログに書いておきます。
対象: EURJPY・GBPJPY 15分足 2005-01-01〜2016-12-31 1バリエーション(Bさんのルール固定)
事前登録との一致: 時刻はロンドン現地時刻、損切り・決済・コストもドル円と同じ
この実行で N_B は 1 → 1(選択をしない記述統計)
結果を見て通貨ペアを選ぶときは、比べた通貨ペアの数を N_B に加えるBさんのルールを EURJPY・GBPJPY に持っていく
Bさんは、事前登録したルールを1か所も変えずに、ユーロ円とポンド円の15分足へ当てました。期間の分け方はドル円と同じ(探索 2005〜2016年、検証 2017〜2022年、最終テスト 2023年1月〜2026年7月)で、約定は次の足の始値、コストは往復0.4 pipsです。 探索期間と検証期間の転写は最終テストの前に、最終テスト期間の転写は、Bさんが最終テストを開けた後に記述統計として計算しました。
| 通貨ペア | 期間 | 取引数 | 1取引平均(pips) | 標準誤差 | 比較対象C1との差の p値 |
|---|---|---|---|---|---|
| USDJPY | 探索 2005〜2016年 | 1,893 | −0.14 | 0.80 | 約0.05 |
| EURJPY | 探索 2005〜2016年 | 2,221 | +2.08 | 1.14 | 0.05 |
| GBPJPY | 探索 2005〜2016年 | 2,299 | +5.34 | 1.56 | 0.006 |
| USDJPY | 検証 2017〜2022年 | 914 | +1.57 | 1.02 | 0.10 |
| EURJPY | 検証 2017〜2022年 | 1,104 | +0.68 | 1.13 | 0.22 |
| GBPJPY | 検証 2017〜2022年 | 1,222 | +2.38 | 1.51 | 0.33 |
| USDJPY | 最終テスト 2023-01〜2026-07 | 561 | +4.42 | 2.06 | 0.062 |
| EURJPY | 最終テスト 2023-01〜2026-07 | 663 | +0.10 | 1.80 | 0.546 |
| GBPJPY | 最終テスト 2023-01〜2026-07 | 692 | +0.11 | 2.20 | 0.822 |
標準誤差は平均の推定のぶれの大きさで、平均からその約2倍を引いた値と足した値が、おおまかな95%信頼区間になります。 p値は、比較対象C1(方向だけ無作為)を何百回か作って、ルールがそれを上回った度合いから出したものです。無作為に作る回数によって少し揺れます。最終テスト期間の転写はC1を500回作った値で、1000回作ったBさんの本判定(第17回)では、ドル円は p=0.084 でした。
読み方1:探索期間で選べば、ポンド円を選んでいた
探索期間だけを見ると、ポンド円は平均 +5.34 pips、比較対象との差の p値 0.006 で、3通貨の中で一番はっきり効いていました。ドル円は −0.14 pipsでゼロ付近です。 ここで「このルールはポンド円向きだ」と考えてポンド円だけを採用していたら、検証期間では +2.38 pips(p=0.33)、最終テストでは +0.11 pips(p=0.822)と、差はほとんど消えていました。 3通貨のうち一番良かったものを選ぶのは、3通りの中から最良を選ぶ最適化と同じです。第14回で見たとおり、選ばれた1位には偶然の上乗せが乗っています。
読み方2:通貨ペアをまたいで同じ向きの差は出なかった
本物の理由が通貨ペアをまたいで働いているなら、3通貨で、少なくとも同じ向きの差が続くはずです。実際には、探索期間ではポンド円とユーロ円が良くドル円がゼロ付近、最終テストではドル円だけが良くユーロ円とポンド円はゼロ付近でした。 どの期間でも3通貨がそろって比較対象を上回る形にはならず、転写は「ロンドン勢の参加で東京レンジのブレイクが続く」という仮説を強める証拠にはなりませんでした。 しかも3通貨の日次損益の相関は0.35〜0.43で、もともと独立した3つの試験ではありません。
読み方3:後から「ドル円だけの理由」を作らない
最終テストでドル円だけが良かったのを見て、「ドル円には特別な事情があるから、このルールはドル円専用だ」と説明を足したくなるかもしれません。 しかし、その説明は結果を見た後に作ったものです(第5回の後付けと同じ形)。転写の結果を受けても、Bさんの判定は事前に決めたとおり「保留」のままで、転写の表は研究ログにそのまま残します。 ドル円専用だと考える理由があるなら、それを新しい仮説として書き、新しいデータで確かめます。
2人の「やったこと/結果」
| やったこと | 結果 | |
|---|---|---|
| Aさん | 探索期間の全体の成績だけで判断し、年や局面に分けて見なかった | 稼いだ年は円安の年(2012〜2014年、2022年)に集中していた。最終テストも2024年の +14.2 pipsが平均を押し上げた |
| Bさん | ルールを固定したまま、3通貨×3期間で比較対象との差を記録した | 探索期間で一番効いたポンド円は、検証・最終テストで差が消えた。転写は仮説を強めず、判定は保留のまま |
なお、第9回で扱った高頻度スキャルEAの39回(学習1年→運用6か月)も期間をずらす検査そのものでした。1回の結果ではなく「39回中何回崩れたか」で読むことで、たまたま悪い期間を選んだという言い訳を排除しています。
よくある間違い
「効いた通貨ペアだけを採用する」
いくつかの通貨ペアで試して、成績の良かったものだけを運用するのは、第4回の型3(選り好み)そのものです。Bさんのルールでは、探索期間で一番効いたポンド円(p=0.006)が、検証期間で p=0.33、最終テストで p=0.822 まで弱まりました。 試した通貨ペアはすべてNに数え、結果の悪かった通貨ペアも研究ログに残します。
「同じパラメータで動いたから、再現できた」
転写先で平均がプラスでも、その時間帯の一般的な流れを拾っただけかもしれません。同じ日・同じ時刻の比較対象との差を見て、初めてルール固有の差と言えます。
「転写先に合わせて少し調整したら効いた」
転写先で時刻や損切りを動かして選び直した時点で、転写ではなく新しい探索です。試した組み合わせをNに加え、転写先のデータは探索データになります。調整後の成績を、元のルールの裏付けとして使うことはできません。
「結果を見てから局面を分ける」
全期間のデータで境目を決めたり、何通りか分け方を試して一番差が出るものを選んだりすると、局面別の成績は運用では再現できません。局面は、注文の時点で分かる情報で、結果を見る前に定義します。
実戦課題
自分のルールを1つ選んで、次の順に作業してください。
- 部品表を作る:ルールを「日の選び方・時刻・方向・入口・損切り・決済・フィルタ・コスト」に分け、各部品の理由を1行ずつ書きます。結果を見てから足した部品には印を付けます。
- 転写先と期間を先に決める:理由が成り立ちそうな通貨ペアを選び、その理由を書いてから、期間の分け方とコストの値を決めます。転写先のコストは、その通貨ペアの実際のスプレッドで決めます。
- 局面の定義を1つだけ書く:注文の時点で分かる情報だけを使った定義を1つ書き、なぜその局面で差が変わるはずかを添えます。
- ルールを固定して当てる:各通貨ペア・各期間・各局面で、取引数、平均、標準誤差、比較対象との差を表にします。1つも調整しません。
- 相関とNを書く:元の戦略との日次損益の相関を出し、この作業でNが増えたかどうか(結果を見て選んだか)を研究ログに書きます。
やるべきこと/やるべきでないこと
| やるべきこと | やるべきでないこと |
|---|---|
| 転写先ではルールを固定し、比較対象との差を見る | 転写先で条件を探し直して「効いた」と言う |
| 試した通貨ペアをすべて記録し、Nに数える | 効いた通貨ペアだけを採用し、他を報告から外す |
| 転写先ごとに部品の理由を書いてから当てる | ドル円の時刻や値幅の条件を、ゴールドなど遠い市場へそのまま持ち込む |
| 転写先の実際のスプレッドでコストを決める | 元の通貨ペアのコストを当てた成績を、転写先の実力とみなす |
| 局面は注文時点で分かる情報で、結果を見る前に定義する | 全期間の分位で局面を分ける、分け方を結果で選ぶ |
| 元の戦略との日次損益の相関を確かめる | 通貨の名前が違うだけで、独立した証拠が増えたと考える |
| 年別の成績で、利益が一部の年に集中していないかを見る | 全期間の平均だけで一貫性があると判断する |
チェックリスト
次の回に進む前に、以下が自分の言葉で説明できるか確認してください。
- 期間や通貨ペアをずらしたときに、本物の理由があれば「同じ向きの差」が出るはずだということ
- 局面の分け方を、注文時点で分かる情報で先に決める理由
- 転写の3手順(部品ごとの確認・比較対象との差・既存戦略との相関)
- 転写先で結果を見て何かを選ぶと、Nが増えること
- Bさんのルールで、探索期間に一番効いたポンド円が検証・最終テストで消えたこと
- 日次損益の相関が0.35〜0.43の3通貨は、独立した3つの証拠にならないこと
ミニテスト
4問で確認します。不正解なら別の選択肢を選び直せます。正解すると解説が表示されます。
Q1. Bさんのルールを3通貨に当てると、探索期間ではポンド円が最もよく効きました(+5.34 pips、p=0.006)。ポンド円だけを採用した場合に起きたことは?
3通貨から一番良いものを選ぶのは、3通りの中から最良を選ぶ最適化と同じです。選ばれた1位には偶然の上乗せが乗っているので、その後の期間で縮みます。「効いた通貨ペアだけ採用する」は型3の選り好みです。
Q2. 転写先で、ルールの時刻と損切りを少し調整したら成績が良くなりました。正しい扱いは?
転写先の結果を見て何かを選んだ時点で、それは試行です。転写先のデータは「ルールを作るときに見ていないデータ」ではなくなり、別の証拠としての価値を失います。
Q3. 値動きの大きい局面と小さい局面に分けて成績を比べたい。局面の定義として適切なのは?
全期間の分位で分けると、過去の日の判定に未来のデータが入り、運用中には同じ分け方ができません。分け方を結果で選べば、それも試行です。
Q4. Bさんのルールの日次損益は、3通貨の間で相関0.35〜0.43でした。ここから言えることは?
3つとも円が絡み、同じ時間帯に取引するので、損益はある程度一緒に動きます。証拠としても、リスクの分散としても、通貨の名前の数ほどの価値はありません。