Zpřesnění omezení a cílů
Předpokládáme, že zpřesnění omezení a/nebo cílů výkonnost portfolia zlepší. Přidáme cíl rizikového rozpočtu, který nastaví minimální a maximální procentuální příspěvek každého aktiva k celkovému riziku. Budeme stavět na specifikaci portfolia, kterou jsme již vytvořili. Jde o složitější optimalizační úlohu, která vyžaduje globální řešič – jako metodu optimalizace proto použijeme náhodná portfolia.
Toto cvičení je součástí kurzu
Intermediate Portfolio Analysis in R
Pokyny k cvičení
- Přidej do
port_speccíl rizikového rozpočturisk_budget, kde je riziko definováno jako směrodatná odchylka. Nastav minimální procentuální příspěvek k riziku na 5 % a maximální na 10 %. - Spusť optimalizaci s čtvrtletním rebalancováním. Nastav tréninkové období a klouzavé okno na 5 let dat. Výsledky ulož do proměnné
opt_rebal_rb. - Zobraz graf vah.
- Zobraz graf procentuálního příspěvku jednotlivých složek k riziku.
- Vypočítej výnosy portfolia pomocí
Return.portfolio(). Výnosy ulož do proměnnéreturns_rb.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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"