분석: 샤프 지수 (Sharpe ratio)

정의

1966년에 노벨상 수상자 윌리엄 샤프가 개발한 샤프 지수는 위험을 기준으로 투자 효율성을 측정합니다. 이 지수는 포트폴리오가 위험(변동성) 단위당 얼마나 많은 초과 수익(무위험 이자율 이상)을 창출하는지를 나타냅니다.

해석

벤치마크와 포트폴리오의 가치를 비교할 때, 우리가 평가하는 것은 위험의 레벨이라는 점을 이해하는 것이 중요합니다. 값이 0에 가까울수록 수익률이 위험을 정당화하는 정도가 낮습니다.

예시:

포트폴리오:

  • 위험 무료 금리(RFR) = 2%
  • 2025-01-01 1,000 예금
  • 2025-03-03 NASDAQ:AAPL 구매 (수량: 1, 가격: 190, 수수료: 0)
  • 2025-04-11 샤프 지수 계산일. AAPL의 마지막 가격 = 198.15

샤프 지수 포트폴리오 0.029%:

  • 무위험 이자율(연간 2%)을 간신히 초과했습니다.
  • 수익이 위험을 보상하기에는 부족합니다.

샤프 지수 벤치마크 -1.396%:

  • 마이너스 수익률. 허용할 수 없는 위험 레벨입니다.

참고: 계산을 단순화하기 위해 사용된 기간의 단기적 특성을 고려하는 것이 중요합니다.

일반적으로 1 이상의 값이 최적의 값으로 간주되며, 이는 위험이 수익으로 정당화될 수 있음을 나타냅니다.

표준 해석을 참고하거나 포트폴리오의 샤프 지수를 벤치마크와 비교할 수 있습니다.

계산:

샤프 지수 = (Rp − RFR) / SD

  • Rp (포트폴리오 수익률) — TWR 방법을 사용하여 기간 동안 매월 계산된 포트폴리오의 성과(백분율)
  • RFR (무위험 이자율) — 포트폴리오 설정에서 가져온 값입니다. 설정에서 연간 이자율이 설정되어 있으므로, 계산 전에 기간 이자율로 변환해야 합니다.
  • SD (포트폴리오 수익률의 표준 편차) — 기간 동안의 모든 성과 값의 표준 편차

해석에 의한 샤프 지수 계산의 예:

  1. 월별 RFR 계산:
     2 / 12 = 0.167%
  2. Rp 계산:
     기간별 성과:
    1. 1월: 0
    2. 2월: 0
    3. 3월: 3.2% (계산 방법: 3월 31일 현재 순자산 → ((1032.13 − 1000) / 1000) * 100 )
    4. 4월: -2.3% (계산 방법: ((1008.15 − 1032.13) / 1032.13) * 100)
      Rp = (0 + 0 + 3.2 − 2.3) / 4 = 0.225
  3. 표준편차(SD) 계산:
    평균으로부터의 제곱 편차:
  1. 1월: (0 − 0.225)² = 0.05
  2. 2월: (0 − 0.225)² = 0.05
  3. 3월: (3.2 − 0.225)² = 8.85
  4. 4월: (−2.3 − 0.225)² = 6.37

분산: (0.05 + 0.05 + 8.85 + 6.37) / 4 = 3.83

표준편차 (SD): √3.83 = 1.957%

샤프 비율 계산:

 SR = (Rp − RFR) / SD = (0.225 − 0.167) / 1.957 = 0.029%

참조 Pine Script:

//@version=6
indicator("Sharpe Ratio example")
sharpeRatio( array<float> returnsArray, series float annualBenchmark) =>
    numberOfperiods = 12
    if barstate.islast
        float fixedPeriodReturn = annualBenchmark / numberOfperiods
        float standardDev       = returnsArray.stdev()
        float avgReturn         = returnsArray.avg()
        float result            = (avgReturn - fixedPeriodReturn) / standardDev
    
array<float> arr = array.from(0,0,3.2, -2.3)
float sharpe = sharpeRatio(arr,2)
plot(sharpe, precision = 3)
Generic

참고

샤프 지수 계산 날짜를 기준으로 모든 트랜잭션이 당월에 이루어진 경우, 완료된 달이 없기 때문에 인디케이터는 계산되지 않습니다.

링크