开始使用免费开始使用

计算投资组合收益

为了构建并回测一个投资组合,您需要熟练地在同一个对象中处理多个资产的收益率。

在本练习中,您将使用一个 pandasDataFrame 对象(已保存为变量 StockReturns)来存放多只资产的收益率,并据此计算一个示例投资组合的收益。

该示例投资组合基于 2017 年 1 月之前全球市值较大的公司,设定了如下预定义权重:

Company Name Ticker Portfolio Weight
Apple AAPL 12%
Microsoft MSFT 15%
Exxon Mobil XOM 8%
Johnson & Johnson JNJ 5%
JP Morgan JPM 9%
Amazon AMZN 10%
General Electric GE 11%
Facebook FB 14%
AT&T T 16%

请注意,在大多数情况下,投资组合权重之和应为 100%

本练习是课程的一部分

Python 投资组合风险管理入门

查看课程

练习说明

  • 根据上表完成示例 portfolio_weights 的 numpy 数组定义。
  • 使用 .mul() 方法,将 portfolio_weights 按行与 StockReturns 相乘,得到加权股票收益。
  • 然后在 WeightedReturns 对象上按行使用 .sum() 方法,计算组合收益。
  • 最后,查看随时间变化的累计收益图。

交互式实操练习

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

# Finish defining the portfolio weights as a numpy array
portfolio_weights = np.array([0.12, 0.15, 0.08, 0.05, 0.09, 0.10, 0.11, ____, ____])

# Calculate the weighted stock returns
WeightedReturns = StockReturns.____(portfolio_weights, axis=____)

# Calculate the portfolio returns
StockReturns['Portfolio'] = WeightedReturns.____(axis=____)

# Plot the cumulative portfolio returns over time
CumulativeReturns = ((1+StockReturns["Portfolio"]).cumprod()-1)
CumulativeReturns.plot()
plt.show()
编辑并运行代码