Google 财经不显示市场交易时间后的最后收盘价。它只显示最后*交易*价格而不是*收盘*

问题描述 投票:0回答:3

我的查询是关于印度股票市场的,我从谷歌表格中的

=googlefinance
函数获取报价。我非常失望地知道该功能不显示最后收盘价。相反,它显示最后的交易价格。

让我们以股票 RELIANCE 为例:

=GoogleFinance("NSE:reliance", "price")
结果是 2498.00,这是不正确的。 根据印度国家证券交易所官方数据,2022 年 9 月 16 日星期五的实际收盘价为 2499.20。您可以参考此链接了解收盘价和下面的屏幕截图

错误报价2498.00是收盘前的最后成交价 收盘时正确报价为 2499.20。

这种行为在印度股市的所有股票中都很常见。我几乎使用了

=googlefinance
函数中可用的所有参数,但我找不到获得正确股票报价的方法。

然后我决定使用以下方法从官方网站上抓取值,但没有成功

<div id="closePrice">2,499.20</div>

//*[@id="closePrice"]

/html/body/div[2]/div[4]/div[2]/div[1]/div[4]/ul/li[6]/div[1]

document.querySelector("#closePrice")

我在这个网站和谷歌上搜索了很多有价值的文章,但找不到可以获取所需结果的解决方案。有人可以帮助我使用

=googlefinance
功能或从办公室网站抓取价值来获得 2499.20 作为 RELIANCE 股票的结果吗?

谢谢你。

enter image description here

@TheMaster建议的解决方案非常感谢!

=LAMBDA(gf,INDEX(gf,ROWS(gf),2))(GOOGLEFINANCE("NSE:RELIANCE", "close",TODAY()-5,15))

另外两种方式

=index(GOOGLEFINANCE("NSE:reliance","Close",today()-5,15),4,2)

=query(GOOGLEFINANCE("NSE:reliance","Close",today()-5,15),"select Col2 where Col1 < date '"&TEXT(today()+1, "YYYY-MM-DD")&"' order by Col1 desc limit 1",False)

我也很想知道这些方法或其他方法(如果有的话)中的哪一种能够更快地获得结果,而不会出现崩溃或任何其他处理问题,因为我的谷歌表加载了数千个股票报价,这些报价每 1 分钟刷新一次。

google-sheets stock google-finance stockquotes google-finance-api
3个回答
2
投票

仅历史价格支持

close
属性。使用
start date
参数获取历史价格并获取最后的
close
:

=LAMBDA(gf,INDEX(gf,ROWS(gf),2))(GOOGLEFINANCE("NSE:RELIANCE", "close",TODAY()-5,15))

1
投票

这是实现结果的另一种方式。

=query(GOOGLEFINANCE("NSE:reliance","Close",today()-5,15),"select Col2 where Col1 < date '"&TEXT(today()+1, "YYYY-MM-DD")&"' order by Col1 desc limit 1",False)

当我比较解决方案

=LAMBDA
=QUERY
在 2500 多只股票上的性能时,我发现查询比 lambda 更快。

干杯!

但是,我的主要问题仍未解决,因为在实际一天结束之前,谷歌财经的公式都无法给出今天的收盘价。


0
投票

下面将提供今日收盘价(如果是工作日)/前一个工作日收盘价。

=IFERROR(INDEX(GOOGLEFINANCE("NSE:RELIANCE","收盘",今天()-5,5),COUNT(GOOGLEFINANCE("NSE:RELIANCE","收盘",今天()-5,5)) /2+1,2),"")

© www.soinside.com 2019 - 2024. All rights reserved.