Kom igångKom igång gratis

Rita den effektiva fronten med bästa Sharpe-kvot

Nu ska vi rita den effektiva fronten igen, men den här gången lägger vi till en markör för portföljen med den bästa Sharpe-kvoten. Att visualisera data är alltid en god idé för att bättre förstå den.

Kom ihåg att den effektiva fronten ritas som ett spridningsdiagram med portföljvolatilitet på x-axeln och portföljavkastning på y-axeln. Vi hämtar det senaste datumet i våra data från covariances.keys(), men vilken som helst av ordlistorna portfolio_returns m.fl. skulle också fungera. Sedan hämtar vi volatiliteter och avkastningar för det senaste datumet från portfolio_volatility respektive portfolio_returns. Till sist hämtar vi indexet för portföljen med den bästa Sharpe-kvoten från max_sharpe_idxs[date] och ritar allt med plt.scatter().

Den här övningen är en del av kursen

Maskininlärning för finans i Python

Visa kurs

Övningsinstruktioner

  • Sätt cur_volatility till portföljvolatiliteterna för det senaste date.
  • Bygg upp diagrammet för den "effektiva fronten" genom att rita volatilitet på x-axeln och avkastning på y-axeln.
  • Hämta indexet för den bästa portföljen för det senaste date från max_sharpe_idxs.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod