For 循环从字典中返回 0

问题描述

我想计算所有门票的协整。

所以我们从股票 A 开始,然后计算与股票 B、C、D、E 等的协整。

然后我们从股票 B 开始,它与股票 C、D、E 等进行协整

但是它返回 0 的循环。错误是什么?

导入数据

tickets = ['MMM','ABT','ABBV','ABMD','ACN','ATVI','ADBE','AMD']

data = {tick: yf.download(tick,start = "2017-06-14",end = "2021-06-14",interval="1d")['Adj Close'] for tick in tickets} 

制作循环

lista = []
comprimento = len(tickets)

for i in range(0,comprimento):
    print("Ticket a ser analisado: " + str(tickets[i]))
   
    for j in range(i+1,comprimento):
           
        cointeracao = coint(data[i],data[j])
        if cointeracao[1] < 0.05:
            lista.append((tickets[i],tickets[j]))
            print(lista)
            
lista

错误

KeyError                                  Traceback (most recent call last)
<ipython-input-131-f15c6a752928> in <module>
      7     for j in range(i+1,comprimento):
      8 
----> 9         cointeracao = coint(data[i],data[j])
     10         if cointeracao[1] < 0.05:
     11             lista.append((tickets[i],tickets[j]))

KeyError: 0

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)