我正在构建一个基于网络的交易系统,通过阅读来自雅虎财经,谷歌财经或交易所(印度的NSE)本身的报价,可以生成买卖信号。我首选的是从这个网址获取数据:
http://www.nseindia.com/content/equities/niftywatch.htm
网站上的页面使用表格,我想通过使用特定行的类/ ID来获取特定股票的数据。 现在问题是我无法弄清楚如何从我的服务器上的不同域获取数据。我在客户端使用jquery,在服务器端使用VB中的ASP.Net。 所以请帮助我,并建议我如何从上述来源获取股票报价。 即使我可以访问上面的网址表,我的工作也会完成。 请帮忙。 非常感谢。
PS:刚刚在谷歌财经上注意到他们为这个特定的交易所流式传输实时报价,所以如果从谷歌获取数据很容易(我知道他们几乎已经为他们的每项服务提供了api),那么请解释一下。答案 0 :(得分:15)
以下是如何以CSV格式从Yahoo Finance获取历史每日股票价格(截至今日):
http://ichart.finance.yahoo.com/table.csv?s=AAPL
其中AAPL
是股票代码。
您可以使用其他一些参数限制返回的内容:
s - 股票代码。这是唯一不可选的参数。
历史价格的开始日期:
a - 月份编号,从1开始为0。
b - 日期编号,例如,该月的第一天为1。
c - 年。
历史价格的结束日期(默认为最新的可用收盘价):
d - 月份编号,从1开始为0。
e - 日期编号,例如,本月的第一天为1。
f - 年。
最后,历史价格的频率:
g - 每日(默认)可能的值为'd',每周为'w',每月为'm'。
答案 1 :(得分:3)
Google确实为Google财经提供了一个API,请在此处记录:http://code.google.com/apis/finance/
看起来它是围绕投资组合的想法而设计的,而且我没有随便看到一种方法来请求特定股票的报价。最贴合的似乎是“Retrieving specific positions。”
无论如何,这不是你想用jQuery解决的问题。首先,除非在您可以利用的网站上设置nseindia.com
脚本,否则您将无法从其他网站(例如,JSONP
网站)读取任何数据。
答案 2 :(得分:2)
答案 3 :(得分:1)
当您说无法从其他网站获取数据时,我对您的评论感到困惑。
您是说不能从服务器进行HTTP调用,因为防火墙策略或其他约束禁止它?或者,你是说你根本不知道如何从你的服务器进行HTTP调用?
如果是后者,您应该能够非常轻松地找到用于进行HTTP GET调用的.NET库(我不使用.NET,所以我不能确切地说要使用哪个库)。
一旦你想出来,那么你需要弄清楚你将如何解析响应。它是来自HTML表的数据,是CSV文件,是XML提要还是......?它们都将具有不同的解析需求,因此很难解释如何在没有更多特异性的情况下进行解析。您可以使用可用的库,但这当然取决于您的数据源的外观。
如果情况确实如此,那对我来说听起来可能只是对HTTP如何运作有一个浅薄的理解,并且可能会在进一步学习之前学习HTTP 1.1的工作原理。您不必了解整个规范,但足以区分用户代理,服务器,内容类型等的角色。
否则,如果您说无法绕过防火墙策略等,那么在我们提供帮助之前,您必须提供有关服务器环境的更多信息。
答案 4 :(得分:1)
您可以使用wget下载包含有关特定股票的所有信息的页面。页面保存到本地硬盘后,您可以解析并检索实时价格(,p:“stock_price”)。
例如:wget http://www.google.ca/finance?q=some_particular_stock
对此进行编程以定期检索信息,并且您自己拥有实时报价跟踪器。
答案 5 :(得分:1)
不是发布示例,而是here's指向雅虎财务的API文档的链接。它涵盖了CSV和REST API(尽管CSV似乎更完整地涵盖了)。
答案 6 :(得分:0)
您正在寻找结束日期数据。如果是这种情况,您可以在两个日期之间为bhavcopy或历史数据撰写网址(持续时间有限制。我认为3年左右)。
有趣的是,当您从nseindia下载历史数据时,请注意下载zip数据时提供的链接,复制,修改以适合您的日期范围,点击它。
通过这种方式,您可以自动从nseindia下载历史数据。事实上,我们对http://kakup.com 使用相同的内容 当然,我们也将它转换为metastock格式。工作正常。