For 循环从字典中返回 0

时间:2021-06-17 10:00:59

标签: python python-3.x loops for-loop foreach

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

所以我们从股票 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

0 个答案:

没有答案