【问题标题】:create nodeJS mongoDB web app using live streaming from Yahoo Finance API使用来自 Yahoo Finance API 的实时流创建 nodeJS mongoDB Web 应用程序
【发布时间】:2012-11-09 20:09:40
【问题描述】:

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

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

【问题讨论】:

  • yahoo 数据流的 url 是什么?

标签: node.js express mongoose yahoo-finance google-finance-api


【解决方案1】:

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

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

所以我求助于从 Yahoo 的 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 点到开市之间,雅虎都会重置所有报价。 IE。所有股票的价格变化变为 0.00(或 0%),尽管价格等与前一天的收盘价保持正确相同。不知道他们这样做的确切原因,但这意味着如果你正在做,比如说,基于百分比变化的热图或图表,那么在这些时间里它不会画出非常有趣的图形。

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

【讨论】:

  • 哇,答案真的很全面,我真的很感激!好吧,我正在做的是创建一个供我个人使用的应用程序来上传 Excel 表和图表,这些图表与从雅虎财经检索到的数据生成的图表相对应。您的 node.js 应用程序是否公开?
  • 对于客户端绘制图表,您是否使用 API,例如 HighStocks、HumbleFinance 或 Google Annotated Time Line API
  • 如何根据 Excel 表中的外部数据监控一个简单的投资组合并绘制图表?
  • 我也是!我正在考虑使用amChartsHighStocks 创建情节...祝我好运!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-06
  • 2018-08-11
  • 1970-01-01
  • 2017-12-05
  • 2011-07-18
相关资源
最近更新 更多