Кто-нибудь знает, как получать еженедельные данные от yahoo finance с помощью yfinance
Я использую yfinance и ta-lib для извлечения и управления данными индекса из Yahoo Finance.
Ежедневные данные выглядят хорошо, но когда я переключаюсь на еженедельные данные в yfinance, я получаю странные значения.
Я посмотрел исторические данные по финансам Yahoo, и действительно, они почему-то показывают недельные данные по состоянию на понедельник, а не в предыдущую пятницу.
Кто-нибудь знает, как это обойти в yfinance или, может быть, другой способ получения еженедельных данных?
Спасибо!
###################### РЕДАКТИРОВАТЬ: ######################
Для еженедельных данных yahoo показывает 2 строки. Первая строка предназначена для дневных значений, а вторая строка - для недельных значений. Еженедельные данные относятся к понедельнику, и это нормально.
Таким образом, ключевым моментом в yfinance является использование предпоследней строки ([-2]) в фрейме данных, в то время как для ежедневных данных работает последняя строка ([-1]) в фрейме данных.
Проверено, работает и соответствует stockcharts.com
Также для еженедельных данных вам нужно будет удалить Nan из фрейма данных. Для этого вы можете использовать.dropna().
3 ответа
###################### ОТВЕТ: ######################
Для еженедельных данных Yahoo показывает 2 строки. Первая строка предназначена для дневных значений, а вторая строка - для недельных значений. Еженедельные данные относятся к понедельнику, и это нормально.
Таким образом, ключевым моментом в yfinance является использование предпоследней строки ([-2]) в фрейме данных, в то время как для ежедневных данных работает последняя строка ([-1]) в фрейме данных.
Проверено, работает и соответствует stockcharts.com
Также для еженедельных данных вам нужно будет удалить Nan из фрейма данных. Для этого вы можете использовать.dropna().
Почему бы вам просто не пересчитать ежедневные данные на еженедельные с agg({"Open":"first", "Close":"last", "High":"max", "Low":"min", "Volume":"sum")
?
Еженедельный интервал данных представляет собой не только выборку данных, но также диапазон, используемый для определения открытия, максимума, минимума, закрытия и т. Д. Например, за неделю 18.05.20 вы получите следующие данные:
volume 133274700.000
close 318.890
open 313.170
low 310.320
high 320.890
adjclose 318.890
Эти данные представляют собой то значение, которое было ВНУТРИ этой недели, за исключением объема, который представляет собой просто сумму объемов за каждый день в течение этой недели. Итак, цена открытия 313,17 представляет собой цену открытия торгов на этой неделе. Минимум представляет собой абсолютное минимальное значение в течение этой недели. И, что вы ищете, цена закрытия представляет собой цену закрытия в пятницу. Итак, если вы просто ищете цену закрытия в пятницу, вы все равно можете использовать недельный интервал.