带定期再平衡的优化
通过定期再平衡运行优化,并分析回测的样本外结果,是更好地理解并可能改进约束与目标的重要一步。optimize.portfolio.rebalancing() 支持带定期再平衡(回测)的优化,用于检验样本外表现。除 optimize.portfolio() 的参数外,还必须通过 rebalance_on 指定再平衡频率,通过 training_period 指定初始优化所用的训练期数,以及通过 rolling_window 指定优化的窗口宽度(期数)。如果将 rolling_window 设为 NULL,则每次优化都会使用该期点可获得的全部历史数据。
为减少本练习的计算时间,随机投资组合集合 rp 使用 50 次排列生成,search_size(要测试的投资组合数量)设为 1000。若您在实际场景中进行优化,通常应测试更多的投资组合(search_size 的默认值是 20,000)!
本练习是课程的一部分
R 中级投资组合分析
练习说明
- 以季度再平衡运行优化。将训练期与滚动窗口都设为 60 期。该数据集为月度数据,因此我们使用 5 年的历史数据。将优化输出赋值给名为
opt_rebal的变量。 - 输出打印优化结果。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Run the optimization backtest with quarterly rebalancing
opt_rebal <- optimize.portfolio.rebalancing(R = ___, portfolio = ___, optimize_method = ___, rp = rp, trace = TRUE, search_size = 1000, rebalance_on = ___, training_period = ___, rolling_window = ___)
# Print the output of the optimization backtest