首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谷歌金融没有显示最后的收盘价后,市场时间。它只是显示最后*交易*价格,而不是*收盘价*

谷歌金融没有显示最后的收盘价后,市场时间。它只是显示最后*交易*价格,而不是*收盘价*
EN

Stack Overflow用户
提问于 2022-09-18 11:25:00
回答 2查看 87关注 0票数 0

我的查询是在印度的股票市场,在那里我从我的google单子中的=googlefinance函数中获取报价。我非常失望地知道,函数没有显示上一次收盘价。相反,它显示了最后的交易价格。

让我们举一个股票依赖的例子:=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")

我在这个网站上搜索了很多有价值的文章,也在谷歌上找到了很多有价值的文章,但是我找不到一个解决方案来获取想要的结果。有人能帮助我获得2499.20的结果,作为依赖股票,要么使用=googlefinance功能,或通过从办公室网站的价值?

谢谢。

@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)

我还很想知道哪种方法(如果有的话)可以在没有崩溃或任何其他处理问题的情况下更快地获得结果,因为我的googlesheet装载了数千个股票报价,每1分钟就会刷新一次。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-09-18 11:50:24

只有历史价格支持close属性。使用start date参数获取历史价格并获得最后一个close

代码语言:javascript
复制
=LAMBDA(gf,INDEX(gf,ROWS(gf),2))(GOOGLEFINANCE("NSE:RELIANCE", "close",TODAY()-5,15))
票数 2
EN

Stack Overflow用户

发布于 2022-09-21 12:37:48

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

代码语言:javascript
复制
=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更快。

干杯!

然而,我的主要问题仍未解决,因为谷歌财务的公式没有给出今天的截止日期,直到真正的一天结束。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73762350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档