Tỷ lệ Sharpe và tỷ lệ Sortino

Giao dịch Tài chính với Python

Chelsea Yang

Data Science Instructor

Chiến lược nào tốt hơn?

$$

Chiến lược 1:
  • Lợi nhuận: 15%
  • Biến động (độ lệch chuẩn): 30%

$$

Chiến lược 2:
  • Lợi nhuận: 10%
  • Biến động (độ lệch chuẩn): 8%
Giao dịch Tài chính với Python

Lợi nhuận điều chỉnh theo rủi ro

  • So sánh hiệu suất giữa các chiến lược
  • Tỷ lệ mô tả rủi ro để đạt lợi nhuận

Rủi ro vs. lợi nhuận

Giao dịch Tài chính với Python

Tỷ lệ Sharpe

$$ \text{Tỷ lệ Sharpe} = (R_p - R_r)/\sigma_p $$

$$

  • $R_p $: Lợi nhuận của chiến lược, danh mục, tài sản, v.v.
  • $R_r $: Lãi suất phi rủi ro
  • $\sigma_p $: Độ lệch chuẩn của lợi nhuận vượt trội ($R_p-R_f$)

$$

  • Tỷ lệ Sharpe càng lớn càng hấp dẫn
Giao dịch Tài chính với Python

Hãy chọn lại

$$

Chiến lược 1:
  • Lợi nhuận: 15%
  • Biến động (độ lệch chuẩn): 30%
  • Tỷ lệ Sharpe: 15%/30% = 0,5

$$

Chiến lược 2:
  • Lợi nhuận: 10%
  • Biến động (độ lệch chuẩn): 8%
  • Tỷ lệ Sharpe: 10%/8% = 1,25
Giao dịch Tài chính với Python

Lấy tỷ lệ Sharpe từ 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 daily: 0.49
Sharpe ratio monthly 0.48
Sharpe ratio annually 1.34
Giao dịch Tài chính với Python

Tự tính tỷ lệ Sharpe

# 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 annually 1.34
Giao dịch Tài chính với Python

Hạn chế của tỷ lệ Sharpe

  • Phạt cả biến động “tốt” lẫn “xấu”
  • Biến động tăng có thể làm tỷ lệ giảm

Hạn chế của tỷ lệ Sharpe

Giao dịch Tài chính với Python

Tỷ lệ Sortino

$$ \text{Tỷ lệ Sortino} = (R_p - R_r)/\sigma_d $$

  • $R_p $: Lợi nhuận của chiến lược, danh mục, tài sản, v.v.
  • $R_r $: Lãi suất phi rủi ro
  • $\sigma_d $: Độ lệch chuẩn phía giảm của lợi nhuận vượt trội ($R_p-R_f$)

Biến động phía giảm

Giao dịch Tài chính với Python

Lấy tỷ lệ Sortino từ 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 daily: 0.70
Sortino ratio monthly 0.86
Sortino ratio annually 2.29
Giao dịch Tài chính với Python

Hãy luyện tập!

Giao dịch Tài chính với Python

Preparing Video For Download...