我想计算所有门票的协整。
所以我们从股票 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