LoslegenKostenlos loslegen

Optimierung mit periodischem Rebalancing

Die Optimierung mit periodischem Rebalancing durchzuführen und die Out-of-Sample-Ergebnisse des Backtests zu analysieren, ist ein wichtiger Schritt, um die Constraints und Objectives besser zu verstehen und ggf. zu verfeinern. optimize.portfolio.rebalancing() unterstützt Optimierungen mit periodischem Rebalancing (Backtesting), um die Out-of-Sample-Performance zu untersuchen. Zusätzlich zu den Argumenten für optimize.portfolio() müssen eine Rebalancing-Frequenz mit rebalance_on, ein training_period zur Angabe der Anzahl der Perioden für die Trainingsdaten der initialen Optimierung und ein rolling_window zur Angabe der Periodenanzahl für die Fensterbreite der Optimierung spezifiziert werden. Wenn rolling_window auf NULL gesetzt ist, verwendet jede Optimierung alle verfügbaren Daten zu dem Zeitpunkt, an dem die Optimierung ausgeführt wird.

Um die Rechenzeit für diese Übung zu reduzieren, wird die Menge der Zufallsportfolios rp mit 50 Permutationen erzeugt, und search_size (wie viele Portfolios getestet werden) ist auf 1000 gesetzt. Wenn du selbst Portfolios optimierst, wirst du wahrscheinlich mehr Portfolios testen wollen (der Standardwert für search_size ist 20.000)!

Diese Übung ist Teil des Kurses

Fortgeschrittene Portfolioanalyse in R

Kurs anzeigen

Anleitung zur Übung

  • Führe die Optimierung mit quartalsweisem Rebalancing aus. Setze Trainingsperiode und Rolling Window auf 60 Perioden. Der Datensatz enthält Monatsdaten, daher verwenden wir 5 Jahre historische Daten. Weise die Optimierungsausgabe einer Variablen namens opt_rebal zu.
  • Gib die Ergebnisse der Optimierung aus.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Run the optimization backtest with quarterly rebalancing
opt_rebal <- optimize.portfolio.rebalancing(R = ___, portfolio = ___, optimize_method = ___, rp = rp, trace = TRUE, search_size = 1000, rebalance_on = ___, training_period = ___, rolling_window = ___)


# Print the output of the optimization backtest
Code bearbeiten und ausführen