Nebenbedingungen und Ziele verfeinern
Wir vermuten hier, dass das Verfeinern von Nebenbedingungen und/oder Zielen die Performance verbessert. Füge eine Risk-Budget-Objective hinzu, um einen minimalen und maximalen prozentualen Risikobeitrag für jedes Asset festzulegen. Wir bauen auf der zuvor erstellten Portfoliospezifikation auf. Das ist ein komplexeres Optimierungsproblem und erfordert einen globalen Solver, daher verwenden wir Zufallsportfolios als Optimierungsmethode.
Diese Übung ist Teil des Kurses
Fortgeschrittene Portfolioanalyse in R
Anleitung zur Übung
- Füge
port_speceine Risk-Budget-Objectiverisk_budgethinzu, wobei Risiko als Standardabweichung definiert ist. Setze den minimalen prozentualen Risikobeitrag auf 5 % und den maximalen auf 10 %. - Führe die Optimierung mit quartalsweiser Umschichtung durch. Setze Trainingszeitraum und Rolling Window auf 5 Jahre Daten. Weisen die Ergebnisse einer Variablen namens
opt_rebal_rbzu. - Stelle die Gewichte grafisch dar.
- Stelle den prozentualen Komponentenbeitrag zum Risiko grafisch dar.
- Berechne die Portfoliorenditen mit
Return.portfolio(). Weise die Renditen einer Variablen namensreturns_rbzu.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Add a risk budge objective
port_spec <- add.objective(portfolio = ___,
type = ___,
name = ___,
min_prisk = ___,
max_prisk = ___)
# Run the optimization
opt_rebal_rb <- optimize.portfolio.rebalancing(R = ___,
portfolio = ___,
optimize_method = "random", rp = rp,
trace = TRUE,
rebalance_on = ___,
training_period = ___,
rolling_window = ___)
# Chart the weights
# Chart the percentage contribution to risk
chart.RiskBudget(___, match.col = "StdDev", risk.type = ___)
# Compute the portfolio returns
returns_rb <- Return.portfolio(R = ___, weights = ___)
colnames(returns_rb) <- "risk_budget"