En iyi Sharpe oranıyla etkin sınırı çiz
Şimdi etkin sınırı tekrar çizelim ama bu kez en iyi Sharpe endeksine sahip portföy için bir işaretleyici ekleyelim. Veriyi görselleştirmek, onu daha iyi anlamak için her zaman iyi bir fikirdir.
Hatırlarsan etkin sınır, x ekseninde portföy volatilitesi, y ekseninde portföy getirileri olacak şekilde bir saçılma grafiğiyle çizilir. Verimizdeki en son tarihi covariances.keys() içinden alacağız; aslında tarihi almak için portfolio_returns vb. sözlüklerden herhangi biri de kullanılabilir. Ardından elimizdeki en son tarih için volatilite ve getirilere portfolio_volatility ve portfolio_returns üzerinden erişeceğiz. Son olarak en iyi Sharpe endeksine sahip portföyün indeksini max_sharpe_idxs[date] ile alıp her şeyi plt.scatter() ile çizeceğiz.
Bu egzersiz, kursun bir parçasıdır
Python ile Finans için Machine Learning
Egzersiz talimatları
cur_volatilitydeğişkenini, en günceldateiçin portföy volatilitesi olacak şekilde ayarla.- Volatiliteyi x eksenine, getirileri y eksenine koyarak "etkin sınır" grafiğini oluştur.
- En güncel
dateiçin en iyi portföy indeksinimax_sharpe_idxsiçinden al.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Get most recent (current) returns and volatility
date = sorted(covariances.keys())[-1]
cur_returns = portfolio_returns[date]
cur_volatility = ____
# Plot efficient frontier with sharpe as point
plt.scatter(x=____, y=____, alpha=0.1, color='blue')
best_idx = max_sharpe_idxs[____]
# Place an orange "X" on the point with the best Sharpe ratio
plt.scatter(x=cur_volatility[best_idx], y=cur_returns[best_idx], marker='x', color='orange')
plt.xlabel('Volatility')
plt.ylabel('Returns')
plt.show()