开始使用免费开始使用

寻找均值-方差有效的投资组合

在约束投资组合的期望收益等于目标收益的条件下,最小化投资组合方差即可得到均值-方差有效的投资组合。R 包 tseries 中的函数 portfolio.optim() 可方便地完成该任务。 其默认实现会在投资组合收益等于等权重投资组合收益的约束下,求解均值-方差有效的投资组合权重。 唯一需要的参数是需要确定权重的投资组合成分的月度收益数据。

控制台中已加载变量 returns,其中包含 DJIA 股票的月度收益。

本练习是课程的一部分

R 中的投资组合分析入门

查看课程

练习说明

  • 加载库 tseries
  • 使用 portfolio.optim() 的默认设置(目标为等权重投资组合的收益)基于月度收益创建一个均值-方差有效的投资组合,并将输出赋值给变量 opt
  • 从优化后的投资组合中创建权重向量。投资组合权重可在 opt$pw 中找到。将其命名为 pf_weights
  • 使用提供的代码为资产赋予名称。
  • pf_weights 中选取大于或等于 1% 的最优权重,命名为 opt_weights
  • 使用 barplot() 可视化 opt_weights 的分布。
  • 打印优化后投资组合的期望收益(opt$pm)和波动率(opt$ps)。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Load tseries


# Create an optimized portfolio of returns
opt <- portfolio.optim(___)

# Create pf_weights
pf_weights <- ___$pw

# Assign asset names
names(pf_weights) <- colnames(returns)

# Select optimum weights opt_weights
opt_weights <- pf_weights[___ >= 0.01]

# Bar plot of opt_weights


# Print expected portfolio return and volatility
___$pm
___$ps
 
编辑并运行代码