Aan de slagBegin gratis

Efficiënte grens plotten met beste Sharpe-ratio

Laten we nu de efficiënte grens opnieuw plotten en een markering toevoegen voor het portfolio met de beste Sharpe-index. Data visualiseren is altijd een goed idee om het beter te begrijpen.

Onthoud: de efficiënte grens wordt geplot in een scatterplot met de volatiliteit van het portfolio op de x-as en de portfolio-rendementen op de y-as. We halen de meest recente datum in onze data op via covariances.keys(), al kun je ook een van de portfolio_returns- of andere woordenboeken gebruiken om de datum te krijgen. Daarna halen we de volatiliteiten en rendementen voor die laatste datum op uit portfolio_volatility en portfolio_returns. Tot slot halen we de index van het portfolio met de beste Sharpe-index uit max_sharpe_idxs[date], en plotten we alles met plt.scatter().

Deze oefening maakt deel uit van de cursus

Machine Learning voor finance in Python

Bekijk cursus

Oefeninstructies

  • Stel cur_volatility in op de portfolio-volatiliteiten voor de laatste date.
  • Maak de plot van de "efficiënte grens" door de volatiliteit op de x-as en de rendementen op de y-as te zetten.
  • Haal de index van het beste portfolio voor de laatste date op uit max_sharpe_idxs.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# 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()
Code bewerken en uitvoeren