Вопрос или проблема
Я использую yfinance, чтобы получить информацию о тикере USOI.
tickerSymbol="USOI"
#получить данные по этому тикеру
tickerData = yf.Ticker(tickerSymbol)
#получить исторические цены для этого тикера
db = tickerData.history(period='1d',start="2020-10-14", end = '2024-10-17')
db['Close'][0:10], db.index[0:10]
Возвращает
Дата
2020-10-14 00:00:00-04:00 32.161522
2020-10-15 00:00:00-04:00 32.234608
2020-10-16 00:00:00-04:00 32.088417
2020-10-19 00:00:00-04:00 32.088417
2020-10-20 00:00:00-04:00 32.324036
2020-10-21 00:00:00-04:00 31.587734
2020-10-22 00:00:00-04:00 32.324036
2020-10-23 00:00:00-04:00 31.808615
2020-10-26 00:00:00-04:00 31.219574
2020-10-27 00:00:00-04:00 31.514090
Но если я проверяю сайт NASDAQ https://www.nasdaq.com/market-activity/etf/usoi/historical?page=101&rows_per_page=10&timeline=y10
Я получаю другие значения.
Что происходит?
Ответ или решение
Использование библиотеки yfinance для получения исторических данных о фондовых инструментах, таких как ETF USOI, может иногда приводить к расхождениям в значениях по сравнению с данными, представленными на официальных финансовых веб-сайтах, таких как сайт NASDAQ. В этом ответе мы разберем возможные причины этих различий и предложим пути их разрешения.
Возможные причины расхождений в данных
-
Разные источники данных:
- Yfinance собирает данные с различных источников, включая Yahoo Finance, которые имеют свои алгоритмы для агрегации и отображения цен. Это может привести к расхождению с официальными данными NASDAQ, которые могут использовать другие методы учета или конвертации данных.
-
Время обновления данных:
- Время, когда данные обновляются, может различаться. Например, если вы запрашиваете данные в определенное время, Yfinance может показывать значения, которые обновились чуть раньше, чем данные на NASDAQ. Это может приводить к различиям, особенно в случае быстро колеблющихся котировок.
-
Коррекции и деления акций:
- Иногда данные могут быть скорректированы с учетом делений акций или дивидендов. NASDAQ может учитывать такие изменения по-другому, что также может приводить к расчетным расхождениям в исторических ценах.
-
Ликвидность и валютные колебания:
- Различия в объемах сделок и спросе на разные платформы могут влиять на предоставляемые цены. Если на NASDAQ торговля ведется более активно, это может вызывать изменения цен, которые еще не отразились в Yfinance.
-
Формат и длительность периода запроса:
- При использовании различных периодов и часто обновляющихся данных (каждый день или даже чаще) можно столкнуться с особенностями выборки при использовании разных платформ, которые могут по-разному интерпретировать период времени.
Как проверить расхождения
-
Сравнение данных в одно и то же время:
- Убедитесь, что вы сравниваете данные, полученные из разных источников, в одно и то же время и на одном и том же временном интервале.
-
Изучение метаданных:
- Обратите внимание на дополнительные метаданные и условия получения данных, которые могут быть доступны как в Yfinance, так и на сайте NASDAQ.
-
Документация и источники:
- Ознакомьтесь с документацией Yfinance о том, как агрегируются данные, и проверьте, не указаны ли там какие-либо ограничения или спецификации, относящиеся к фондовым инструментам.
Заключение
Расхождения между данными, предоставляемыми библиотекой yfinance и официальным сайтом NASDAQ, являются распространенной проблемой, связанной с особенностями агрегации, временами обновления и источниками данных. Если эти расхождения вызывают затруднения, может быть целесообразно использовать несколько источников для получения более точной информации либо непосредственно обращаться к официальным данным на сайте NASDAQ для критически важных торговых решений.
При необходимости дополнительной информации или помощи в использовании Yfinance, рассмотрите возможность обращения в профессиональные сообщества или финансовые консалтинговые компании.