简体   繁体   English

雅虎金融 API 和 excel vba

[英]Yahoo finance API and excel vba

I am building excel VBA program wherein it would fetch the result from yahoo finance api for more than 60K ticklers.我正在构建 excel VBA 程序,它可以从雅虎金融 api 中获取超过 60K 的代码。 as there are limitation of 200 tracing tickers at a time, there are few which returns blank as a result if I am trying to trace 200 tickers a time the resultant CSV file returns only 198 symbols result as it overrides the one which has blank entry because yahoo API does not returns anything for the few symbols.由于一次有 200 个跟踪代码的限制,因此如果我尝试一次跟踪 200 个代码,结果 CSV 文件只返回 198 个符号结果,因为它覆盖了具有空白条目的那个,因此返回空白的结果很少yahoo API 不会为少数符号返回任何内容。

Please see below query for the same.请参阅下面的查询。

http://download.finance.yahoo.com/d/quotes.csv?s=VPV+VPY.V+VQA.V+VQS.V+VQT+VR+VR.V+VR9F.EX+VRA+VRAP.PA+VRD+VRD.V+VRE.AX+VRE.TO+VRL.AX+VRML+VRNG+VRNGW+VRNL.PA+VRNM+VRNT+VRP.L+VRS+VRS.L+VRS.V+VRSK+VRSN+VRT.AX+VRTA+VRTB+VRTS+VRTU+VRTX+VRTX.MX+VRW.MI+VRW.V+VRX+VRX.AX+VRX.TO+VRZ.H.V+VRZ-H.V+VSAF.EX+VSAT+VSB+VSB.TO+VSBN+VSC.AX+VSC.TO+VSCI+VSCP+VSEC+VSH+VSI+VSI.V+VSMO.ME+VSN.DB.C.TO+VSN.PR.A.TO+VSN.TO+VSO.AX+VSP.TO+VSPY+VSR+VSR.V+VSS+VST.V+VSTM+VSTX.L+VSVS.L+VSXG.L+VSXX.L+VSYG.L+VT+VTA+VTA.AS+VTBR.IL+VTBR.L+VTC.L+VTG+VTG.AX+VTHR+VTI+VTI.V+VTIP+VTM.AX+VTM-H.V+VTMO.AX+VTN+VTN.TO+VTNC+VTNR+VTP.AX+VTR+VTR.TO+VTRB+VTS.AX+VTSF.EX+VTSS+VTU.L+VTUS+VTV+VTWG+VTWO+VTWV+VTX.AX+VUG+VUI.V+VUKE.L+VUL.V+VULC3.SA+VULC3F.SA+VUN.TO+VUS.TO+VUSA.L+VUSD.L+VV+VV.V+VVC+VVC.V+VVDG.EX+VVI+VVI.V+VVN.V+VVR+VVTV+VVUS+VVV.V+VWA.AS+VWM.AX+VWO+VWOB+VWRD.L+VWRL.L+VXF+VXIM.L+VXIS.L+VXR.AX+VXS.TO+VXSC.TO+VXUS+VXX+VXX.TO+VXX.U.TO+VXXKRB.AX+VXXKRD.AX+VXXKRE.AX+VXXKRG.AX+VXXKRP.AX+VXXKRR.AX+VXZ+VYC.V+VYFC+VYM+VZ+VZ.MX+VZC.L+VZN.SW+VZX.V+VZZ.V+W.PR.H.TO+W.PR.J.TO+W:707284.TWO+W:707285.TWO+W01.SI+W05.SI+W12.SI+W81.SI+WAA.AX+WAAO.AX+WAB+WABC+WAC+WAC.AX+WACO.AX+WAF.AX+WAFD+WAFDW+WAFM.L+WAG+WAGE+WAI.V+WAIR+WAL+WAL.AX+WALG.L+WALMEXV.MX+WAM.AX+WAN.V+WAND.L+WAPO.JK+WAR.L+WAR.V+WAS.AX+WAS.L+WAS.P.V+WASH+WASO.AX+WAT+WAT.AX+WAT.V+WATL.L&f=nl1d1hgkjx

Is there anyway we can have NULL kind of stuff as a return wherein it would return nothing ?无论如何,我们可以将 NULL 类型的东西作为返回值,而它什么都不返回吗?

You can see in above querying URL it is trying to fetch the result for 200 symbols and it returns only 198 because two of them returns nothing and as a result the blank overrides with next rows which has data.您可以在上面的查询 URL 中看到它试图获取 200 个符号的结果,它只返回 198 个,因为其中两个不返回任何内容,因此空白覆盖了下一行有数据的内容。

There are two Symbols that don't look like a regular ticker:有两个符号看起来不像普通的股票代码:

W:707284.TWO
W:707285.TWO

You shoud verify, if they are valid in Yahoo Universe.您应该验证它们是否在 Yahoo Universe 中有效。 I've never heard that there is a error code for not valid Symbols.我从未听说过无效符号有错误代码。

Well, I don't think the Yahoo Finance API works anymore.好吧,我认为 Yahoo Finance API 不再有效。 Take a look at the link below.看看下面的链接。 I think 60k tickers may be pushing the limit, but basically, download the sample file from the link below and it should do what you want.我认为 60k 股票可能会突破限制,但基本上,从下面的链接下载示例文件,它应该可以满足您的需求。

http://investexcel.net/multiple-stock-quote-downloader-for-excel/ http://investexcel.net/multiple-stock-quote-downloader-for-excel/

在此处输入图片说明

Yahoo Finance stopped their free api service in November 2017. So far I don't know of anyone who offers an api link to YF that you can use in your vba program.雅虎财经于 2017 年 11 月停止了他们的免费 api 服务。到目前为止,我不知道有谁提供了可以在 vba 程序中使用的 YF api 链接。 But there exists an Excel AddIn (I produced it) that manages to bring YF live data into Excel.但是存在一个 Excel 插件(我制作的)可以将 YF 实时数据导入 Excel。 You may read this blog post for more details.您可以阅读这篇博文了解更多详情。 If you still need vba access to the live feeds, I could easily provide you with the appropriate vba function to call from within your code.如果您仍然需要 vba 访问实时提要,我可以轻松地为您提供适当的 vba 函数以从您的代码中调用。 Just let me know.只要让我知道。

I've built an Excel Add-in ( https://www.excelpricefeed.com/ ) which enables retrieval of data from Yahoo Finance (as well as other data providers).我已经构建了一个 Excel 加载项 ( https://www.excelpricefeed.com/ ),它可以从 Yahoo Finance(以及其他数据提供商)检索数据。 The Add-in currently provides live prices to Excel cells via simple formulas such as:该插件目前通过简单的公式向 Excel 单元格提供实时价格,例如:

=EPF.Yahoo.Price("AAPL")

I am looking at adding historical data access as well as other functionality depending on user feedback.我正在考虑根据用户反馈添加历史数据访问以及其他功能。

Hope you find it useful.希望你觉得它有用。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM