Začněte nyníZačněte zdarma

Vykreslení efektivní hranice s nejlepším Sharpe ratio

Teď si efektivní hranici vykreslíme znovu, tentokrát ale přidáme značku pro portfolio s nejlepším Sharpe indexem. Vizualizace dat je vždy dobrý nápad — lépe tak pochopíš, co za nimi stojí.

Připomeňme si, že efektivní hranice se zobrazuje jako scatter plot s volatilitou portfolia na ose x a výnosy portfolia na ose y. Nejnovější datum v datech získáme z covariances.keys(), i když by šlo použít i kterýkoli ze slovníků portfolio_returns apod. Pak načteme volatility a výnosy pro toto nejnovější datum z portfolio_volatility a portfolio_returns. Nakonec zjistíme index portfolia s nejlepším Sharpe indexem z max_sharpe_idxs[date] a vše vykreslíme pomocí plt.scatter().

Toto cvičení je součástí kurzu

Machine Learning for Finance in Python

Zobrazit kurz

Pokyny k cvičení

  • Nastav cur_volatility na volatility portfolií pro nejnovější date.
  • Sestav graf „efektivní hranice" tak, že na osu x dosadíš volatilitu a na osu y výnosy.
  • Z max_sharpe_idxs získej index nejlepšího portfolia pro nejnovější date.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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()
Upravit a spustit kód