🎓 レベル:標準 | 重要度:A(必須)
📎 前提:CAPMと証券市場線 | 関連:リスクの測り方(√t則)・効率的フロンティア(資本市場線)
要点(BLUF)
- シャープレシオ は、リスク1単位あたりに何%の超過リターンを得たかの指標。資本市場線の傾きそのものです。
- 接点ポートフォリオはシャープレシオを最大化する配分。だから「危険資産だけで作れる最良のポートフォリオ」になります。
- 目的に応じて指標を使い分けます:トレイナー(ベータ基準)、インフォメーションレシオ(対ベンチマーク)、ソルティノ(下方リスク基準)、ジェンセンのアルファ(CAPM 超過)。
1. シャープレシオの定義
運用成績を「リターンの高さ」だけで比べてはいけません。高リターンでも、それが大きなリスクの結果なら評価できないからです。シャープレシオは、超過リターン(リスクフリーを上回る分)をリスク(ボラ)で割って、リスク調整後のリターンを測ります。
分子は「取ったリスクへの報酬」、分母は「取ったリスクの量」。 が大きいほど、同じリスクでより多くの超過リターンを稼いだ=効率が良い運用です。効率的フロンティア で見たとおり、これは資本市場線の傾きに一致します。
2. 接点ポートフォリオはシャープレシオ最大
資本市場線が効率的フロンティアに接する点(接点ポートフォリオ)は、リスクフリーから引いた直線の傾きが最大になる点でした。傾き=シャープレシオなので、接点ポートフォリオこそシャープレシオを最大化する危険資産の配分です。これを、ランダムな配分を大量に試す力技で確かめます。
import numpy as np
mu = np.array([0.08, 0.12, 0.15, 0.10])
sig = np.array([0.12, 0.20, 0.25, 0.15])
corr = np.array([
[1.00, 0.30, 0.20, 0.40],
[0.30, 1.00, 0.50, 0.30],
[0.20, 0.50, 1.00, 0.25],
[0.40, 0.30, 0.25, 1.00],
])
Sigma = np.outer(sig, sig) * corr
ones = np.ones(len(mu)); Sinv = np.linalg.inv(Sigma)
rf = 0.03
# 解析解の接点ポートフォリオのシャープレシオ
excess = mu - rf*ones
w_tan = Sinv @ excess / (ones @ Sinv @ excess)
tan_sharpe = (w_tan @ mu - rf) / np.sqrt(w_tan @ Sigma @ w_tan)
# ランダムなロングオンリー配分を20万通り試して最大シャープを探す
rng = np.random.default_rng(7)
best = -np.inf
for _ in range(200000):
w = rng.random(len(mu)); w /= w.sum()
s = (w @ mu - rf) / np.sqrt(w @ Sigma @ w)
best = max(best, s)
print(f"ランダム探索の最大シャープレシオ: {best:.4f}")
print(f"接点ポートフォリオのシャープレシオ: {tan_sharpe:.4f}")
出力:
ランダム探索の最大シャープレシオ: 0.6492
接点ポートフォリオのシャープレシオ: 0.6492
出力の意味:20万通りのランダム配分をしらみつぶしに探しても、最大シャープレシオは 0.6492 までで、解析解の接点ポートフォリオ(0.6492)にぴたり一致します。今回は接点がたまたまロングオンリー(全配分が正)なので両者が完全一致しました。「シャープレシオを最大化せよ」と「接点ポートフォリオを持て」は同じこと——最適化を解かずとも、接点の閉形式 で一発で求まります。
3. シャープレシオのアニュアライズ
シャープレシオは測定する時間間隔に依存します。リターンが期間ごとに独立同分布なら、超過リターンは時間に比例()、ボラは リスクの測り方 の √t則で なので、シャープレシオは で伸びます。
import numpy as np
sharpe_monthly = 0.15 # 月次シャープレシオ
sharpe_annual = sharpe_monthly * np.sqrt(12) # iid なら ×√12
print(f"月次シャープ {sharpe_monthly} → 年次シャープ {sharpe_annual:.4f}")
出力:
月次シャープ 0.15 → 年次シャープ 0.5196
出力の意味:月次シャープ 0.15 は、年次に直すと約 0.52。シャープレシオを比較するときは同じ時間軸(ふつう年次)にそろえるのが鉄則です。日次なら 。なお、リターンに自己相関があると √t則は崩れ、アニュアライズは過大・過小評価になります(要注意)。
4. 他のパフォーマンス指標
シャープレシオは「総リスク(ボラ)」基準ですが、目的によって分母を変えた指標があります。
- トレイナー・レシオ:。分母をベータ(システマティックリスク)に。十分分散されたポートフォリオの評価に向きます。
- インフォメーション・レシオ(IR):。ベンチマーク への超過リターンを、その追跡誤差(トラッキングエラー)で割る。アクティブ運用の実力を測ります。分子はアルファに対応。
- ソルティノ・レシオ:分母を下方偏差(マイナス方向のばらつきだけ)に。上昇のブレをリスク扱いしない分、暴落耐性を重く見ます。
- ジェンセンのアルファ:。CAPMと証券市場線 の回帰の切片。CAPM で説明できない超過収益で、SML より上にいる度合いです。
どれも「リスク調整後リターン」という同じ思想で、**何をリスクと見るか(総リスク/ベータ/下方リスク/対ベンチマーク)**だけが違います。
⚠️ よくある誤解
- 「シャープレシオが高い=良い」を時間軸を無視して比べない:日次・月次・年次で値が変わります(√t則)。比較は必ず同じアニュアライズ基準で。
- シャープレシオは正規性を暗に仮定する:分母のボラは上下のブレを同じに扱うため、テールの厚い(暴落しやすい)戦略を過大評価しがちです。下方リスクを見たいならソルティノ、テールは第8章の VaR・CVaR を併用します。
- 「アルファが正=実力」とは限らない:アルファは推定値で、運やデータマイニングでも正に出ます。統計的有意性(t値)とサンプル長、取引コスト控除後かを確認しないと、見せかけのアルファに騙されます。
関連ノート
- 第2章 ポートフォリオ理論 目次
- CAPMと証券市場線 — 前提:アルファとベータ
- 効率的フロンティア — 接点=シャープ最大の幾何的意味
- リスクの測り方 — √t則(アニュアライズの根拠)
- 金融工学テキスト 全体目次 — 第3章 確率過程と資産価格へ続く