#python #yfinance
Вопрос:
Ниже приведен простой код yfinance (на Python); первая загрузка работает нормально, вторая возвращает пустой фрейм данных. Почему?
Любая помощь будет признательна — Майкл
import yfinance as yf
isin = "SPX.L"
# Comfirm share exists
share = yf.Ticker(isin)
info = share.info
print(isin " exists :: name=" info.get('shortName'))
# Get historical data
df1 = yf.download(tickers=isin, period="1mo", interval="1d", auto_adjust=True, prepost=False)
print(df1)
df2 = yf.download(tickers=isin, period="5d", interval="1h", auto_adjust=True, prepost=False)
print(df2)
Комментарии:
1. Вторая команда работает на меня. Возможно, существует некоторое ограничение скорости для двух звонков в быстрой последовательности. Вы могли бы попробовать
import time; time.sleep(5)
, например, в промежутке.2. Спасибо за ваш комментарий. Увы, если я сделаю так, как вы предлагаете (или прокомментирую два утверждения, связанные с df1) Я все еще получаю пустой фрейм данных для df2. Как, черт возьми, возможно, что это прекрасно работает для вас, а не для меня? Обратите внимание, что раньше это тоже работало нормально для меня, но сегодня поведение на моей машине изменилось в худшую сторону. Есть какие-нибудь идеи?
3. @mkemper Может быть, вы можете попробовать увеличить задержку сна, это может быть просто медленное устройство на вашем конце или модуль не в порядке.
4. Я не уверен, и, возможно, Броуди что-то задумал, чтобы подождать дольше. Но просто чтобы устранить еще один потенциальный источник сомнений: перед тестированием я обновился до последней версии, которую я мог: 0.1.63
5. Мне нравится идея перейти на последнюю версию yfinance. Я никогда не делал этого раньше. Речь идет о загрузке и повторной загрузке? Спасибо за помощь обоим!