別の年・別の局面で見る

ルールに本物の理由があるなら、その理由が成り立つ条件のもとでは、どの年でも似た向きの差が出るはずです。逆に、全期間の利益が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を高ボラ局面とする」と決めると、ある日が高ボラかどうかの判定に、その日より後のデータが入ります。 運用中には使えない情報で分けているので、局面別の成績は運用では再現できません。

× 使わない例 全期間を見てから境目を決める(先読みの混入) 2005 2026 境目=全期間の上位3分の1(2026年までのデータで計算) 過去の日の判定に未来のデータが漏れる! ○ 使う例 その日の注文より前のデータだけで判定する 直前の一定期間データのみ 判定する日 局面決定 → 注文執行 2005 この先のデータは一切見ない
局面のラベルは、その日の注文より前に分かる情報だけで付ける。全期間の分位で付けたラベルは、運用中には作れない

局面で分けるときは、結果を見る前に次を書きます。

注文時点で分かる情報だけで局面を定義する考え方と、状態の数を増やしすぎる危険は、上級コースのレジームを事前情報で定義するで詳しく扱います。 なお、このコースのBさんの事前登録には局面別の検査を入れていなかったため、上の書き方は結果ではなく、次に検証するときの例として示しています。

別の通貨ペアへ転写する3手順

ある通貨ペアで見つけたルールを、別の通貨ペアに当てて確かめることを、このコースでは転写と呼びます。 転写先のデータは、ルールを作るときに一度も見ていないので、うまく使えば探索期間とは別の証拠になります。ただし、転写先は別の母集団です。取引の時間帯、参加者、値動きの大きさ、コストが違うので、「同じルールで動いた」だけでは何も言えません。 転写は次の3手順で行います。

1 部品ごとの確認 日・時刻・方向・入口 損切り・決済・フィルタ 転写先でも理由が 成り立つかを先に書く 2 比較対象との差 同じ日・同じ時刻で 方向だけ無作為(C1) 差 = ルール − 比較対象 ルールは固定したまま 3 既存戦略との相関 日次損益の相関 0.35〜0.43 (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さんが最終テストを開けた後に記述統計として計算しました。

Bさんのルール(固定)を3つの円クロスに当てた平均損益(pips/取引、±標準誤差) -4 -2 0 2 4 6 8 pips/取引 USDJPY EURJPY GBPJPY(大幅減衰に注意) -0.1 探索 +1.6 検証 +4.4 最終 +2.1 探索 +0.7 検証 +0.1 最終 +5.3 探索 +2.4 検証 +0.1 最終 探索期間で突出した成績(GBP +5.3)ほど、検証・最終テストでゼロ付近へ減衰する
GBPJPYは探索期間だけを見れば一番よく効いた通貨ペア(比較対象に p=0.006)。検証・最終テストでは消えた。「効いた通貨ペアだけ採用する」と、この減衰をそのまま引き受ける
通貨ペア期間取引数1取引平均(pips)標準誤差比較対象C1との差の p値
USDJPY探索 2005〜2016年1,893−0.140.80約0.05
EURJPY探索 2005〜2016年2,221+2.081.140.05
GBPJPY探索 2005〜2016年2,299+5.341.560.006
USDJPY検証 2017〜2022年914+1.571.020.10
EURJPY検証 2017〜2022年1,104+0.681.130.22
GBPJPY検証 2017〜2022年1,222+2.381.510.33
USDJPY最終テスト 2023-01〜2026-07561+4.422.060.062
EURJPY最終テスト 2023-01〜2026-07663+0.101.800.546
GBPJPY最終テスト 2023-01〜2026-07692+0.112.200.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行ずつ書きます。結果を見てから足した部品には印を付けます。
  2. 転写先と期間を先に決める:理由が成り立ちそうな通貨ペアを選び、その理由を書いてから、期間の分け方とコストの値を決めます。転写先のコストは、その通貨ペアの実際のスプレッドで決めます。
  3. 局面の定義を1つだけ書く:注文の時点で分かる情報だけを使った定義を1つ書き、なぜその局面で差が変わるはずかを添えます。
  4. ルールを固定して当てる:各通貨ペア・各期間・各局面で、取引数、平均、標準誤差、比較対象との差を表にします。1つも調整しません。
  5. 相関とNを書く:元の戦略との日次損益の相関を出し、この作業でNが増えたかどうか(結果を見て選んだか)を研究ログに書きます。

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

やるべきことやるべきでないこと
転写先ではルールを固定し、比較対象との差を見る転写先で条件を探し直して「効いた」と言う
試した通貨ペアをすべて記録し、Nに数える効いた通貨ペアだけを採用し、他を報告から外す
転写先ごとに部品の理由を書いてから当てるドル円の時刻や値幅の条件を、ゴールドなど遠い市場へそのまま持ち込む
転写先の実際のスプレッドでコストを決める元の通貨ペアのコストを当てた成績を、転写先の実力とみなす
局面は注文時点で分かる情報で、結果を見る前に定義する全期間の分位で局面を分ける、分け方を結果で選ぶ
元の戦略との日次損益の相関を確かめる通貨の名前が違うだけで、独立した証拠が増えたと考える
年別の成績で、利益が一部の年に集中していないかを見る全期間の平均だけで一貫性があると判断する

チェックリスト

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

ミニテスト

4問で確認します。不正解なら別の選択肢を選び直せます。正解すると解説が表示されます。

Q1. Bさんのルールを3通貨に当てると、探索期間ではポンド円が最もよく効きました(+5.34 pips、p=0.006)。ポンド円だけを採用した場合に起きたことは?

3通貨から一番良いものを選ぶのは、3通りの中から最良を選ぶ最適化と同じです。選ばれた1位には偶然の上乗せが乗っているので、その後の期間で縮みます。「効いた通貨ペアだけ採用する」は型3の選り好みです。

Q2. 転写先で、ルールの時刻と損切りを少し調整したら成績が良くなりました。正しい扱いは?

転写先の結果を見て何かを選んだ時点で、それは試行です。転写先のデータは「ルールを作るときに見ていないデータ」ではなくなり、別の証拠としての価値を失います。

Q3. 値動きの大きい局面と小さい局面に分けて成績を比べたい。局面の定義として適切なのは?

全期間の分位で分けると、過去の日の判定に未来のデータが入り、運用中には同じ分け方ができません。分け方を結果で選べば、それも試行です。

Q4. Bさんのルールの日次損益は、3通貨の間で相関0.35〜0.43でした。ここから言えることは?

3つとも円が絡み、同じ時間帯に取引するので、損益はある程度一緒に動きます。証拠としても、リスクの分散としても、通貨の名前の数ほどの価値はありません。