#python
#python
Вопрос:
Мне просто нужна сегодняшняя цена закрытия для всех акций в SPY500 или QQQ. Я использую DataReader(ticker, 'yahoo', start_date, end_date)
. Даже получение данных за один день происходит очень медленно. Есть ли более быстрый способ быстро получить все данные о запасах? Я просто хотел бы знать, сколько акций выше EMA20 и каковы 10 лучших акций? Спасибо
timenow=datetime.now()
previousday=datetime.today()-timedelta(1)
end_date = timenow.strftime("%Y-%m-%d") #"%Y-%b-%d-%b-(%H:%M:%S.%f)"
start_date=previousday.strftime("%Y-%m-%d")
# open file with tickers of each comapny
close_price_today_each={}
with open("sp500tickers.pickle", "rb") as f:
tickers = pickle.load(f)
for ticker in tickers:
ticker=ticker[:-1] # /n at the end
print('Getting close price of ' ticker)
df = data.DataReader(ticker, 'yahoo', start_date, end_date)
close_price_today_each[ticker]=df['Close'].iloc[-1]
Комментарии:
1. Какая часть медленная? Совет по низко висящим фруктам: вы можете использовать
import cPickle
вместоimport pickle
, чтобы немного ускорить загрузку pickle, поскольку cPickle реализован на C, а не на Python.2. Спасибо. Я думаю, что data.DataReader() работает медленно. Я попытался установить cPickle. Я получил ошибку pip install ОШИБКА cPickle: не удалось найти версию, удовлетворяющую требованию cPickle (из версий: нет) ОШИБКА: Не найден соответствующий дистрибутив для cPickle
3. В настоящее время (Python 3) правильной командой является
import _pickle
или для простотыimport _pickle as pickle
4. в чем разница между import pickle и import _pickle? Спасибо