何を検証しているのか
ウォークフォワード分析とは、過去のある期間(学習窓)で最適化し、その直後の期間(検証窓)ではパラメータを固定して成績を記録する、という作業を、窓を少しずつ未来へずらしながら繰り返す検証です。 学習窓はIn-Sample(IS、選ぶのに使ったデータ)、検証窓はOut-of-Sample(OOS、選ぶのに使っていないデータ)とも呼びます。 実際の運用で「毎年1月に直近のデータで最適化し直し、その年はそのパラメータで回す」とした場合に、過去でどんな成績になったかを再現する方法だと考えると分かりやすいです。
ここで大事なのは、検証窓ごとに使われるパラメータが違うことです。2011年は2007〜2010年で選んだ設定、2012年は2008〜2011年で選んだ設定、というように毎回入れ替わります。 したがってウォークフォワードの成績は、ある1組のパラメータの成績ではありません。「学習窓で総pipsが最大の設定を選び、翌年に使う」という選び方(最適化の手順)そのものの成績です。 ウォークフォワードで良い結果が出ても、「今のパラメータが正しい」ことは示されません。示されるのは「この手順で選び直していけば、選んでいない期間でもある程度の成績が残った」ということだけです。
学習窓の動かし方には、主に2つの方式があります。
- ローリング(Rolling):学習窓の長さを一定にして、窓ごと前へずらします。古いデータは捨てていきます。相場の性質が変わっていくなら、直近に合わせやすい方式です。
- アンカード(Anchored、Expanding とも呼ぶ):学習窓の開始点を固定し、終わりだけを前へ伸ばします。学習に使うデータは年々増えます。相場の性質があまり変わらないなら、データが多い分だけ偶然に振り回されにくい方式です。
旧来の「データを前半と後半に分け、後半で1回確かめる」方法(第7回)と比べると、ウォークフォワードは検証窓が何本もあり、検証に使える年数が長くなる利点があります。 その代わり、1本の検証窓に対して「選び直す」判断が毎回入るので、検証しているものが「ルール」から「選び直すやり方」へ変わることを忘れないでください。 パラメータを持たない固定ルールには、ウォークフォワードで試すものがありません。この違いは後でAさんとBさんを並べるときに効いてきます。
手順:学習窓 → 検証窓 → ずらす → つなぐ
ウォークフォワードは、次の4つの手順を機械的に繰り返します。手順の中で人間が判断する場所をなくすことが、この方法の要点です。
- 学習窓で最適化する:決めておいた学習窓(例:直近4年)の中で、決めておいた基準(例:総pips最大、100トレード以上)に従って1つの設定を選びます。
- 検証窓ではパラメータを固定する:選んだ設定を、学習窓の直後の期間(例:次の1年)にそのまま当てて成績を記録します。検証窓の途中で設定を変えてはいけません。
- 窓をずらして繰り返す:決めておいた間隔(例:1年)だけ窓を前へ進め、1に戻ります。
- 検証窓の成績だけをつなぐ:最後に、各検証窓の成績を時系列の順に並べて1本の損益曲線にします。学習窓の成績は混ぜません。
ウォークフォワードの結果には、WFE(Walk Forward Efficiency、ウォークフォワード効率)という指標がよく添えられます。 検証窓の年平均の損益を、学習窓の年平均の損益で割った比です。1に近いほど「学習窓で見えた成績が、選んでいない期間でも残った」ことを、0に近いほど「学習窓の成績の大半は合わせ込みだった」ことを示唆します。 R. Pardo『The Evaluation and Optimization of Trading Strategies』が広めた指標で、目安として「0.5以上」がよく使われます。ただし次の章で見るように、WFEだけで手順の良し悪しは決まりません。
手順をコードで書くと、次のようになります。optimize と backtest は、それぞれの環境の最適化と検証の関数だと考えてください。読まなくても本文は理解できます。
# 事前に決める設定(結果を見てから変えない)
TRAIN_YEARS = 4 # 学習窓の長さ
TEST_YEARS = 1 # 検証窓の長さ=ずらす間隔
ANCHORED = False # True ならアンカード
FIRST_TEST, LAST_TEST = 2011, 2022
oos_results = [] # 検証窓の成績だけを入れる
for test_year in range(FIRST_TEST, LAST_TEST + 1, TEST_YEARS):
train_start = 2005 if ANCHORED else test_year - TRAIN_YEARS
train = data[(data.year >= train_start) & (data.year < test_year)]
test = data[(data.year >= test_year) & (data.year < test_year + TEST_YEARS)]
best = optimize(train) # 学習窓だけで選ぶ
result = backtest(test, params=best) # 検証窓ではパラメータを固定
oos_results.append((test_year, best, result))
# 報告は oos_results だけ。選ばれた best も年ごとに必ず残す最後の1行が大事です。検証窓ごとにどのパラメータが選ばれたかを必ず残してください。 合計の損益だけを見ても、手順が何を拾って稼いだのかは分かりません。選ばれた中身を並べると、次の章のように手順の正体が見えてきます。
Aさんの最適化手順を正直にウォークフォワードすると
Aさんは探索期間(2005〜2016年)で57,600通りのグリッドから総pipsが最大の設定を選び、フィルタを後付けし、検証期間(2017〜2022年)を12回見て乗り換えました(第7回、第8回)。 ここでは、Aさんの選び方(コスト0・終値約定の世界で、学習窓の総pipsが最大の設定を選ぶ)を学習窓ごとにやり直し、2011〜2022年の各1年を検証窓にしました。 学習窓はローリング2年・4年・6年と、2005年から伸ばすアンカードの4通りです。検証年の成績は、Aさんが見ていた世界(コスト0・終値約定)と、現実の条件の両方で記録しています。
| 方式 | 学習窓の年平均 | 検証年の年平均(Aさんの世界) | 検証年の年平均(現実) | 検証12年の合計(現実) | WFE | プラスの年 | 選ばれた方向 |
|---|---|---|---|---|---|---|---|
| ローリング2年 | 543 | 85 | 56 | +673 | 0.16 | 5/12 | 両方向10・買い1・売り1 |
| ローリング4年 | 489 | 157 | 131 | +1,573 | 0.32 | 7/12 | 両方向9・買い3 |
| ローリング6年 | 389 | 158 | 136 | +1,631 | 0.41 | 8/12 | 両方向7・買い5 |
| アンカード | 175 | 142 | 131 | +1,569 | 0.81 | 7/12 | 買い12 |
単位はpips。WFEは「検証年の年平均(Aさんの世界)÷ 学習窓の年平均」。検証年は2011〜2022年の12年。
この表から、少なくとも4つのことが読み取れます。
- 学習窓の成績は大きく目減りする:ローリング2年では、学習窓で年平均543 pipsに見えた成績が、検証年では85 pips(Aさんの世界)しか残りませんでした。WFEは0.16です。学習窓が短いほど学習の成績は高く、検証の成績は低くなっています。短い窓ほど、その2年だけの偶然に合わせ込みやすいからだと読めます。ローリング方式のWFEは0.16〜0.41で、よく使われる目安の0.5に届いた方式はありません。
- 窓の長さで結果が2倍以上変わる:同じAさんの手順なのに、12年の合計は +673(2年)から +1,631(6年)まで変わりました。もし4通りを試してから「6年が一番良いので6年で運用する」と決めたら、それは4通りの中から最良を選んだことになり、ウォークフォワードの一段上でまた最適化をしています。これをメタ過学習(選び方の選び方への合わせ込み)と呼びます。4通りを試したなら、4通りすべてを報告し、選んだ数をNに加えます(第8回)。
- WFEが高いことは、細部に価値があることを意味しない:アンカードのWFEは0.81と4方式で最も高く、一見「良い手順」に見えます。ところが選ばれた方向を見ると、12年すべてで「買いのみ」でした。アンカードは学習窓が長く、長い期間を通して一番稼げた設定は「ドル円を買う」ものになります。学習窓の年平均が175 pipsと小さいので、割り算の結果(WFE)が大きく出たのです。
- 稼いだ年は円安の年に集中している:どの方式でも、利益の大部分は円安が進んだ2012〜2014年と2022年に出ました。図でも、どの線もこの年に大きく上がり、それ以外の年は横ばいか下がっています。
4つ目は、第10回・第12回の結果とつながります。探索期間でAさんの手順を置換データ(年ごとの流れは残し、日中の並びを壊したデータ)にやり直させると、83%で「買いのみ」が選ばれ、実データの最良 +5,143 pips のうち約77%は置換データでも作れました(置換検定1の p = 0.155、第12回)。 ウォークフォワードの利益も、同じく「円安の年にドル円を買っていた」ことで大半が説明できる可能性が高く、東京レンジのブレイクという細部の実力を示すものではありません。 ウォークフォワードは「選び直しても成績が残るか」を教えてくれますが、「その成績が何から来たか」は比較対象(第10回)と組み合わせないと分かりません。
この実験の検証年2011〜2022年のうち、2011〜2016年は探索期間の中、2017〜2022年はAさんが12回見て乗り換えた検証期間です。 ウォークフォワードの「未使用」は、その年のデータを、その年に使う設定を選ぶ計算に使っていないという意味にすぎません。 研究者がその年のチャートや成績を見ていれば、窓の長さや選び方の基準に、その知識が入り込む余地があります(下の #leak で扱う「人間の漏れ」)。 ウォークフォワードは、封印した最終テスト(第17回)の代わりにはなりません。
高頻度スキャルEAの39回もウォークフォワードだった
第9回で取り上げたスキャルEAの開発手順は、直近1年の5分足で3,456通りを総当たりし、総pipsが最大の設定を次の6か月に使う、というものでした(第9回)。 これを2006年から6か月ずつずらして39回繰り返した記録は、形としては学習窓1年・検証窓6か月のローリング・ウォークフォワードそのものです。 なお、このスキャルEAの実験(単発記事参照)は、検証者が事前に相場を見ていた影響を排除するため、ルールは両方向・対称にし、39回の割合を客観的な指標とし、本文で取り上げる回(2025年で学習し2026年1〜6月に運用)を結果の前に固定しました。
テスターの上(シグナル足の終値で約定、スプレッド0)では、運用6か月がプラスになったのは39回中36回です。1取引あたりの平均(39回の中央値)も、学習期間 +0.258 pips に対して運用期間 +0.198 pips と、学習の成績がかなり残っているように見えます。 テスターの数字だけでウォークフォワードを評価すれば、「選び直しても崩れない、優秀な手順」と判定されるでしょう。
ところが、口座と同じ条件(次の足の始値で約定、往復コスト0.4 pips)で計算し直すと、運用がマイナスになった回は39回中31回、往復1.0 pipsでは39回すべてでした。 学習期間の成績でさえ、往復0.4 pipsでは39回中28回がマイナスで、はじめから取引できる優位ではありませんでした。 取り上げる回(2025年で学習、2026年1〜6月に運用)では、テスターの上の運用成績 +1,397 pips が、口座の条件では −165 pips(往復0.4)、−2,434 pips(往復1.0)になります。
ここから言えるのは、ウォークフォワードの数字も、約定とコストの前提しだいだということです。 ウォークフォワードは「選び直しても成績が残るか」を測る道具で、「その成績が口座で実現できるか」は測りません。 1取引の優位が0.1〜0.2 pipsしかない手順は、テスターの上で何回選び直しても、スプレッドで消えます。 参考として、同じ39回をはじめからコスト込みで選んだ場合(スキャルEA')は、運用の合計が −931 pips(スプレッド0選択では −23,637 pips)で大損は防げましたが、運用がマイナスの回は往復0.4 pipsで21回あり、1取引平均の中央値は学習 +0.565 → 運用 −0.299 pipsと、選んでいない期間でゼロ以下に戻る過剰最適化は残りました。
ここで、2人の「やったこと」と「ウォークフォワードで分かったこと」を並べておきます。
| やったこと | ウォークフォワードで分かったこと | |
|---|---|---|
| Aさん | 57,600通りから総pips最大を選ぶ手順を、学習窓4通りで2011〜2022年に回した | 12年合計 +673〜+1,631 pips。WFEはローリング0.16〜0.41、アンカード0.81。稼いだのは円安の年で、アンカードは12年すべて「買いのみ」を選んだ。細部の実力の証拠にはならない |
| Bさん | 事前登録した1通りに固定。パラメータを選び直さない | 選び直す手順がないので、ウォークフォワードで試すものがない。Bさんに必要なのは、期間と通貨ペアをずらす検査(第16回)と最終テスト |
再最適化の頻度をどう決めるか
ウォークフォワードでは「どのくらいの頻度で最適化し直すか」(検証窓の長さ)を先に決める必要があります。 短すぎれば手数が増え、学習窓の偶然にそのつど振り回されます。長すぎれば、相場の性質が変わった後も古い設定を使い続けます。
Timothy Masters は、Better System Trader のインタビュー(How to avoid trading strategies that degrade quickly、63:55〜67:08)で、この頻度を決める方法を紹介しています。 まず、学習した直後の1日先だけを検証窓にしたウォークフォワードを行い、成績を記録します。次に2日先まで、3日先までと検証窓を伸ばしながら同じことを繰り返し、横軸に「何日先まで予測したか」、縦軸に成績(PFなど)を描きます。 本人の経験では、この図には驚くほど頻繁に「膝」が現れるそうです。数日先まではほぼ平らに良い成績が続き、ある点から下がり始め、そこから急に落ちます。 たとえば10日先まではまだ良く、20日先では役に立たないなら、そのシステムが相場の変化に耐えられるのはその程度の期間で、それより前に見直し(再学習)が必要だ、という目安になります。 Masters 本人は「何度も見てきた」と述べ、いつもこれを行うよう勧めています(自動字幕からの要約です)。
この方法を使うときは、次の3点に注意してください。
- 探索期間の中だけで行う:膝を探す作業も「結果を見て選ぶ」作業です。検証や最終テストのデータで膝を探せば、そのデータは学習に変わります。
- 膝は間隔の上限の目安で、最適値ではない:膝の手前で一番成績の良い日数をピンポイントで選べば、また1点を選ぶ最適化になります。「膝より十分手前の、切りのよい間隔」を事前に決めるための情報として使います。
- 膝が見えないことも結果:1日先から成績が悪い、あるいはどこにも平らな部分がない場合、再最適化の頻度を調整しても救えません。手順そのものに優位がない可能性を先に疑います。
なお、このコースの実験では、Masters の方法(先読みの日数を伸ばす一連のウォークフォワード)は行っていません。行ったのは1年ごとの再最適化を学習窓4通りで比べることだけで、学習窓の長さと再最適化の頻度は別の軸です。 Aさんの例のように「学習窓の長さを変えると結果が大きく変わる」手順は、どの頻度を選んでも結果が不安定になりやすいと考えてください。
学習と検証の境界からの漏れ
ウォークフォワードは、学習窓と検証窓を時間で分けるので未来の情報が入らない、と思われがちです。 しかし境界の近くでは、検証期間の情報が学習に漏れ込む(リーク)ことがあります。これは第4回の型5「先読みとデータ漏洩」の一種です。 漏れを防ぐ考え方として、Purging(パージング)と Embargo(エンバーゴ)の2つがあります。
- Purging(取り除く):学習に使う取引のうち、結果が確定する時点が検証期間に入るものを学習から除きます。たとえば12月31日の夜に入って翌年1月に決済する取引は、成績が検証期間の値動きで決まります。これを学習に含めると、検証期間の値動きを知った上で設定を選んだことになります。
- Embargo(空白を置く):検証期間の後ろに短い空白を置き、その空白を学習に使いません。検証期間の直後のデータは、値動きの自己相関や長い指標の計算を通じて検証期間と似た情報を持つためです。学習期間が検証期間の後ろにも来る分け方(後で扱うCPCVなど)で必要になります。
FXの具体例で考えます。Bさんのルールはロンドン時間の08:00〜16:00の中で決済するので、年の境目をまたぐ取引はほとんどありません。 一方、Aさんの最終案は翌01:45に決済し、ATR14(直近14本の平均的な値幅)で損切り幅を決めます。年末に入った取引は翌年に決済されることがあり、ウォークフォワードの境界では Purging の対象になります。 漏れる経路は取引だけではありません。次のような処理も、検証期間の情報を学習に持ち込みます。
- 全期間で計算した統計値:全期間の平均と標準偏差で標準化する、全期間の値動きの分位で「高ボラの日」を定義する、など。各学習窓の中だけで計算し直します。
- 全期間を見て決めた閾値やフィルタ:「RSIは55が効く」と全期間のグラフで確かめてからウォークフォワードに入れれば、検証年の情報がすでに入っています。
- 人間の漏れ:研究者が検証期間のチャートや成績を見た後に、窓の長さや選び方の基準を決めることです。これは Purging でも Embargo でも取り除けません。第9回のスキャルEAの実験がこれに当たるので、このコースでは経緯を開示し、39回の割合を主な数字にしました。
Purging で除く範囲の決め方(取引ごとの保有区間で判定する方法)や、Embargo の幅の考え方は、上級コースのPurgingとEmbargoの節で数式とコードを使って説明しています。
1本道の限界と、複数経路での検証
ウォークフォワードの損益曲線は、過去の時間の流れに沿った1本の経路です。 Aさんの例では、学習窓の長さを変えるだけで12年の合計が +673〜+1,631 pips と変わりました。開始年、ずらす間隔、検証窓の長さを変えても、同じように結果は動きます。 1本の経路の成績は、「たまたまその区切り方で良く見えた」可能性を含んでいます。これは第13回で見た「損益曲線は起こり得た経路のうちの1本」と同じ問題です。
この限界を補う考え方が、CPCV(Combinatorial Purged Cross-Validation、組み合わせ型のパージ付き交差検証)です。 データを複数のグループに分け、検証に使うグループの組み合わせを変えながら、境界では Purging と Embargo を行って何度も学習と検証を繰り返します。 組み合わせを並べ直すと、同じ履歴から複数の検証経路が作れるので、検証成績の中央値や下位の値、経路による違いを見られます。
複数経路の考え方から生まれた指標が、PBO(Probability of Backtest Overfitting、バックテスト過学習確率)です(Bailey, Borwein, López de Prado, Zhu「The Probability of Backtest Overfitting」)。 データの分け方を組み合わせで変えながら、「学習部分で1位だった候補が、検証部分では候補全体の中央値より下に落ちた分け方」の割合を数えます。 PBOが高いほど、「学習で一番良かったものを選ぶ」という行為そのものが当てにならない、という意味になります。
このコースではPBOそのものは計算していませんが、PBOが測ろうとしている現象は実データで見えています。 Aさんのグリッドのうち「買いのみ」の19,200案を探索期間の1取引平均で並べると、最終テストの1取引平均は、1位の案が −1.01 pips(19,200案の下から1.6%)、上位10案が −0.65 pipsでした。全体の平均は +3.16 pips、上位1,000案は +4.11 pipsです。 広い上位の塊には持続する差がありましたが、頂上の1つを選ぶほど、偶然をつかんで検証で下位に落ちたのです(第14回)。 ウォークフォワードの各学習窓で「総pips最大の1つ」を選ぶ手順も、毎回この頂上を選んでいます。
どちらも同じ履歴の分け方を変えて評価する方法で、構造変化や未経験の危機を保証しません。データが少ないのにグループを細かくしすぎると、1つのグループに入る取引が減って結果がぶれます。 グループの数や組み合わせの数も、結果を見て選べば新しい試行です。分割数・経路数の数え方は上級コースのCPCV、PBOの定義と計算はPBOで扱います。 より詳しくは M. López de Prado『Advances in Financial Machine Learning』の第11〜12章が参考になります。
よくある間違い
「ウォークフォワードに通ったから、今のパラメータは正しい」
ウォークフォワードで試されたのは、選び直すやり方です。検証窓ごとに違う設定が使われているので、特定のパラメータの正しさは示されません。 Aさんの手順は選び直すたびに違う設定を選び、ローリング2年では「両方向」を10回、「買いのみ」と「売りのみ」を1回ずつ選びました。今の設定の良し悪しは、別の検査(第11回の感応度、第12回の置換検定)で確かめます。
「いくつか窓の長さを試して、一番良いものを使う」
Aさんの手順では、学習窓の長さだけで12年の合計が +673〜+1,631 pips と変わりました。4通りを試して一番良い6年を選べば、ウォークフォワードの結果を学習データにした最適化です。 窓の長さ・ずらす間隔・選び方の基準は、理由(相場の性質がどのくらいの期間で変わると考えるか、何年あれば取引数が足りるか)から先に決め、複数試したら全部を報告してNに数えます。
「WFEが高いから良い手順だ」
アンカードのWFEは0.81でしたが、中身は12年すべて「買いのみ」で、稼いだのは円安の年でした。WFEは学習と検証の比にすぎず、学習の成績が低ければ比は高く出ます。 WFEと一緒に、選ばれた設定の中身、比較対象との差、コスト込みの成績を並べて読みます。第9回のスキャルEAのようにテスターの条件で計算したWFEは、口座の成績について何も教えてくれません。
実戦課題
自分が使っている(またはこれから使う)EAや手法について、次の順に作業してください。
- 結果を見る前に設計表を書く:学習窓の長さ、ローリングかアンカードか、検証窓の長さ(=再最適化の間隔)、選び方の基準(総pips最大、PF最大など)、最低取引数、コストと約定の条件、Purging の扱いを1枚に書き、日付を入れます。それぞれに「なぜその値にしたか」を1行添えます。
- ウォークフォワードを1回だけ回す:検証窓の成績だけをつなぎ、学習窓の年平均、検証窓の年平均、WFE、プラスの年の数を記録します。コストは往復0.4 pips相当以上、約定は次の足の始値で計算します。
- 選ばれた設定を並べる:検証窓ごとに選ばれたパラメータを表にし、方向や時間帯が毎回同じか、ばらばらかを見ます。毎回同じなら「相場の流れに乗っているだけ」でないかを、比較対象(同じ保有時間の単純な買い持ち・売り持ち)と比べます。
- 稼いだ期間を特定する:利益の大部分がどの年から来たかを書き出し、その年に何が起きていたか(円安・円高、介入、金利差の変化)を研究ログに残します。
- 設計を変えたくなったら数える:結果を見て窓の長さや基準を変えたくなったら、変える前に研究ログに「N+1」と書き、変更前の結果も消さずに残します。
やるべきこと/やるべきでないこと
| やるべきこと | やるべきでないこと |
|---|---|
| 再最適化の手順(窓の長さ・間隔・選び方)をウォークフォワードで検証する | ウォークフォワードの窓の長さを結果で選ぶ |
| 窓の設定を複数試したら、全部の結果を報告し、試した数をNに加える | 一番良かった窓の設定だけを報告する |
| 検証窓の成績だけをつなぎ、検証窓ごとに選ばれた設定も残す | 学習窓の成績を混ぜた損益曲線を示す |
| 次の足の始値で約定し、コストを入れてウォークフォワードを回す | 終値約定・スプレッド0のテスターの数字でWFEを計算する |
| WFEと一緒に、選ばれた設定の中身と比較対象との差を読む | WFEが高いことだけで手順を合格にする |
| 境界をまたぐ取引を学習から除き、統計値は学習窓の中だけで計算する | 全期間の平均や分位で決めた閾値をウォークフォワードに入れる |
| 再最適化の間隔は探索期間の中で事前に決める(膝は上限の目安) | 膝の手前で一番成績の良い日数をピンポイントで選ぶ |
| ウォークフォワードの後も、封印した最終テストを1回だけ開ける | ウォークフォワードを最終テストの代わりにする |
チェックリスト
次の回に進む前に、以下を自分の言葉で説明できるか確認してください。
- ウォークフォワードで検証されるのは、パラメータではなく「選び直すやり方」であること
- ローリングとアンカードの違い
- 検証窓の成績だけをつなぎ、学習窓の成績を混ぜない理由
- WFEの意味と、WFEが高くても細部の実力を示さない理由(アンカード0.81・12年すべて買い)
- 窓の長さを結果で選ぶとメタ過学習になること(+673〜+1,631 pips)
- テスターの条件で回したウォークフォワードが口座で崩れる理由(高頻度スキャルEAの39回)
- Masters の「膝」で再最適化の間隔の目安を決める方法と、その注意点
- Purging と Embargo が防ぐもの、そして防げない「人間の漏れ」
- 1本道のウォークフォワードと、CPCV・PBOの考え方の違い
ミニテスト
最後に4問だけ確認です。不正解なら別の選択肢を選び直せます。正解すると解説が表示されます。
Q1. ウォークフォワード分析で良い結果が出たとき、示されることは?
検証窓ごとに違うパラメータが使われるので、試されているのは「最適化し直す手順」です。特定のパラメータの正しさは示されず、封印した最終テストの代わりにもなりません。
Q2. Aさんの手順で、学習窓2年・4年・6年・アンカードを試し、12年の合計が最も大きかった6年(+1,631 pips)を採用した。何が問題か?
窓の長さだけで合計が +673〜+1,631 pips と変わる手順で、結果を見て窓を選べばメタ過学習です。窓の設定は理由から事前に決め、複数試したら全部を報告してNに加えます。
Q3. アンカード方式のWFEは0.81と最も高かった。この数字の読み方として正しいのは?
WFEは学習と検証の比にすぎません。選ばれた設定の中身を見ると「ドル円を買う」ことで稼いでおり、利益は円安の年(2012〜2014年、2022年)に集中していました。比較対象との差と合わせて読みます。
Q4. 第9回のスキャルEAの39回(学習1年 → 運用6か月)はテスターの上で36回プラスだった。口座の条件(往復0.4 pips)では?
次の足の始値で約定し往復0.4 pipsを引くと31回、往復1.0 pipsでは39回すべてがマイナスでした。1取引の優位が小さい手順は、何回選び直してもコストで消えます。