Sharpe ratio और Sortino ratio

Python में फाइनेंशियल ट्रेडिंग

Chelsea Yang

Data Science Instructor

कौन सी strategy बेहतर प्रदर्शन करती है?

$$

Strategy 1:
  • रिटर्न: 15%
  • वोलैटिलिटी (standard deviation): 30%

$$

Strategy 2:
  • रिटर्न: 10%
  • वोलैटिलिटी (standard deviation): 8%
Python में फाइनेंशियल ट्रेडिंग

Risk-adjusted return

  • अलग-अलग strategies की परफॉर्मेंस को तुलनीय बनाना
  • एक ratio जो रिटर्न पाने में लिए गए जोखिम को बताता है

जोखिम बनाम रिवार्ड

Python में फाइनेंशियल ट्रेडिंग

Sharpe ratio

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

$$

  • $R_p $: किसी strategy, portfolio, asset आदि का रिटर्न
  • $R_r $: Risk-free rate
  • $\sigma_p $: excess return ($R_p-R_f$) का standard deviation

$$

  • Sharpe ratio जितना बड़ा, रिटर्न उतना आकर्षक
Python में फाइनेंशियल ट्रेडिंग

अब फिर से चुनें

$$

Strategy 1:
  • रिटर्न: 15%
  • वोलैटिलिटी (standard deviation): 30%
  • Sharpe ratio: 15%/30% = 0.5

$$

Strategy 2:
  • रिटर्न: 10%
  • वोलैटिलिटी (standard deviation): 8%
  • Sharpe ratio: 10%/8% = 1.25
Python में फाइनेंशियल ट्रेडिंग

bt बैकटेस्ट से Sharpe ratio प्राप्त करें

resInfo = bt_result.stats
# बैकटेस्ट stats से Sharpe ratios प्राप्त करें
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
Python में फाइनेंशियल ट्रेडिंग

Sharpe ratio मैन्युअल कैलकुलेशन

# वार्षिक रिटर्न प्राप्त करें
annual_return = resInfo.loc['yearly_mean']

# वार्षिक वोलैटिलिटी प्राप्त करें volatility = resInfo.loc['yearly_vol']
# Sharpe ratio मैन्युअली निकालें sharpe_ratio = annual_return / volatility print('Sharpe ratio annually %.2f'% sharpe_ratio)
Sharpe ratio annually 1.34
Python में फाइनेंशियल ट्रेडिंग

Sharpe ratio की सीमाएँ

  • "अच्छी" और "खराब" दोनों वोलैटिलिटी को पेनलाइज़ करता है
  • ऊपर की ओर वोलैटिलिटी ratio को नीचे की तरफ झुका सकती है

Sharpe ratio की सीमाएँ

Python में फाइनेंशियल ट्रेडिंग

Sortino ratio

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

  • $R_p $: किसी strategy, portfolio, asset आदि का रिटर्न
  • $R_r $: Risk-free rate
  • $\sigma_d $: excess return ($R_p-R_f$) का downside deviation

डाउनसाइड वोल

Python में फाइनेंशियल ट्रेडिंग

bt बैकटेस्ट से Sortino ratio प्राप्त करें

resInfo = bt_result.stats
# बैकटेस्ट stats से Sortino ratio प्राप्त करें
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
Python में फाइनेंशियल ट्रेडिंग

अभ्यास करते हैं!

Python में फाइनेंशियल ट्रेडिंग

Preparing Video For Download...