微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

For 循环从字典中返回 0

如何解决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 举报,一经查实,本站将立刻删除。