Кто-нибудь знает, как получать еженедельные данные от 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 представляет собой цену открытия торгов на этой неделе. Минимум представляет собой абсолютное минимальное значение в течение этой недели. И, что вы ищете, цена закрытия представляет собой цену закрытия в пятницу. Итак, если вы просто ищете цену закрытия в пятницу, вы все равно можете использовать недельный интервал.

Другие вопросы по тегам