【问题标题】:Using Webservice function in Excel to pull "Next Earnings Date" from Yahoo Finance using Yahoo API使用 Excel 中的 Webservice 函数使用 Yahoo API 从 Yahoo Finance 中提取“下一个收益日期”
【发布时间】:2014-12-31 13:38:04
【问题描述】:

我正在尝试将来自 Yahoo Finance 的信息提取到我的电子表格中。我可以从雅虎财经获取一些信息,例如当前股价,但我还想获取有关公司“下一个收益日期”何时的信息。 例如,我可以使用这个函数来获取谷歌当前的股票价格:

=NUMBERVALUE(WEBSERVICE("http://finance.yahoo.com/d/quotes.csv?s=GOOG&f=l1"))

Yahoo 有一些内置 API,列在此网站上:https://greenido.wordpress.com/2009/12/22/yahoo-finance-hidden-api/

但是,我没有看到下一个收益日期的 API。有关如何将此类信息提取到我的电子表格中的任何建议?我知道一些基本的 VBA,但我不熟悉使用 VBA 查询 Web 数据。有谁知道如何完成这项工作?

谢谢!如果您有任何问题,请告诉我。

【问题讨论】:

  • 本站有很多关于使用VBA查询雅虎财经的问题和答案。尝试搜索!
  • 你能解决这个问题吗?如果是这样,也许您可​​以发布您的解决方案和/或接受答案?非常感谢!

标签: excel vba api


【解决方案1】:

根据您为 API 提供的文档,您要查找的数据在 Yahoo Finance API 中不可用。由于 Yahoo 不提供这些数据,因此您实际上需要找到一个不同的 API 来使用,而不是尝试通过 VBA 解决问题。

StackOverflow 上的其他人似乎也遇到了同样的挑战(获取下一个收入日期数据)。这是线程:Free API or similar to get Next Earnings Date for stocks

或者,您可以使用KimonoLabs 或Scrapy 等服务来构建您自己的API 并获取下一个收益日期。

例如,我刚刚使用 Kimono 构建了这个 API:https://www.kimonolabs.com/api/bq0hsy5y?apikey=30ef2f027c78a399898ac016d22dc0e1&s=goog

要使用此 API,只需将 s=goog 替换为 s=[INSERT STOCK SYMBOL]

使用此 URL,您将获得带有 2 个集合的 JSON 返回:

  • 集合 1
    • 度量(包含您想要的信息的标题,例如“下一个收入日期:”
    • 数据(包含实际信息)
  • 系列 2
    • StockName(包含股票的全名和代码)

虽然WEBSERVICE() 函数非常酷,但它似乎无法利用KimonoLabs API(它无法解析JSON,我无法让API 返回XML)。相反,您可以使用 PowerQuery 获取所需的信息。以下是如何做到这一点的精彩演练:http://southbaydba.com/2013/08/30/part-3-power-query-api-table-as-parameter-for-a-query-indeed/

我希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2021-03-02
    • 1970-01-01
    • 2016-05-28
    • 2022-08-06
    • 1970-01-01
    • 1970-01-01
    • 2023-01-23
    • 2016-10-13
    • 1970-01-01
    相关资源
    最近更新 更多