用python计算投资组合方差和波动率

2024-10-03 13:17:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python2.7相当陌生,在计算证券投资组合的方差和标准差时遇到了一些麻烦。这是我目前所做的:

  1. 进口纽比,熊猫,熊猫,数据阅读器和matplotlib.pyplot图书馆
  2. 从excel文档导入证券列表的所有股票代码和权重(共9个股票代码和权重)
  3. 创建单独的列表来存放股票和权重
  4. 从谷歌财经下载了所有历史价格数据
  5. 计算每种证券的每日对数回报,并转换成年度估计值
  6. 计算各证券年估计标准差和方差
  7. 创建协方差和相关矩阵
  8. 将权重列表更改为数组

然后我在计算投资组合方差时遇到了一个错误。下面是我使用的脚本:

# Portfolio variance calc
pfolio_var = np.dot(weightsarray.T, np.dot(sec_returns.cov() * 250, weightsarray))
pfolio_var

# Portfolio volatility
pfolio_vol = (np.dot(weightsarray.T, np.dot(sec_returns.cov() * 250, weightsarray))) ** 0.5
pfolio_vol

and here is the error I receive:

ValueError                                Traceback (most recent call last)
<ipython-input-30-6b33caaac89a> in <module>()
      1 # Portfolio variance calc
----> 2 pfolio_var = np.dot(weightsarray.T, np.dot(sec_returns.cov() * 250, weightsarray))
      3 pfolio_var

ValueError: shapes (9,9) and (1,9) not aligned: 9 (dim 1) != 1 (dim 0)

提前感谢您的帮助!在


Tags: 数据列表varnpseccovdotreturns