-1

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

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

我查看了雅虎财经的历史数据,实际上它们出于某种原因显示了周一的每周数据,而不是上周五的数据。

有谁知道如何在 yfinance 中解决这个问题,或者可能是另一种获取每周数据的方式?

谢谢!

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

对于每周数据,雅虎显示 2 行。第一行是每日值,第二行是每周值。每周数据截至周一,这很好。

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

对此进行了测试,它可以正常工作并与 stockcharts.com 匹配

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

4

3 回答 3

0

###################### 回答: ######################

对于每周数据,雅虎显示 2 行。第一行是每日值,第二行是每周值。每周数据截至周一,这很好。

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

对此进行了测试,它可以正常工作并与 stockcharts.com 匹配

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

于 2020-06-22T01:59:42.393 回答
0

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

于 2020-05-27T00:57:27.777 回答
0

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

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

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

于 2020-05-27T01:32:07.467 回答