Я пытаюсь скопировать скрининг Sentdex, который он загрузил в качестве учебника еще в 2013 году (https://www.youtube.com/watch?v=Y4GHgJjIQnk). К сожалению, с тех пор многое изменилось, поэтому необходимо внести небольшие изменения в предложенный им код. Iопубликуйте часть кода, которая не работает должным образом, только здесь ниже. Весь код доступен по ссылке выше, если кому-то интересно.
Код, по сути, оригинальный, с некоторыми незначительными исключениями, касающимися YahooМетод url следующий:
import urllib.request
import time
import datetime
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.ticker as mticker
import matplotlib.dates as mdates
import mpl_finance
from mpl_finance import candlestick_ohlc
import matplotlib
import pylab
...
def graphData(stock,MA1,MA2):
'''
Use this to dynamically pull a stock:
'''
try:
print('Currently Pulling',stock)
urlToVisit = 'https://query1.finance.yahoo.com/v8/finance/chart/'+stock+'?interval=2m'
stockFile =[]
try:
sourceCode = urllib.request.urlopen(urlToVisit).read().decode()
splitSource = sourceCode.split('\n')
for eachLine in splitSource:
splitLine = eachLine.split(',')
if len(splitLine)==6:
if 'values' not in eachLine:
stockFile.append(eachLine)
except Exception as e:
print(str(e), 'failed to organize pulled data.')
except Exception as e:
print(str(e), 'failed to pull pricing data')
try:
date, closep, highp, lowp, openp, volume = np.loadtxt(stockFile,delimiter=',', unpack=True, converters={0: bytespdate2num('%Y%m%d')})
Вывод, который я получаю, следующий:
Currently Pulling ABT
UserWarning: loadtxt: Empty input file: "[]"
date, closep, highp, lowp, openp, volume = np.loadtxt(stockFile,delimiter=',', unpack=True, converters={0: bytespdate2num('%Y%m%d')})
list assignment index out of range
Currently Pulling ABBV
main loop list assignment index out of range
... и т. д. длявсе тикеры в списке sp500 указаны после всех соответствующих импортов.
Есть идеи, что не так? Ссылка, из которой я пытаюсь извлечь информацию, следующая: https://query1.finance.yahoo.com/v8/finance/chart/AAPL?interval=2m