开始使用免费开始使用

优化约束与目标

这里我们假设,细化约束和/或目标将提升表现。请添加一个风险预算目标,为每个资产设置风险贡献的最小与最大百分比。我们将在已有的投资组合规范之上继续构建。这是一个更复杂的优化问题,需要全局求解器,因此将使用随机投资组合作为优化方法。

本练习是课程的一部分

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"
编辑并运行代码