適応度地形(Fitness Landscape)の数学的定義

システムトレードのパラメータ空間を \(d\) 次元の有界集合 \(\Theta \subset \mathbb{R}^d\) とし、個々のパラメータベクトルを \(oldsymbol{ heta} = ( heta_1, heta_2, \dots, heta_d)\) と表します。例えば、\( heta_1\) がEMA期間、\( heta_2\) がATR損切り倍率、\( heta_3\) が保有時間制限(バー数)です。

このパラメータ空間から実数への写像として目的関数 \(J(oldsymbol{ heta})\) を定義します。

J : \Theta o \mathbb{R}, \quad oldsymbol{ heta} \mapsto J(oldsymbol{ heta})

※\(J(oldsymbol{ heta})\) はコスト控除後の年率シャープレシオ、プロフィットファクター、期待値R、またはDSRなど。

機械学習では損失関数 \(L(oldsymbol{ heta})\) を最小化するため「平らな谷底(Flat Minima)」を探しますが、金融クオンツでは戦略パフォーマンス \(J(oldsymbol{ heta})\) を最大化するため、「広大で平坦な台地(Flat Plateau)」を探すことになります。数学的には \(L(oldsymbol{ heta}) = -J(oldsymbol{ heta})\) と置けば完全に同値です。

目的関数 \(J(oldsymbol{ heta})\) 長所(実務上のメリット) 注意点・隠蔽されやすいリスク
コスト後シャープレシオ リスクあたりのリターンを正規化でき、異なる戦略間で比較が容易。 試行回数ペナルティがない。特定の高ボラ期間に極端に依存しやすい。
期待値 \(E(R)\)(損益比率) 1トレードあたりの経済的優位性が明確。スプレッド負けを防ぎやすい。 トレード数が少ない外れ値(少数の大当たり)で数値が歪みやすい。
DSR (Deflated Sharpe) 探索パラメータ数(試行回数 \(N\))の選択バイアスを自動的に控除。 パラメータ感応度の局所的な急峻さ(崖)までは直接検出できない。
複合目的関数(制約付き) 「SR > 1.2 かつ 最大DD < 15% かつ 取引数 > 200」など多面評価可能。 制約条件やペナルティ係数の設計自体が新たな「過剰最適化」を生みやすい。

局所幾何学:勾配とヘッセ行列(Hessian)による曲率診断

もし目的関数 \(J(oldsymbol{ heta})\) がパラメータに関して2階微分可能であれば、最適解 \(oldsymbol{ heta}^*\) の局所的な性質はテイラー展開により以下のように表されます。

J(oldsymbol{ heta}^* + oldsymbol{\delta}) pprox J(oldsymbol{ heta}^*) + abla J(oldsymbol{ heta}^*)^T oldsymbol{\delta} + rac{1}{2} oldsymbol{\delta}^T \mathbf{H}(oldsymbol{ heta}^*) oldsymbol{\delta}

ここで、局所極大点 \(oldsymbol{ heta}^*\) では勾配ベクトル \( abla J(oldsymbol{ heta}^*) = \mathbf{0}\) です。したがって、パラメータが微小量 \(oldsymbol{\delta}\) だけズレたときの性能変化は、ヘッセ行列(Hessian Matrix) \(\mathbf{H}\) の曲率によって支配されます。

\mathbf{H}_{ij} = rac{\partial^2 J}{\partial heta_i \partial heta_j}

ヘッセ行列の固有値を \(\lambda_1 \le \lambda_2 \le \dots \le \lambda_d < 0\) とすると、曲率の絶対値が最大となる方向の固有値 \(|\lambda_1|\) が極めて大きい場合、その最適点は「針の山(Sharp Peak)」です。わずか数ミリのズレで谷底へ転落します。逆に、すべての固有値の絶対値 \(|\lambda_i|\) が小さくゼロに近ければ、そこは「頑健な台地(Flat Plateau)」です。

【危険】針の山(Sharp Peak:過学習) 最高点 (SR=2.1) 実環境シフト (SR=0.3) × 固有値の絶対値が大(曲率が急峻) ・特定の過去相場ノイズにピンポイント適合 ・ボラティリティが10%変わっただけで崩壊 ・実運用で即座にドローダウン死する典型例 【安全】頑健な台地(Flat Plateau:堅牢) 台地中央 (SR=1.6) 実環境シフト (SR=1.55) ◎ 固有値が小さくゼロに近い(曲率が平坦) ・パラメータ周辺一帯が広く黒字を維持 ・相場のサイクル変動や遅延に極めて強い ・最高点より低くても実運用で長生きする
図1:針の山(Sharp Peak)と頑健な台地(Flat Plateau)における実環境シフト耐性の比較

離散グリッドでの有限差分と相対近傍

実際のトレード戦略では、ローソク足の本数やATR倍率などパラメータが離散的(Discrete)であり、注文発生の有無が閾値でステップ状に変化するため、厳密な解析的偏微分は行えません。そこで、離散的な有限差分(Finite Difference)を用います。

第 \(j\) パラメータの探索刻み幅を \(h_j\) とし、基本単位ベクトルを \(\mathbf{e}_j\) とすると、中心差分による局所傾斜と2階差分(曲率)は以下のように計算します。

D_j J(oldsymbol{ heta}) pprox rac{J(oldsymbol{ heta} + h_j \mathbf{e}_j) - J(oldsymbol{ heta} - h_j \mathbf{e}_j)}{2 h_j} D_{jj} J(oldsymbol{ heta}) pprox rac{J(oldsymbol{ heta} + h_j \mathbf{e}_j) - 2J(oldsymbol{ heta}) + J(oldsymbol{ heta} - h_j \mathbf{e}_j)}{h_j^2}
絶対値の「幅1」と相対比率の罠

短期EMAが「5」のときの \(\pm 1\)(変化率20%)と、長期EMAが「200」のときの \(\pm 1\)(変化率0.5%)は、物理的な意味が全く異なります。パラメータの近傍を定義する際は、線形スケールではなく対数スケール(\( heta' = \ln heta\))やパーセンテージ相対幅(例: \(\pm 15\%\))で近傍を定義することがクオンツの標準手法です。

ロバスト最適化:近傍最悪値(Worst-Case)の採点

頑健な戦略パラメータを選定するための最も実践的なアルゴリズムが、「ミニマックス近傍評価(Robust Neighborhood Evaluation)」です。半径 \( arepsilon\) の相対近傍 \(B_ arepsilon(oldsymbol{ heta})\) を定義し、単一のセル値ではなく、その周辺一帯の統計量を算出します。

J_{ ext{worst}}(oldsymbol{ heta}) = \min_{oldsymbol{\delta} \in B_ arepsilon} J(oldsymbol{ heta} + oldsymbol{\delta}) ar{J}_{ ext{local}}(oldsymbol{ heta}) = rac{1}{|B_ arepsilon|} \sum_{oldsymbol{\delta} \in B_ arepsilon} J(oldsymbol{ heta} + oldsymbol{\delta})
Python:グリッドサーチ結果からの近傍頑健性スコア算出
import pandas as pd
import numpy as np

# grid_df: index=(ema_period, atr_mult), columns=['sharpe']
def evaluate_landscape_robustness(grid_df, target_ema, target_atr, ema_rel_tol=0.15, atr_rel_tol=0.15):
    # 相対近傍の抽出 (±15% の範囲)
    ema_min, ema_max = target_ema * (1 - ema_rel_tol), target_ema * (1 + ema_rel_tol)
    atr_min, atr_max = target_atr * (1 - atr_rel_tol), target_atr * (1 + atr_rel_tol)
    
    neighbors = grid_df.loc[
        (grid_df['ema'] >= ema_min) & (grid_df['ema'] <= ema_max) &
        (grid_df['atr'] >= atr_min) & (grid_df['atr'] <= atr_max),
        'sharpe'
    ]
    
    results = {
        "center_sharpe": grid_df.loc[(grid_df['ema']==target_ema) & (grid_df['atr']==target_atr), 'sharpe'].values[0],
        "neighbor_count": len(neighbors),
        "worst_sharpe": neighbors.min(),
        "median_sharpe": neighbors.median(),
        "q10_sharpe": neighbors.quantile(0.10),
        "positive_ratio": (neighbors > 0).mean() # 近傍で黒字を維持している確率
    }
    return results

# 判定基準:
# ① worst_sharpe > 0 (近傍最悪値でも赤字転落しない)
# ② positive_ratio >= 0.90 (周辺セルの90%以上がプラス収益)
# ③ center_sharpe - median_sharpe < 0.3 (中心点だけが突出していない)

Flat Minimaの罠と理論的限界

「平坦な台地を選べば、絶対に実運用で勝てるのか?」――答えは「否」です。Flatness(平坦性)は強力な過学習フィルターですが、これ自体がエッジを保証するわけではありません。以下の限界を把握しておく必要があります。

理論的限界・罠 現象とメカニズム 対策とチェック手法
再パラメータ化問題 パラメータの単位軸(線形軸 vs 対数軸 vs 逆数軸)を変えるだけで、見かけの平坦さ(Hessianの固有値)が幾何学的に変化してしまう。 経済的・物理的に意味のある相対比率(%)で空間を正規化して診断する。
不活性パラメータの錯覚 例えば損切りATR倍率が「10.0」など広すぎて過去1回も発動しなかった場合、ATR軸方向は完全な水平台地に見えるが、実際には無防備なだけ。 各パラメータがシグナルや決済に実質関与しているか(発動頻度)を確認する。
共通ノイズへの適合 近傍のパラメータ同士は同じ期間の同じ相場履歴を食べているため、過去の特定バブル相場全体に全員で適合して「偽の巨大台地」を形成する。 時代や市場を分割したOOS(アウトオブサンプル)やCPCVでの交差検証を併用する。
レジーム反転 全期間で見れば平坦な台地に見えても、低ボラ相場では全員大勝ち、高ボラ相場では全員大負けというレジーム交差を見落とす危険。 年別・ボラティリティレジーム別のスライス断面分析(第8回)を実施する。

試行数 \(N\) の会計とOOSプロトコル

多くのトレーダーが犯す致命的な勘違いが、「私は最高点を選ばず、慎重に台地を選んだのだから、過剰最適化はしていない。試行回数 \(N\) は1として扱ってよい」という主張です。

これは完全な誤りです。台地を診断するために \(20 imes 30 = 600\) セルのグリッドを計算したのであれば、あなたの脳とアルゴリズムは確実に「600通りのデータ」を見ています。選択に使われた候補数 \(N\) は厳密に600です。

  1. 事前登録:探索を行う前に、パラメータの探索範囲、刻み幅、相対近傍半径 \( arepsilon\)、および台地選定のスコアリングルール(例: \(J_{ ext{worst}}\) 最大化)を完全固定する。
  2. 試行会計:計算した全セル数(600通り)を通算試行数 \(N\) に算入し、第2回のDSRを算出する。
  3. インサンプル限定:パラメータ・ランドスケープの診断と台地の選定は、訓練データ(In-Sample)の中だけで完結させる。
  4. アウトオブサンプル(OOS)の封印解除:台地として選ばれた単一のパラメータセットだけを持って、完全未接触のOOSデータやフォワード運用に挑む。

ミニテスト

4問の理解度テストです。

Q1. システムトレードの評価において、目的関数 \(J(oldsymbol{ heta})\) を最大化する地形の適切な表現はどれ?

正解はBです。機械学習の「平坦な谷底(Flat Minima)」と同様、成績を最大化する売買戦略では微小なパラメータ変化に対して成績を維持する「平坦な台地」を探します。

Q2. 離散的なグリッドサーチでパラメータ感応度を診断する際、最も実践的で有効な指標はどれ?

正解はCです。段差のある離散空間では、相対近傍内の最悪値や中央値、正の成績を維持するセルの比率を見ることで、微小な環境変化に対する頑健性を計測できます。

Q3. \(20 imes 30 = 600\) セルのグリッドヒートマップを描いて台地を選定した場合、試行会計で加算すべき試行数 \(N\) はいくつか?

正解はAです。「台地を選んだから」といって探索した事実が消えるわけではありません。描画・比較した全600セルが選択バイアスの母集団となります。

Q4. パラメータ・ランドスケープで「広い台地」が確認できたことが証明する事実はどれ?

正解はBです。台地はパラメータの過敏さを否定する局所的証拠に過ぎず、未知の相場環境(OOS)でエッジが通用するかどうかは別の検証プロセスが必要です。

学術文献・参考資料