Nに数えるもの

Nは「コードを何回起動したか」ではなく、同じデータから何個の候補を比較・選択したかです。

判断基準は「この数字を見て、候補を選ぶか」です。選ぶならNへ入れます。記事に載せなかった失敗案や頭の中で却下した調整も、データを見て選んだなら試行です。

N=1N=20N=200偶然だけで出る「最良成績」の水準が上がる
Nが大きいほど、同じシャープレシオへ要求される証拠は強くなります。

実行前のスコープ宣言

試行は実行した瞬間に増え、後から取り消せません。バックテスト前に次を記録します。

試行前メモ
対象: USDJPY 2015-01-01〜2025-12-31 12バリエーション
ユーザー指示/研究目的との一致: 東京時間ブレイクの損切り3×利確4のみ
この実行で N は 38 → 50 になる

指示や研究計画にないシンボルを「参考までに」追加しません。別市場への展開は第10回の手順を先に通します。

DSRが補正するもの

DSR(Deflated Sharpe Ratio)は、選択バイアスとサンプルの短さを考慮し、観測シャープレシオが多くの試行から偶然選ばれた好成績ではないかを評価します。元論文のDSRは試行間シャープレシオの分散と、選択された収益の非正規性も扱います。分布仮定と式の導出は上級コースのPSRとDSR:Sharpeを確率で読むで扱います。

このサイトの検証規律では、採用候補をDSR 0.95以上とします。0.95未満は「過学習の疑い」と表示し、良い結果として推奨しません。DSRはコスト、先読み、データ品質、経済合理性を直す道具ではないため、他のゲートも必要です。

最小実装

バックテストコードには、次の試行会計とDSR出力を必ず含めます。N_TRIALSは実行前に更新します。

Python:NとDSR
N_TRIALS = 1  # 累計試行パターン数(実行前に更新)
print(f"試行回数 N = {N_TRIALS}")

from scipy.stats import norm
import numpy as np

def deflated_sharpe_ratio(sr, N, T, sr_std=None):
    """sr: 観測SR, N: 累計試行, T: サンプル数。"""
    if sr_std is None:
        sr_std = np.sqrt(1.0 / (T - 1))
    eg = 0.5772156649
    sr0 = 0.0 if N <= 1 else sr_std * (
        (1 - eg) * norm.ppf(1 - 1/N)
        + eg * norm.ppf(1 - 1/(N * np.e))
    )
    return norm.cdf((sr - sr0) / np.sqrt(1 / (T - 1)))

dsr = deflated_sharpe_ratio(sharpe, N_TRIALS, len(returns))
print(
    f"SR = {sharpe:.3f} | DSR = {dsr:.3f} "
    f"{'✓ 採用候補' if dsr >= 0.95 else '✗ 過学習の疑い'}"
)
実務では試行間SR標準偏差を同一単位で与え、歪度・尖度を含む原論文の条件も確認します。
sr_std=1.0固定にしない

観測SRと単位が合わず、N≥2でDSRが不自然にゼロ付近へ潰れる実装は使いません。省略時は上記の帰無分布スケールを使い、試行間標準偏差を渡す場合は観測SRと同じ単位にします。

DSRの前に必要な確認

DSRが高くても、前処理が誤っていれば採用できません。DSRは最後の飾りではなく、検証工程の一つです。

よくある間違い

グリッド探索1回をN=1にする

比較した組み合わせ数が試行数です。3×4なら12です。

採用した案だけ数える

不採用案も選択バイアスを生みます。累計で記録します。

DSRだけで採用する

コスト後期待値、95%CI、頑健性、データ品質、フォワード結果も通す必要があります。

実戦課題

過去の研究ログから、シンボル、期間、条件、パラメータ、結果を見て変更した回数を洗い出し、累計Nを作ります。正確に復元できなければ過小評価せず「少なくともN」として保守的に扱います。

チェックリスト

ミニテスト

4問で確認します。

Q1. 損切り3種類×利確4種類を比較したときNへの加算は?

選択した組み合わせ数をすべて数えます。

Q2. Nを更新する時点は?

試行会計を先に固定します。

Q3. このサイトのDSR採用基準は?

0.95未満は過学習の疑いとします。

Q4. DSRが高ければ何を省略できる?

DSRは他の品質確認を代替しません。

参考資料

DSRの原典は Bailey and López de Prado, The Deflated Sharpe Ratio です。