开始使用免费开始使用

求解一个简单的投资组合优化问题

在本练习中,您将使用 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 = "___")
编辑并运行代码