【问题标题】:GoogleFinance formula to find previous historical trading day of a stockGoogleFinance 公式查找股票的前一个历史交易日
【发布时间】:2021-03-06 18:48:25
【问题描述】:

我一直在寻找一个可靠的公式来查找大量历史日期的“前交易日”的股票价格。

我开始的公式:

=googlefinance(A5, "close", B5-1)

其中 A5 表示股票代码,B5 表示过去的日期。

我在周末或节假日获得前几天的 #NA 结果。

我需要一个能够每年 365 天可靠运行的公式,无论是一周中的哪一天或之前的非交易日数。我尝试过这样的事情:

=index(googlefinance(A5, "close", (B5-1)-2,2),2,2)

如果 B5 日期是一周的第一个交易日,则该公式有效,但如果它位于周中的任何地方,则该公式无效。

我尝试通过几种方式使用WORKDAY(B5,-1),但我意识到该函数只能计算工作日数,不能生成日期。

我需要一个不需要逐个单元格地编辑和调整的公式。

【问题讨论】:

  • 我尝试了文档GOOGLEFINANCE("NASDAQ:GOOG", "close", DATE(2014,1,1), DATE(2014,12,31), "DAILY") 中的公式,它返回了所有的日子,包括假期。您能说明您在 B5 及之前使用的日期格式吗?
  • 我在日期单元格中使用的格式是:2020-04-27

标签: google-sheets formula stock


【解决方案1】:

这是一种给予方式

  • 当日为交易日的收盘价
  • 前一个交易日的收盘价,如果不是交易日。

    =vlookup(B5+16/24,googlefinance(A5, "close", B5-7, 7),2,true)

这是它的工作原理:

  • googlefinance(A5, "close", B5-7, 7)获取从7天前开始的7个交易日的数据。
  • vlookup 如果 B5 是非交易日,则获取最接近 B5 日期的日期的收盘价。
  • B5 + 16/24 将日期与下午 4 点的收盘价日期戳相匹配。

【讨论】:

  • 测试了上面的公式。产生与其他一些公式相同的问题结果。也就是说,对于像 2020-04-27 这样的原始日期,公式返回 2020-04-27 的收盘价,而不是 2020-04-24 的前一个交易日。
  • 对上面的公式进行了调整,它似乎按预期工作。我认为您的想法是正确的,但可能打错了。您的公式的工作版本似乎是:=vlookup(B5,googlefinance(A5, "close", (B5+16/24)-7, 7),2,true)
  • 下一个交易日收盘价的工作公式,不分周末或节假日:=index(googlefinance(A5, "CLOSE", (B5+16/24)+1,2),2,2)
猜你喜欢
  • 2021-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-26
  • 2021-04-18
相关资源
最近更新 更多