最良点の周りを見る
パラメータ感応度とは、ルールの数値(パラメータ)を少し変えたときに、成績がどれだけ変わるかのことです。移動平均の期間、損切りの幅、取引する時間帯などがパラメータにあたります。 感応度を調べるには、最良の組み合わせから1つのパラメータだけを1段ずらした組み合わせ(これを近傍と呼びます)の成績を並べます。
トレードシステムの検証法の本を多く書いている Timothy Masters は、インタビュー(Better System Trader、2021年、33:58〜35:01)で、感応度の確認を「必ずやること」に挙げています。要点は次のとおりです(自動字幕からの要約です)。
- いつやるか:パラメータを最適化するときは毎回。予測モデルでなくても、移動平均の交差の長期・短期の期間を選ぶような単純なルールでも同じ。
- 望ましい形:最適点の周りが平らな頂上で、曲がり方がとてもゆるやかなこと。最適点から少し外れても、成績が高いまま保たれること。
- 危ない形:成績が急に上がってすぐ下がり、狭い範囲の値でしか最良の成績が出ないこと。その場合はシステムのどこかが深刻におかしいので、使うべきではない。
なぜ針が危ないのでしょうか。相場に本当に規則性があるなら、ルールの数値を少し変えても、その規則性の一部は拾えるはずです。東京時間のレンジを9時からにするか10時からにするかで、ロンドン勢が入ってくる理由が消えることはありません。 逆に、ある1つの値でだけ成績が出て、その両隣でまったく出ないなら、その値は相場の規則ではなく、その期間の値動きの偶然の並びにぴったり合っただけ、と考えるほうが自然です。 将来の相場で偶然の並びがそのまま繰り返されることはないので、針の上に立ったルールは崩れやすくなります。
Masters の著書『Testing and Tuning Market Trading Systems』の4つの検査(感応度・置換・分解・比較対象)を実際に試した Unbiased Trading の動画(2026年、04:12〜06:15)も、感応度の検査から始めています。 2つのパラメータを動かした3次元の曲面を描き、「なめらかな台地なら頑健、とげのように上下するなら過剰適合」と読んでいます。この動画はデータ提供元から報酬を受けたことを動画内で開示しています。 この動画には、後で大事になる説明もあります。曲面の高い山の部分は条件が緩くて取引が多い設定、台地の部分は保有が長い設定で、どちらも市場にいる時間が長く、SPY(米国株の指数に連動するETF)の上昇(ドリフト)に多くさらされる、というものです。 台地が高いのは、ルールの力ではなく、相場の流れに長く乗っているからかもしれない。今回の実験は、まさにその形になりました。
なお、Bさんは事前登録の段階で「近傍は記述統計として確認するだけで、選択には使わない。近傍を見てルールを変えたら、その時点で試行回数Nを1つ増やす」と決めていました(第6回)。近傍を見るのは、より良い点を探すためではなく、今の点が「たまたま良い1点」でないかを確かめるためです。
近傍の地図を読む:Aさんの台地とBさんの近傍
パラメータが2つなら、縦軸と横軸に1つずつ取った2次元ヒートマップ(成績を色の濃さで表した表)で地形が見えます。読むときの注意は3つです。
- 断面にすぎない:パラメータが3つ以上あるとき、2次元の図は残りのパラメータを1つの値に固定した断面です。固定する値を変えると地形も変わる。
- 1マスの取引数を見る:取引数が少ないマスは、色が濃くても偶然の影響が大きい。色だけでなく、マスごとの件数を並べて書く。
- 色の目盛りを確かめる:目盛りの範囲が狭いと、小さな差が大きな山に見える。ゼロの位置が分かる目盛りにする。
Aさんの最終案は8つのパラメータ(東京レンジの開始・終了、シグナル窓、ブレイクのバッファ、損切り、利確、決済時刻、方向)を持つので、2次元の図では全体が見えません。 そこで、最終案から1つだけ変えたときの1取引あたりの平均損益を、パラメータごとに並べました(探索期間2005〜2016年、フィルタ込み、Aさんが見ていた条件=シグナル足の終値で約定・コスト0)。金色が最終案です。
企画の段階では、57,662通りから選んだAさんの最終案は「針」になると予想していました。結果は違いました。
- 東京レンジの開始:8時・9時・10時で、平均 10.0・9.7・8.7 pips。最終案の10時は、むしろ3つの中で一番低い。
- 東京レンジの終了:13〜16時で 8.7〜6.9 pips。
- ブレイクのバッファ:0〜10 pipsで 8.6〜9.6 pips。
- 損切り・利確:損切りをATR(平均的な値幅)の1.0〜2.0倍で変えても 8.2〜8.7 pips、利確を変えても 8.2〜8.7 pips。
- 下がる設定:シグナル窓を15〜17時にすると 4.2 pips、損切りをレンジの中点にすると 4.1 pips、決済を20時にすると 5.6 pips。それでもプラスのまま。
- 方向:買いのみ +8.65 pips、両方向 +4.30 pips、売りのみ −0.09 pips。
Masters の基準に当てはめると、Aさんの最終案は合格に見えます。ほとんどのパラメータで、1段ずらしても成績は高いままです。最終案が近傍の中の頂上ですらないことも、「値をぴったり当てなくても動く」ことを示しています。 ところが、方向だけは違います。同じ時間帯・同じ損切り・同じ決済で、売りにすると成績はほぼゼロになります。買いと売りを両方やると、ちょうどその中間です。 つまり、細かい設定の違いより、「ドル円を買う方向に固定したこと」のほうがずっと大きく効いています。この台地を持ち上げているのは、東京レンジのブレイクという仕組みの細部ではなく、「ドル円を買っている」ことそのものだと読めます。 これは第10回で、Aさんの利益を「相場の流れ」と「ルールの実力」に分けた話と同じ構図です。
Bさんの近傍:高さゼロの台地
Bさんは、事前に決めた1通り(東京レンジ 9〜15時、ロンドン現地時刻8〜10時のブレイク、損切りはレンジの中点、ロンドン16時に決済、両方向)の近傍を、東京レンジの終了・シグナル窓・損切り・決済時刻を1つずつずらした8通りで確認しました(通常コスト0.4 pips、探索期間)。 結果は、8通りの平均が −0.36〜+0.87 pips、標準誤差(平均がどれくらいぶれるかの目安)が 0.67〜0.94 でした。どの平均も、標準誤差の2倍の幅の中にゼロが入ります。 形は平らです。しかし、平らなのは高さがゼロの平地だからです。Bさん自身の探索期間の成績(−0.14 pips)と合わせて、「探索期間では、近傍を含めて優位は見えない」というのが正直な読み方になります。 Bさんはここで、+0.87 の近傍に乗り換えていません。乗り換えれば、それは9通りの中から最良を選ぶ試行になるからです。
| 開発者 | やったこと | 近傍の結果(探索期間) | 読み方 |
|---|---|---|---|
| Aさん | 57,600通りのグリッドとフィルタの後付けで候補を作り、検証期間を12回見て最終案を選んだ(N=57,662) | 方向以外はすべてプラスの 4.1〜10.0 pips(多くは 7〜10 pips)。方向だけ、買い +8.65、売り −0.09 | 台地はある。ただし高さの正体は「ドル円の買い」。台地は細部の実力を示していない |
| Bさん | 事前登録の1通りに固定し、近傍8通りは確認だけ(N=1のまま) | 平均 −0.36〜+0.87、標準誤差 0.67〜0.94 | 形は平らだが高さはゼロ。探索期間では優位を示せない。近傍に乗り換えない |
台地の選び方:近傍の中央値と下位で選ぶ
これから最適化をする人が、針を避けて台地を選ぶには、候補を自分自身の成績ではなく、近傍の成績で採点します。 具体的には、各候補について、1段ずらした近傍の成績を集め、その中央値(真ん中の値)と下位10%の値(悪いほうから1割の位置の値)を計算します。中央値は台地の高さ、下位10%は台地の端の崩れ方を表します。
選ぶときの約束は4つです。
- 近傍の範囲と採点の式を先に決める:「各パラメータを1段ずつ」「中央値で順位を付け、下位10%がマイナスの候補は外す」のように、最適化を回す前に書いておきます。結果を見てから範囲や重みを変えて、良い地形を作れば、その調整も試行です。
- 刻みの大きさをそろえる:期間1本の違いは、期間5のルールと期間200のルールでは意味が違います。「経済的に同じくらいの変化」になるように、比率や対数で刻むことも検討します。
- 理由で説明できる値を優先する:台地の中の点で迷ったら、相場の仕組みで説明できる値(ロンドンの寄り付き、東京の昼休みの前後など)を選びます。頂上を追いかけるより、将来も同じ理由が成り立つかを考えます。
- 台地を選んでもNは減らない:20×30のマスを計算して地形を見たなら、選択に使った候補は600通りです。台地を選んだことは、試行回数を1に戻しません(第8回)。
頂上の1点をつかむ危うさは、Aさんのグリッドでも確かめられました。「買いのみ」の19,200案を、探索期間の1取引の平均で並べ、最終テスト期間(2023年1月〜2026年7月)の成績を同じ条件(シグナル足の終値で約定・コスト0)で見ると、探索期間の1位は最終テストで −1.01 pips(下から1.6%の位置)、上位10案の平均は −0.65 pipsでした。 ところが、上位100案では +2.03、上位1,000案では +4.11 pips(全体の平均は +3.16)と、広く取るほど良くなります。 広い上位の塊には持続する差がある一方で、頂上を1つ選ぶほど偶然をつかむということです。詳しくは第14回で扱います。 近傍の中央値で選ぶのは、この「広い塊」の側に立つための方法です。数式での定義(近傍の平均・最悪値、近傍の範囲 ε の決め方)は、上級コースのパラメータ・ランドスケープの数理「近傍全体を採点する」にあります。
年×時間帯ヒートマップ:利益がどの年・どの時間から来ているか
感応度はパラメータだけのものではありません。期間と時間帯も、成績が偏っていないかを確かめる軸です。全期間の合計が同じプラスでも、毎年少しずつ稼いだのか、1年だけ大きく稼いだのかで、意味はまったく違います。 そこで、損益を「年×エントリーした時刻」のマスに分けた表を作ります。このコースのレポートでは、次の形にそろえています。
- 行:年。
- 列:エントリー時刻(0〜23時)。右端に年の合計、下段に時刻ごとの合計。
- 時刻:JSTとサーバー時刻(MT5などの取引サーバーの時刻)を併記する。夏時間の切り替えで、同じ相場の時間帯が別の列に入るため。
- マスの中身:損益の合計に加えて、取引数と勝率も確認できるようにする。
下の図は、Bさんのルールをこの形で集計したものです(Bさんが取引するのは16〜19時台だけなので、その4列だけを載せています)。
この表から読めることは3つあります。 1つ目は、年によって符号が入れ替わることです。探索期間の12年では7年がプラスでしたが、2006年と2008〜2011年はマイナスでした。2023年以降の最終テスト期間はプラスが続いています(判定は第17回)。 2つ目は、時刻の列は夏時間で混ざることです。Bさんのルールはロンドン現地時刻の8時で定義しているので、JSTでは夏時間なら16時台、冬時間なら17時台に始まります。JSTの固定時刻で表を作ると、同じ「ロンドンの寄り付き」が2つの列に分かれます。 3つ目は、この表を見てルールを直してはいけないことです。列の合計を見ると17時台が大きく見えますが、ここで「17時台だけ取引する」と決めれば、それは結果を見て時間帯を選んだ試行です。この表は、偏りを知って報告するためのもので、ルールを探すための地図ではありません。
Aさんについても同じ見方ができます。Aさんの手順をウォークフォワードで繰り返すと、稼いだ年は円安が進んだ2012〜2014年と2022年に集中していました(第15回)。 パラメータの近傍が台地でも、利益が特定の年の相場の流れから来ているなら、その台地は「その年と同じ流れが続くこと」に依存しています。
台地でも安心できない場合
ここまでをまとめると、感応度は「針を捨てる」ためにはとても役に立ちますが、「台地だから本物」とは言えません。台地は必要条件で、十分条件ではないのです。台地でも安心できない代表的な場合を4つ挙げます。
① 台地全体が相場の流れでできている
Aさんの例がこれです。買いの方向に固定すると、細かい設定を変えても成績の大部分は変わりません。そうなると、近傍はすべて同じくらいの高さになり、形は台地になります。 この台地の高さが教えてくれるのは「その期間にドル円を買っていれば儲かった」ことで、「東京レンジのブレイクという仕組みに価値がある」ことではありません。 確かめ方は、ルールがなくても取れた部分(同じ時刻に無作為な日に買う、など)を比較対象として差し引くことです(第10回)。台地の高さを見る前に、比較対象の高さを引きます。
② ノイズからでも台地はできる
第2回では、平均がゼロで規則のない相場(ランダムウォーク)を作り、Aさんの縮小グリッド3,456通りで最適化しました。その最良案の周りも、同じように調べています。 1段ずらした近傍の成績の中央値を、最良案の成績で割った比は、ランダムウォーク40本の中央値で 0.71(0.08〜0.86)でした。実データの最良案では 0.90 です。 つまり、規則がまったくない相場でも、最良案の周りは最良値の7割ほどの高さを保つことが多いのです。近い設定どうしは、同じ日に同じような取引をするので、成績も似てきます。同じ偶然を共有した近傍は、一緒に持ち上がるということです。 実データの0.90はランダムウォークより平らですが、その差の分だけ実力があるとは言えません。①のとおり、買いの方向がすべての近傍を持ち上げていれば、それだけで平らになるからです。
③ 探索の範囲を結果で選んだ
台地の「周り」は、どこまでを探索の範囲にしたかで決まります。一度グリッドを回して良い場所を見てから、その場所が中央に来るように範囲を組み直せば、どんなルールでも台地に見せられます。 範囲と刻みは、最初のグリッドを回す前に書いておきます。後から範囲を変えたら、その変更も試行として研究ログに記録します。
④ 地形の平らさにも落とし穴がある
平らに見える理由が、仕組みの強さではない場合もあります。たとえば、損切りの幅を変えても成績が変わらないのは、損切りにほとんど届かず、決済時刻で先に手じまいしているからかもしれません。一度も発動しないパラメータは、どう変えても平らです。 また、期間全体では平らでも、年ごと・ボラティリティの高低ごとに分けると符号が逆になる場合もあります。こうした限界は、上級コースの「Flat Minimaの限界」で整理しています。
では、台地の高さが「相場の流れ」なのか「ルールの仕組み」なのかを、どう切り分ければよいでしょうか。次の第12回では、年ごとの流れは残したまま日中の並びだけを壊した相場で、Aさんの最適化をやり直します。
よくある間違い
「最適化で一番良かった値を使う」
最良の1点は、たくさん試した中で偶然に一番よく当たった点である可能性が高い値です。Aさんのグリッドでも、探索期間の頂上の1位〜10位は、最終テストで最下位近くに落ちました。近傍の中央値と下位で選び、頂上そのものは追いかけません。
「周りが台地だから、このルールは本物だ」
台地は、針を捨てるための必要条件です。Aさんの台地は「ドル円を買う」ことでできており、ランダムウォークの最良案の周りも最良値の7割ほどの高さがありました。台地を確認したら、比較対象・置換検定・DSRへ進みます。
「近傍を見たら、もっと良い値があったので乗り換える」
近傍を見て良いほうへ動かせば、近傍の数だけ新しく試したことになります。Bさんは、近傍の中に +0.87 pips の設定があっても乗り換えませんでした。乗り換えるなら、その時点で試行回数Nを増やして記録します。
「年×時間帯の表で良かった時間だけに絞る」
表で良かった列や年を見てから条件を絞るのは、結果を見て選ぶことそのものです。年×時間帯の表は、偏りを知って報告するためのもので、次の条件を探すための地図ではありません。
実戦課題
自分が最適化したルールを1つ選び、次の順に作業してください。
- 近傍の範囲を先に書く:各パラメータについて「1段」の大きさを決め、研究ログに書きます。まだ結果は見ません。
- 1つずつずらした成績を並べる:採用候補から1つのパラメータだけを1段ずらした組み合わせの成績を、f11a のように並べます。1取引の平均と取引数を書きます。
- 方向を入れ替える:買いと売りを入れ替えた成績も並べます。片方の方向だけで台地ができているなら、台地の正体は相場の流れかもしれません。
- 近傍の中央値と下位10%を計算する:採用候補の成績そのものではなく、近傍の中央値と下位10%を報告します。
- 年×時間帯の表を作る:行を年、列を0〜23時にし、JSTとサーバー時刻を併記します。利益が1〜2年に集中していないかを書き出します。この表を見て条件を変えないことも、ログに書いておきます。
やるべきこと/やるべきでないこと
| やるべきこと | やるべきでないこと |
|---|---|
| 近傍の中央値と下位で候補を選ぶ | 最良の1点を選ぶ |
| 近傍の範囲・刻み・採点の式を、最適化の前に決める | 良い場所が中央に来るように、後から範囲を組み直す |
| 方向を入れ替えた成績と比較対象を並べて、台地の高さの出どころを確かめる | 台地が見えたことを「エッジがある」証拠にする |
| 近傍は確認に使い、変えたら試行回数Nに加える | 近傍でもっと良い値を見つけて、黙って乗り換える |
| 年×時間帯の表をJSTとサーバー時刻で作り、偏りを報告する | 表で良かった年・時間帯だけに条件を絞る |
| 台地を確かめた後に、置換検定とDSRへ進む | 台地を選んだので試行回数は1に戻ったと考える |
チェックリスト
次の回に進む前に、以下が自分の言葉で説明できるか確認してください。
- 近傍(1つのパラメータだけを1段ずらした組み合わせ)の意味
- 針が危ない理由と、Masters が望ましいとした「平らな頂上」
- 近傍の中央値と下位10%で候補を選ぶ方法と、その約束を先に決める理由
- Aさんの台地が「ドル円の買い」でできていたこと(買い +8.65、売り −0.09)
- Bさんの近傍は平らだが高さがゼロだったこと
- ランダムウォークでも台地ができること(近傍中央値/最良値 0.71)
- 年×時間帯の表の作り方と、その表でルールを直してはいけない理由
- 台地は必要条件で、十分条件ではないこと
ミニテスト
4問で確認します。不正解なら別の選択肢を選び直せます。正解すると解説が表示されます。
Q1. Masters が、最適化したパラメータの周りに望ましいとした形は?
狭い範囲の値でしか最良の成績が出ないなら、その値は偶然の並びに合わせ込んだ疑いが強くなります。Masters は、そうした形のシステムは使うべきではないと述べています。
Q2. Aさんの最終案の近傍は、ほとんどのパラメータで平らな台地でした。一方、方向を変えると買い +8.65、売り −0.09 pipsでした。正しい読み方は?
同じ時間帯・同じ損切り・同じ決済で売りにすると成績はほぼゼロになります。買いの方向がすべての近傍を持ち上げているので、形は台地になります。台地は必要条件で、十分条件ではありません。
Q3. ランダムウォークで選んだ最良案でも、近傍の中央値は最良値の0.71倍(実データは0.90倍)でした。ここから言えることは?
近い設定どうしは同じ日に似た取引をするので、同じ偶然を共有して一緒に持ち上がります。実データがより平らなのも、買いの方向が近傍全体を持ち上げていれば説明できるため、差をそのまま実力とは読めません。
Q4. Bさんの近傍8通りは、平均 −0.36〜+0.87 pips、標準誤差 0.67〜0.94 でした。Bさんのとるべき行動は?
どの平均も、標準誤差の2倍の幅の中にゼロが入ります。近傍は確認のためのもので、+0.87 に乗り換えれば9通りから最良を選ぶ試行になります。Bさんは事前登録どおり、ルールを変えずに次の検査へ進みました。