如何获取特定时间的历史价格?

时间:2021-01-30 20:05:34

标签: google-apps-script google-sheets google-sheets-formula google-finance

有谁知道是否可以使用 =googlefinance 从时间戳中获取股票价格?日期相当容易,但似乎不可能按天做时间?例如,如果我想查看 GOOG10:00AM 21/12/2020

=index(GOOGLEFINANCE("GOOG","price","21/12/2020 10:00:00"),2,2)

提供该日期的库存,但不提供时间。我不确定这是否可能,但它在我制作的工作表中非常有用。

2 个答案:

答案 0 :(得分:0)

遗憾的是,您只能检索特定的收盘价,而不能检索特定时间。

当您将历史数据作为参数传递时,谷歌假定您正在寻找收盘价。因此,如果您为过去的数据选择“价格”或“关闭”,您将得到相同的结果。

属性“close”的官方文档:

<块引用>

"close" - 指定日期的收盘价。

因此无法获得特定时间的收盘价。

例如,这将返回从 2020 年 12 月 21 日到 30 天后每天的价格:

=GOOGLEFINANCE("GOOG","price","12/21/2020",30,1)

或者这个=GOOGLEFINANCE("GOOG","close","12/21/2020",30,1)

enter image description here

您看到收盘价时间固定在 16:00:00

如果您想要实时历史数据,您应该寻找您可能需要付费的其他 API。

答案 1 :(得分:0)

您可以在获得值后进行过滤

例如,您可以使用正则表达式和 QUERY:

检索 13:xx:xx hs 或 16:xx:xx hs 的价格

=ARRAYFORMULA(QUERY(GOOGLEFINANCE("GOOG","price","12/22/2020",30,1), "SELECT * WHERE Col1 matches '.* 13:.*|.* 16:.*'", 0))

或者您可以只过滤一个特定的小时:

=ARRAYFORMULA(QUERY(GOOGLEFINANCE("GOOG","price","12/22/2020",30,1), "SELECT * WHERE Col1 matches '.* 13:.*'", 0))

参考文献