Rasio Sharpe dan Rasio Sortino

Perdagangan Finansial dengan Python

Chelsea Yang

Data Science Instructor

Strategi mana yang lebih baik?

$$

Strategi 1:
  • Return: 15%
  • Volatilitas (simpangan baku): 30%

$$

Strategi 2:
  • Return: 10%
  • Volatilitas (simpangan baku): 8%
Perdagangan Finansial dengan Python

Return disesuaikan risiko

  • Membuat kinerja dapat dibandingkan antar strategi
  • Rasio yang menggambarkan risiko untuk memperoleh return

Risiko vs. imbal hasil

Perdagangan Finansial dengan Python

Rasio Sharpe

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

$$

  • $R_p $: Return strategi, portofolio, aset, dll.
  • $R_r $: Suku bunga bebas risiko
  • $\sigma_p $: Simpangan baku dari excess return ($R_p-R_f$)

$$

  • Semakin besar rasio Sharpe, semakin menarik return-nya
Perdagangan Finansial dengan Python

Pilih lagi sekarang

$$

Strategi 1:
  • Return: 15%
  • Volatilitas (simpangan baku): 30%
  • Rasio Sharpe: 15%/30% = 0.5

$$

Strategi 2:
  • Return: 10%
  • Volatilitas (simpangan baku): 8%
  • Rasio Sharpe: 10%/8% = 1.25
Perdagangan Finansial dengan Python

Dapatkan rasio Sharpe dari backtest bt

resInfo = bt_result.stats
# Get Sharpe ratios from the backtest stats
print('Sharpe ratio daily: %.2f'% resInfo.loc['daily_sharpe'])
print('Sharpe ratio monthly %.2f'% resInfo.loc['monthly_sharpe'])
print('Sharpe ratio annually %.2f'% resInfo.loc['yearly_sharpe'])
Sharpe ratio harian: 0.49
Sharpe ratio bulanan 0.48
Sharpe ratio tahunan 1.34
Perdagangan Finansial dengan Python

Hitung rasio Sharpe secara manual

# Obtain annual return
annual_return = resInfo.loc['yearly_mean']

# Obtain annual volatility volatility = resInfo.loc['yearly_vol']
# Calculate Sharpe ratio manually sharpe_ratio = annual_return / volatility print('Sharpe ratio annually %.2f'% sharpe_ratio)
Sharpe ratio tahunan 1.34
Perdagangan Finansial dengan Python

Batasan rasio Sharpe

  • Menghukum volatilitas “baik” dan “buruk” sekaligus
  • Volatilitas sisi atas bisa menurunkan rasio

Batasan rasio Sharpe

Perdagangan Finansial dengan Python

Rasio Sortino

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

  • $R_p $: Return strategi, portofolio, aset, dll.
  • $R_r $: Suku bunga bebas risiko
  • $\sigma_d $: Deviasi sisi bawah dari excess return ($R_p-R_f$)

Volatilitas sisi bawah

Perdagangan Finansial dengan Python

Dapatkan rasio Sortino dari backtest bt

resInfo = bt_result.stats
# Get Sortino ratio from backtest stats
print('Sortino ratio daily: %.2f'% resInfo.loc['daily_sortino'])
print('Sortino ratio monthly %.2f'% resInfo.loc['monthly_sortino'])
print('Sortino ratio annually %.2f'% resInfo.loc['yearly_sortino'])
Sortino ratio harian: 0.70
Sortino ratio bulanan 0.86
Sortino ratio tahunan 2.29
Perdagangan Finansial dengan Python

Ayo berlatih!

Perdagangan Finansial dengan Python

Preparing Video For Download...