ÎncepețiÎncepe gratuit

Trasează frontiera eficientă cu cel mai bun raport Sharpe

Acum vom trasa din nou frontiera eficientă, adăugând de această dată un marcator pentru portofoliul cu cel mai bun indice Sharpe. Vizualizarea datelor este întotdeauna o idee bună pentru a le înțelege mai bine.

Reamintește-ți că frontiera eficientă se reprezintă printr-o diagramă scatter, cu volatilitatea portofoliului pe axa x și randamentele portofoliului pe axa y. Vom obține cea mai recentă dată disponibilă în datele noastre din covariances.keys(), deși oricare dintre dicționarele portfolio_returns etc. poate fi folosit în același scop. Apoi extragem volatilitățile și randamentele pentru cea mai recentă dată din portfolio_volatility și portfolio_returns. În final, obținem indexul portofoliului cu cel mai bun indice Sharpe din max_sharpe_idxs[date] și reprezentăm totul cu plt.scatter().

Acest exercițiu face parte din cursul

Machine Learning pentru finanțe în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Setează cur_volatility la volatilitățile portofoliului pentru cea mai recentă date.
  • Construiește diagrama „frontiera eficientă" reprezentând volatilitatea pe axa x și randamentele pe axa y.
  • Obține indexul celui mai bun portofoliu pentru cea mai recentă date din max_sharpe_idxs.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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()
Editează și rulează codul