使用自定义目标函数进行优化
本练习基于上一个练习,您将使用计算投资组合年化标准差的自定义目标函数来运行优化。由于目标函数可以是任何有效的 R 函数,我们为 pasd() 函数添加一个风险目标。set.portfolio.moments() 函数不会识别 pasd() 的目标名称,因此需要创建一个自定义的矩函数来计算二阶矩 sigma。我们将使用随机投资组合作为优化方法来求解该问题。
本练习是课程的一部分
R 中级投资组合分析
练习说明
- 将您在上一个练习中创建的自定义目标函数添加到投资组合规范对象中。
- 打印该投资组合规范对象,以查看约束和目标。
- 运行优化。自定义矩函数的名称为
set_sigma。 - 打印优化结果。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Add custom objective to portfolio specification
port_spec <- add.objective(portfolio = ___, type = ___, name = ___)
# Print the portfolio specificaton object
# Run the optimization
opt <- optimize.portfolio(R = ___, portfolio = ___, momentFUN = ___, optimize_method = "random", rp = rp)
# Print the results of the optimization