シャープレシオの統計学 — その数字は偶然と区別できるか

Ember 編集部 ・ 2026-07-16 ・ 約7分 ・ finance

本記事は情報提供・教育を目的としたものであり、特定の金融商品の取得・売買を推奨する投資助言ではありません。投資判断はご自身の責任で行ってください。

「シャープレシオ 1.5 のバックテストができた」— この文には主語が欠けています。 何年分のデータで、何回の試行の末に、どんな分布のリターンから 推定された 1.5 なのか。それを言わないシャープレシオは、誤差棒のない実験データと同じで、原理的に評価不能です。 シャープレシオ(SR)は母集団の性質ではなく 推定量 です。つまり標準誤差があり、信頼区間があり、サンプルサイズの関数として精度が決まります。この記事では、実務でそのまま使える形で次を導きます。 SR の標準誤差の式と、「SR 1.0 を統計的に信じるには何年必要か」の具体的な答え 年率換算(√252 倍)が壊れる条件 — リターンの自己相関と Lo 補正 歪度・尖度を織り込んだ Probabilistic Sharpe Ratio(PSR) — オプション売り型の「見かけの良さ」を数式で割り引く 多重検定を織り込んだ Deflated Sharpe Ratio(DSR) と、最小トラックレコード長 全部入りの Python 実装(コピペで動く 30 行) 第1回で「多重検定は成績を水増しする」と書きました。この記事はその定量版です。数式は多めですが、すべて電卓レベルで追えます。

1. シャープレシオは推定量 — まず誤差棒を付ける リターンが i.i.d. に近いとき、観測数 $T$ から推定した SR の標準誤差は(Lo, 2002): $SE(\widehat{SR}) \approx \sqrt{\frac{1 + \widehat{SR}^2/2}{T}}$ 日次データ1年分($T = 252$)で日次 SR が $1.0/\sqrt{252} \approx 0.063$(年率 1.0 相当)の場合: $SE \approx \sqrt{\frac{1 + 0.063^2/2}{252}} \approx 0.0630 \;\;(\text{年率換算で} \approx 1.0)$ つまり<strong 「1年のトラックレコードで年率シャープ 1.0」の 95% 信頼区間は、おおよそ $1.0 \pm 2.0

lt;/strong 。ゼロどころかマイナスまで余裕で含みます。1年の成績で戦略の優劣を語ることが統計的にどれほど無意味か、この1行で分かります。 逆算すると、「SR 1.0 がゼロと 2σ で区別できる」ために必要な期間は約 4 年、「SR 0.5」なら約 16 年です。 シャープが半分になると、必要な検証期間は4倍になる — 低シャープ戦略の評価が難しい理由はこの逆二乗の関係にあります。 2. 年率換算の罠 — √252 は i.i.d. の仮定 日次 SR を年率にするときの $\sqrt{252}$ 倍は、リターンに自己相関がないという仮定の下でだけ正しい換算です。1次の自己相関 $\rho$ があるとき、$q$ 期間の集計に対する正しい換算係数は(Lo, 2002 の簡約形): $SR {annual} = \widehat{SR} {daily} \times \frac{q}{\sqrt{q + 2\rho \frac{(q 1) \rho\frac{1 \rho^{q 1}}{1 \rho}}{1 \rho}}}, \quad q = 252$ 直感で言えば: 正の自己相関(トレンド性)があると日次のボラが年次のボラを過小評価する ので、√252 換算は年率 SR を過大評価します。$\rho = 0.1$ 程度でも過大評価は 1 割前後になり、モメンタム系・低流動性資産(価格が滑らかに見える資産)ではこの罠が常態です。逆に強い平均回帰(負の $\rho$)では過小評価になります。 実務チェック: 日次 SR から換算した年率と、 週次・月次で集計し直して計算した SR を並べてください。集計期間を伸ばすほど SR が落ちていくなら、それは自己相関で膨らんでいた分が剥がれている音です。 3. 分布の形を織り込む — Probabilistic Sharpe Ratio SR の標準誤差は、リターンの歪度 $\gamma 3$ と尖度 $\gamma 4$ にも依存します。それを織り込んで「観測された $\widehat{SR}$ が、基準値 $SR^ $ を本当に超えている確率」を出すのが PSR です(Bailey & López de Prado, 2012): $PSR(SR^ ) = \Phi\!\left(\frac{(\widehat{SR} SR^ )\sqrt{T 1}}{\sqrt{1 \gamma 3 \widehat{SR} + \frac{\gamma 4 1}{4}\widehat{SR}^2}}\right)$ $\Phi$ は標準正規の累積分布関数。分母に注目してください — 負の歪度($\gamma 3 < 0$)は分母を大きくし、PSR を下げます 。 これが実務で意味するもの: オプションの売りや逆張りグリッドのような「コツコツ勝ってドカンと負ける」戦略は、同じ SR でも統計的な信頼度が低い。SR 1.5 という数字が同じでも、$\gamma 3 = 2$ の戦略と $\gamma 3 = 0$ の戦略は別物であり、PSR はその差を1つの確率に畳んでくれます。 SR を報告するとき、歪度と尖度を添えるだけで読み手の判断の質が変わります。 4. 試行回数で割り引く — Deflated Sharpe Ratio 第1回の復習: $N$ 回試して最良を選ぶと、エッジゼロでも期待値として $E[\max SR] \approx \sigma {SR}\sqrt{2\ln N}$ の SR が出ます。DSR はこれを PSR の基準値に使う、というだけの素直な考え方です: $DSR = PSR(SR^ {N}), \quad SR^ {N} \approx \sigma {SR}\left((1 \gamma)\Phi^{ 1}\!\left(1 \tfrac{1}{N}\right) + \gamma\,\Phi^{ 1}\!\left(1 \tfrac{1}{Ne}\right)\right)$ ($\gamma \approx 0.5772$ はオイラー・マスケローニ定数、$\sigma {SR}$ は試行間の SR のばらつき)。 要は「あなたのグリッドサーチが偶然生む最大 SR」を合格ラインに設定する ということです。DSR 0.95 なら、多重検定を考慮してなお偶然では説明しにくい、と読みます。 導出の細部より運用が大事です: 試行回数 $N$ を数えられる形で実験すること 。パラメータグリッドの総数、ボツにした戦略の数、それらを記録していない検証は、事後的に補正のしようがありません。 5. 全部入りの実装 使い方の指針: PSR が 0.95 未満 → そもそも基準値(通常 0)超えを主張できない n trials に 正直な試行回数 を入れて DSR を見る。ここで嘘をつくと全部が無意味 歪度が深く負なら、SR ではなく最大ドローダウンとテール条件付き損失も併記する まとめ — 数字に主語を付ける シャープレシオを報告するときのテンプレートを置いておきます。これが埋まらない数字は、埋まらないという事実自体が情報です。 期間 年(T = )、リターン頻度 、SR = (SE = )、歪度 / 尖度 、PSR(0) = 、総試行回数 N = に対する DSR = 、コストモデル: (悲観/中立/楽観) 次回は最終回、検証の外側 — 実行インフラ の話です。ボットをどの地域に置くべきかという問いに対して、「ブローカーのサーバに近い場所」という直感的な答えがなぜ半分間違いなのか。全リージョンに計測プローブを撒いて分かったことを書きます。