使用python将已读取的十只股票的数据,以市值为权重捏合这十只股票,形成自定义的“茅指数。 假设mktvalue 为第 t 天,第 k 只股票的流通市值;r 为第 t 天第 k 只股票的收益率。 tk tk 市值是每天动态变化的,所以我们以当天的流通市值来捏合茅指数时,每天的权重都在变。 第 t 天总市值: sum_mktvaluet = �10 mktvaluetk k=1 第 t 天,第 k 只股票占茅指数的权重:weighttk = mktvaluetk/sum_mktvaluet “茅指数”每日收益率:mao_rt = �10 weighttk ∗ rtk k=1 最终结果请打印倒数三天的收益率以便检查。
时间: 2024-02-03 19:01:40 浏览: 121
使用python进行选择股票
5星 · 资源好评率100%
假设已经读取的十只股票数据保存在一个名为stocks的列表中,每只股票的流通市值保存在mktvalue列表中,每只股票每天的收益率保存在returns列表中,则可以按照以下步骤计算“茅指数”:
```python
# 计算每天的总市值
sum_mktvalue = []
for i in range(len(stocks[0])):
sum_value = sum([stock[i] for stock in mktvalue])
sum_mktvalue.append(sum_value)
# 计算每天的权重
weights = []
for i in range(len(stocks[0])):
weight = [stock[i]/sum_mktvalue[i] for stock in mktvalue]
weights.append(weight)
# 计算每天的“茅指数”收益率
mao_rt = []
for i in range(len(stocks[0])):
rt = sum([weight[k]*returns[k][i] for k in range(len(stocks))])
mao_rt.append(rt)
# 打印倒数三天的收益率
print(mao_rt[-3:])
```
注:上述代码中的mktvalue、returns、stocks均为列表,其中mktvalue和returns的每个元素也是列表,表示每只股票每天的市值和收益率。
阅读全文