LoslegenKostenlos loslegen

Optimierung mit benutzerdefinierter Zielfunktion

Diese Übung baut auf der vorherigen auf. Wir führen die Optimierung mit der benutzerdefinierten Zielfunktion aus, die die annualisierte Standardabweichung des Portfolios berechnet. Da eine Zielfunktion jede gültige R-Funktion sein kann, fügen wir eine Risiko-Objective für die Funktion pasd() hinzu. Die Funktion set.portfolio.moments() erkennt den Objective-Namen pasd() nicht, daher müssen wir eine benutzerdefinierte Momentfunktion erstellen, um das zweite Moment, sigma, zu berechnen. Wir lösen das Problem mithilfe zufälliger Portfolios als Optimierungsmethode.

Diese Übung ist Teil des Kurses

Fortgeschrittene Portfolioanalyse in R

Kurs anzeigen

Anleitung zur Übung

  • Füge die benutzerdefinierte Zielfunktion aus der vorherigen Übung dem Portfolio-Spezifikationsobjekt hinzu.
  • Gib das Portfolio-Spezifikationsobjekt aus, um die Nebenbedingungen und die Objective zu sehen.
  • Führe die Optimierung aus. Der Name der benutzerdefinierten Momentfunktion ist set_sigma.
  • Gib die Ergebnisse der Optimierung aus.

Interaktive Übung

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


# Add custom objective to portfolio specification
port_spec <- add.objective(portfolio = ___, type = ___, name = ___)

# Print the portfolio specificaton object


# Run the optimization
opt <- optimize.portfolio(R = ___, portfolio = ___, momentFUN = ___, optimize_method = "random", rp = rp)

# Print the results of the optimization

Code bearbeiten und ausführen