Benutzerdefinierte Zielfunktion
Ein zentrales Merkmal von PortfolioAnalytics ist, dass der Name einer Zielgröße eine gültige R-Funktion ist. Das Paket wurde flexibel und modular entwickelt, und benutzerdefinierte Zielfunktionen sind ein gutes Beispiel dafür. Beim Definieren einer benutzerdefinierten Momentenfunktion solltest du ein paar Richtlinien beachten:
- Die Zielfunktion muss einen einzelnen Wert zurückgeben, den der Optimierer minimiert oder maximiert.
- Es wird nachdrücklich empfohlen,
Rfür die Asset-Renditen undweightsfür die Portfoliogewichte zu verwenden.
Diese Argumentnamen werden automatisch erkannt und effizient verarbeitet. Alle weiteren Argumente für die Zielfunktion kannst du als benannte Liste über arguments in der Funktion add.objective() übergeben.
Diese Übung ist Teil des Kurses
Fortgeschrittene Portfolioanalyse in R
Anleitung zur Übung
- Definiere eine benutzerdefinierte Zielfunktion, die die annualisierte Standardabweichung des Portfolios berechnet.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Custom annualized portfolio standard deviation
pasd <- function(___, ___, sigma, scale = 12){
sqrt(as.numeric(t(___) %*% ___ %*% ___)) * sqrt(scale)
}