Plotta den effektiva fronten
Nu kan vi äntligen plotta resultaten från våra MPT-portföljer och visualisera den så kallade "effektiva fronten". Det är ett diagram över volatilitet kontra avkastning, vilket hjälper oss att se riskavkastningsprofilen för olika portföljer. Den övre vänstra gränsen av punkterna representerar det bästa möjliga utfallet – högst avkastning för en given risk – och det är den effektiva fronten.
För att skapa diagrammet använder vi det senaste datumet i vår ordlista covariances, som vi skapade tidigare. Ordlistan har datum som nycklar, så vi hämtar de sorterade nycklarna med sorted() och .keys() och tar sedan den sista posten med Python-indexering ([-1]). Slutligen använder vi matplotlib för att plotta varians mot avkastning och visualisera den effektiva fronten för det senaste datumet i data.
Den här övningen är en del av kursen
Maskininlärning för finans i Python
Övningsinstruktioner
- Hämta det senaste datumet från ordlistan
covariances– kom ihåg att datumen är nycklarna. - Plotta volatilitet mot avkastning (
portfolio_returns) för det senaste datumet i ett punktdiagram och sättalpha-värdet för transparens till0.1.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Get latest date of available data
date = sorted(covariances.____)[____]
# Plot efficient frontier
# warning: this can take at least 10s for the plot to execute...
plt.scatter(x=portfolio_volatility[date], y=____, alpha=____)
plt.xlabel('Volatility')
plt.ylabel('Returns')
plt.show()