• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

ソルティレシオ

date: 2024-10-03 excerpt: ソルティレシオについて

tag: 投資シャープレシオリスクリターンソルティレシオ


ソルティレシオについて

概要

  • シャープレシオはリターンのプラスマイナスの双方を考慮した指標であるが、マイナスのリターンに限定して考える指標がソルティレシオ
  • ユースケースとしては、株価の下落時のリスクに着目したい場合に利用する

具体例

import pandas as pd
import yfinance as yf
import numpy as np

# Yahoo Finance からデータを取得
tickers = ['QQQ', 'VOO']
data = yf.download(tickers, start='2024-01-01', end='2024-10-01')['Adj Close']

# 日次リターンを計算
returns = data.pct_change().dropna()

# 目標リターンを設定
target_return = 0  # ここでは0を設定

# 下方リスクを計算する関数
def downside_deviation(returns, target_return=0):
    # リターンが目標リターンを下回る場合のみ差分を計算
    downside_diff = np.where(returns < target_return, target_return - returns, 0)
    # 下方標準偏差を計算(ddof=1 を指定)
    return np.std(downside_diff, ddof=1)

# 下方リスクを計算
downside_risk = returns.apply(downside_deviation, target_return=target_return)

# 期待リターンを計算
expected_return = returns.mean()

# ソルティノレシオを計算
sortino_ratio = (expected_return - target_return) / downside_risk

# 結果を表示
print("日次リターンの平均:")
print(expected_return)
print("\n下方リスク:")
print(downside_risk)
print("\nソルティノレシオ(Sortino Ratio):")
print(sortino_ratio)

"""
日次リターンの平均:
Ticker
QQQ    0.001119
VOO    0.001130
dtype: float64

下方リスク:
Ticker
QQQ    0.006969
VOO    0.004772
dtype: float64

ソルティノレシオ(Sortino Ratio):
Ticker
QQQ    0.160575
VOO    0.236754
dtype: float64
"""


投資シャープレシオリスクリターンソルティレシオ Share Tweet