求解一个简单的投资组合优化问题
在本练习中,您将使用 PortfolioAnalytics 解决一个简单的投资组合优化问题。您将学习如何创建投资组合规范对象、添加约束与目标,并求解优化问题。该问题要求在满足全额投资与只做多约束下,构建最小方差组合。目标是最小化组合方差。共有两个约束:全额投资约束要求权重之和为 1;只做多约束要求所有权重大于等于 0(也就是不允许做空)。
本练习是课程的一部分
R 中级投资组合分析
练习说明
- 使用
index_returns数据集中的资产名称创建一个投资组合规范对象,并将其命名为port_spec。 - 向
port_spec对象添加全额投资约束,使权重之和为 1。 - 向
port_spec对象添加只做多约束,使单个资产权重介于 0 与 1 之间。 - 向
port_spec对象添加一个最小化组合标准差的目标。 - 使用
optimize_method = "ROI"求解投资组合优化问题。将优化结果赋给名为opt的对象。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Create the portfolio specification
port_spec <- portfolio.spec(colnames(___))
# Add a full investment constraint such that the weights sum to 1
port_spec <- add.constraint(portfolio = ___, type = "___")
# Add a long only constraint such that the weight of an asset is between 0 and 1
port_spec <- add.constraint(portfolio = ___, type = "___")
# Add an objective to minimize portfolio standard deviation
port_spec <- add.objective(portfolio = ___, type = "___", name = "___")
# Solve the optimization problem
opt <- optimize.portfolio(___, portfolio = ___, optimize_method = "___")