有谁知道如何使用 yfinance 从 yahoo finance 获取每周数据

Does anyone know how to get Weekly data from yahoo finance using yfinance

我正在使用 yfinance 和 ta-lib 从 yahoo finance 获取和操作索引数据。

每日数据看起来不错,但是当我在 yfinance 中切换到每周数据时,我得到了一些奇怪的值。

我查看了 yahoo finance 的历史数据,确实出于某种原因它们显示的是周一而不是上周五的每周数据。

有谁知道如何在 yfinance 中解决这个问题,或者知道如何通过其他方式获取每周数据?

谢谢!

###################### 编辑: ######################

对于每周数据,yahoo 显示 2 行。第一行是每日值,第二行是每周值。每周数据截至周一,还不错。

因此 yfinance 中的关键是使用数据框中的倒数第二行 ([-2]),而对于每日数据,数据框中的最后一行 ([-1]) 有效。

对此进行了测试,它有效且匹配 stockcharts.com

对于每周数据,您还需要从数据框中删除 Nan。您可以为此使用 .dropna()。

为什么不使用 agg({"Open":"first", "Close":"last", "High":"max", "Low":"min", "Volume":"sum") 将每日数据重新采样为每周数据?

每周数据间隔不仅代表数据采样,还代表用于确定开盘价、最高价、最低价、收盘价等的范围。例如,20 年 5 月 18 日这一周,您将得到以下数据:

volume      133274700.000
close             318.890
open              313.170
low               310.320
high              320.890
adjclose          318.890

该数据表示该周内的值,但成交量除外,它只是该周内每一天的成交量总和。因此,313.17 的开盘价代表了当周交易开盘时的价格。低点代表该周内的绝对低值。而且,您要查找的是收盘价代表周五收盘时的价格。所以,如果你只是寻找周五的收盘价,你仍然可以使用周区间。

###################### 答案:##################### #

对于每周数据,yahoo 显示 2 行。第一行是每日值,第二行是每周值。每周数据截至周一,还不错。

因此 yfinance 中的关键是使用数据框中的倒数第二行 ([-2]),而对于每日数据,数据框中的最后一行 ([-1]) 有效。

对此进行了测试,它有效且匹配 stockcharts.com

对于每周数据,您还需要从数据框中删除 Nan。您可以为此使用 .dropna()。