3

考虑为自己构建一个使用 nodeJS、express 和 mongoose 的免提 Web 应用程序,从 Yahoo Finance API 获得历史和实时(不介意如果延迟 20 分钟)。

我自然更喜欢 Google Finance,但它在 2012 年 10 月左右被弃用。Yahoo Finance API 和论坛将其描述为 C# 友好...有没有办法解决它?

4

1 回答 1

4

我曾经写过一个 node.js 应用程序来查询和解析来自 yahoo Finance 的数据。它工作得很好,而且很容易做到。我不确定您实际上在问什么,但这里有一些注意事项:

首先,我尝试使用 YQL(这里有一些信息),它可以返回 JSON(这对于 nodejs 来说是最佳的),但是在我开始使用它后不久,该服务就切断了我,因为我达到了配额。我不知道门槛是多少,但是每分钟要求 1500 只股票是可以理解的太多了。所以我不建议将它用于类似的事情。

所以我求助于从雅虎的 CSV 服务请求数据,完全避免了 YQL(据我了解,这只是上述 CSV 服务之上的一层)。解析 CSV 数据非常简单,尤其是。如果您使用模块(我使用了ya-csv)。

以下是有关如何请求报价的信息: http: //cliffngan.net/a/13

这是关于如何查询历史时间序列(即图表)的描述 http://code.google.com/p/yahoo-finance-managed/wiki/csvHistQuotesDownload

现在,由于您要破解 node.js,您可能会考虑使用 socket.io,因为这确实有助于股票数据不断变化的性质。

最后提醒一句:每天凌晨 4 点到开市之间,雅虎都会重置所有报价。即所有股票的价格变化变为 0.00(或 0%),尽管价格等与前一天的收盘价保持正确相同。不知道他们这样做的确切原因,但这意味着如果你正在做基于百分比变化的热图或图表,那么在这些时间里它不会画出非常有趣的图形。

哦,还有一个注意事项:我不确定您是否真的需要包含猫鼬或任何数据库。当然,这取决于您对数据的处理方式,但如果您希望开发和托管的简单性和低成本,请考虑可以将所有内容存储在内存中的事实。如果应用程序崩溃并重新启动,您可以重新请求所有报价。

于 2012-11-09T22:41:23.213 回答