Sharpe oranı ve Sortino oranı

Python ile Finansal Alım Satım

Chelsea Yang

Data Science Instructor

Hangi strateji daha iyi?

$$

Strateji 1:
  • Getiri: %15
  • Oynaklık (standart sapma): %30

$$

Strateji 2:
  • Getiri: %10
  • Oynaklık (standart sapma): %8
Python ile Finansal Alım Satım

Riske göre ayarlanmış getiri

  • Farklı stratejilerde performansı karşılaştırılabilir kılar
  • Getiriyi elde ederken alınan riski anlatan bir oran

Risk ve getiri

Python ile Finansal Alım Satım

Sharpe oranı

$$ \text{Sharpe Oranı} = (R_p - R_r)/\sigma_p $$

$$

  • $R_p $: Strateji, portföy, varlık vb. getirisi
  • $R_r $: Risksiz faiz oranı
  • $\sigma_p $: Fazlalık getirinin standart sapması ($R_p-R_f$)

$$

  • Sharpe oranı ne kadar büyükse getiri o kadar cazip
Python ile Finansal Alım Satım

Şimdi tekrar seçin

$$

Strateji 1:
  • Getiri: %15
  • Oynaklık (standart sapma): %30
  • Sharpe oranı: %15/%30 = 0.5

$$

Strateji 2:
  • Getiri: %10
  • Oynaklık (standart sapma): %8
  • Sharpe oranı: %10/%8 = 1.25
Python ile Finansal Alım Satım

bt geri testinden Sharpe oranını alın

resInfo = bt_result.stats
# Geri test istatistiklerinden Sharpe oranlarını alın
print('Günlük Sharpe oranı: %.2f'% resInfo.loc['daily_sharpe'])
print('Aylık Sharpe oranı %.2f'% resInfo.loc['monthly_sharpe'])
print('Yıllık Sharpe oranı %.2f'% resInfo.loc['yearly_sharpe'])
Günlük Sharpe oranı: 0.49
Aylık Sharpe oranı 0.48
Yıllık Sharpe oranı 1.34
Python ile Finansal Alım Satım

Sharpe oranını elle hesaplayın

# Yıllık getiriyi alın
annual_return = resInfo.loc['yearly_mean']

# Yıllık oynaklığı alın volatility = resInfo.loc['yearly_vol']
# Sharpe oranını elle hesaplayın sharpe_ratio = annual_return / volatility print('Yıllık Sharpe oranı %.2f'% sharpe_ratio)
Yıllık Sharpe oranı 1.34
Python ile Finansal Alım Satım

Sharpe oranının sınırlamaları

  • Hem "iyi" hem "kötü" oynaklığı cezalandırır
  • Yukarı yönlü oynaklık oranı aşağı çekebilir

Sharpe oranı sınırlamaları

Python ile Finansal Alım Satım

Sortino oranı

$$ \text{Sortino Oranı} = (R_p - R_r)/\sigma_d $$

  • $R_p $: Strateji, portföy, varlık vb. getirisi
  • $R_r $: Risksiz faiz oranı
  • $\sigma_d $: Aşağı yönlü fazlalık getiri sapması ($R_p-R_f$)

Aşağı yönlü oynaklık

Python ile Finansal Alım Satım

bt geri testinden Sortino oranını alın

resInfo = bt_result.stats
# Geri test istatistiklerinden Sortino oranını alın
print('Günlük Sortino oranı: %.2f'% resInfo.loc['daily_sortino'])
print('Aylık Sortino oranı %.2f'% resInfo.loc['monthly_sortino'])
print('Yıllık Sortino oranı %.2f'% resInfo.loc['yearly_sortino'])
Günlük Sortino oranı: 0.70
Aylık Sortino oranı 0.86
Yıllık Sortino oranı 2.29
Python ile Finansal Alım Satım

Haydi pratik yapalım!

Python ile Finansal Alım Satım

Preparing Video For Download...