Analiz: Sortino oranı

Tanım:

Sortino Oranı, Frank Sortino tarafından geliştirilen Sharpe Oranı'nın bir modifikasyonudur. Sharpe Oranı'nın aksine, pozitif volatiliteyi göz ardı ederek yalnızca yatırımcı için tehlikeli olan düşüşlere odaklanır.

Yorumlama:

Getirinin riski ne kadar iyi telafi ettiğini gösterir. Nihai değer, %1'lik aşağı yönlü sapmaya yüzde kaç getiri karşılık geldiğini doğrudan gösterir.

Göstergenin genel kabul görmüş hedef değeri ≥ 2'dir, ancak kıyaslama ölçütü ile olan oran ve piyasa durumu her zaman dikkate alınmalıdır.

Örnek:

Portföy:

  • Risksiz Faiz Oranı (RFR) = %2
  • 2025-01-01 tarihinde 1000 para yatırma
  • 2025-03-03 tarihinde NASDAQ:AAPL alımı (miktar:1, fiyat: 190, komisyon: 0)
  • 2025-04-11 Sortino Oranı hesaplama tarihi. AAPL son fiyatı = 198,15

Portföyün Sortino oranı %0,047:

  • Aşağı yönlü risk, getiri tarafından zayıf bir şekilde telafi edilmektedir
  • Kabul edilen her yüzde birlik aşağı yönlü sapma, yalnızca %0,047'lik ek getiri sağlamıştır

Kıyaslama ölçütünün Sortino oranı -%0,817:

  • Her bir yüzde birimlik aşağı yönlü sapma için, kıyaslama ölçütü risksiz faiz oranına göre %0,817 getiri kaybetmiştir

Not: Hesaplamanın basitleştirilmesi için ele alınan gözlemlenen dönemin kısa vadeli yapısı dikkate alınmalıdır.

Hesaplama:

Sortino Oranı = (Rp − RFR) / DD

  • Rp (Portföy Getirisi) — TWR yöntemi kullanılarak dönem için aylık olarak hesaplanan yüzde cinsinden portföy performansı

  • RFR (Risksiz Faiz Oranı) — portföy ayarlarından alınır. Ayarlarda yıllık oran belirlendiğinden, hesaplamadan önce dönemin oranına dönüştürülmelidir

  • DD (Aşağı Yönlü Sapma) — döneme ait negatif performans değerleri arasındaki standart sapma

Yorumlama bölümündeki Sortino Oranı hesaplama örneği:

  1. Aylık RFR hesaplaması:
     2 / 12 = %0,167
  2. Rp hesaplaması:
     Dönemlere göre performans:
    1. Ocak: 0
    2. Şubat: 0
    3. Mart: %3,2 (elde edilen: 31 Mart'taki portföy değeri → ((1032,13 − 1000) / 1000) * 100 )
    4. Nisan: −%2,3 (elde edilen: ((1008,15 − 1032,13) / 1032,13) * 100 )

Rp = (0 + 0 + 3,2 − 2,3) / 4 = 0,225

  1. DD hesaplaması:
    1. Ocak: min(0, 0 − 0,167)² = 0,0279
    2. Şubat: min(0, 0 − 0,167)² = 0,0279
    3. Mart: min(0, 3,2 − 0,167)² = 0
    4. Nisan: min(0, −2,3 − 0,167)² = 6,1009

DD = ((0,0279 + 0,0279 + 0 + 6,1009) / 4)^(1/2) = %1,24

  1. Sortino Oranı hesaplaması:
    SR = (Rp − RFR) / DD = (%0,225 − %0,167) / %1,24 ≈ %0,047

Pine Referansı:

//@version=6
indicator("Sortino oranı örneği")
method downsideDeviation(array returns, series float targetReturn) =>
    float sum = 0.0
    for r in returns
        if r >= targetReturn
            continue
        sum += math.pow(r - targetReturn, 2)
    sum /= returns.size()
    float result = math.sqrt(sum)

method sortinoRatio(array returnsArray, series float annualBenchmark) =>
    var int numberOfperiods = 12
    if barstate.islast
        float fixedPeriodReturn = annualBenchmark / numberOfperiods
        float downsideDev       = returnsArray.downsideDeviation(fixedPeriodReturn)
        float avgReturn         = returnsArray.avg()
        float result            = (avgReturn - fixedPeriodReturn) / downsideDev

array arr = array.from(0, 0, 3.2, -2.3)
float sortino = sortinoRatio(arr, 2)
plot(sortino, precision = 3)

Not:

Göstergenin hesaplama tarihine göre tüm işlemler içinde bulunulan ayda yapılmışsa, tamamlanmış tek bir takvim ayı olmadığı için gösterge hesaplanmayacaktır.

Ayrıca okuyun