优化约束与目标
这里我们假设,细化约束和/或目标将提升表现。请添加一个风险预算目标,为每个资产设置风险贡献的最小与最大百分比。我们将在已有的投资组合规范之上继续构建。这是一个更复杂的优化问题,需要全局求解器,因此将使用随机投资组合作为优化方法。
本练习是课程的一部分
R 中级投资组合分析
练习说明
- 向
port_spec添加风险预算目标risk_budget,将风险定义为标准差。将最小风险百分比设为 5%,最大风险百分比设为 10%。 - 以季度再平衡运行优化。将训练期与滚动窗口都设为使用 5 年数据。将结果赋给名为
opt_rebal_rb的变量。 - 绘制权重图。
- 绘制组成部分的风险百分比贡献图。
- 使用
Return.portfolio()计算投资组合收益。将收益赋给名为returns_rb的变量。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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"