LoslegenKostenlos starten

Effizienzlinie mit bestem Sharpe-Verhältnis plotten

Plotte jetzt erneut die Effizienzlinie und füge einen Marker für das Portfolio mit dem besten Sharpe-Index hinzu. Daten zu visualisieren ist immer eine gute Idee, um sie besser zu verstehen.

Zur Erinnerung: Die Effizienzlinie wird als Streudiagramm mit der Portfoliovolatilität auf der x-Achse und den Portfoliorenditen auf der y-Achse dargestellt. Wir holen uns das jüngste Datum in unseren Daten aus covariances.keys(), wobei alternativ auch eines der Dictionaries wie portfolio_returns usw. verwendet werden könnte, um das Datum zu erhalten. Dann holen wir die Volatilitäten und Renditen für das jüngste Datum aus portfolio_volatility und portfolio_returns. Schließlich holen wir uns den Index des Portfolios mit dem besten Sharpe-Index aus max_sharpe_idxs[date] und plotten alles mit plt.scatter().

Diese Übung ist Teil des Kurses

<Kurs>Maschinelles Lernen für Finanzen in Python</Kurs>
Kurs ansehen

Übungsanweisungen

  • Setze cur_volatility auf die Portfoliovolatilitäten für das jüngste date.
  • Erstelle den Plot der „Effizienzlinie", indem du die Volatilität auf der x-Achse und die Renditen auf der y-Achse darstellst.
  • Hole den Index des besten Portfolios für das jüngste date aus max_sharpe_idxs.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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 bearbeiten und ausführen