雅虎等金融数据获取

时间:2021-09-15 16:53:32

本文由ArthurXF倾情奉献,转载请保留作者说明.另本人受聘上海非凡进修学院授IT技术 课,招生简章在此:http://www.bizeway.net/read.php/285.htm,有兴趣学习的,可以跟我联系或者电话咨 询.QQ:29011218,TEL:021-51097877.
  最近股市甚火,受聘开发一股票网站,股票的数据 从哪里来成了一个大问题,股票软件一般都是加密处理的,还有一些web services也是要帐号的,免费的方法只有一种了,抓别人网站的数据。好在经我研究,发现yahoo提供国内和国外股市每天的交易数据资料,这可谓一 大幸事啊。
http://table.finance.yahoo.com/table.csv?s=ibm&d=6&e=22&f=2006&g=d&a=11&b=16&c=1991&ignore=.csv
上面的链接可以抓取IBM股票从1991年11月16日起到2006年6月22的数据。把ibm改成sohu,就可以抓到sohu的股票数据了。
http://table.finance.yahoo.com/table.csv?s=sohu&d=6&e=22&f=2008&g=d&a=11&b=16&c=2008&ignore=.csv
上面链接可以抓搜狐股票的数据。

  那么中国股市的数据有没有呢?答案是肯定的,不过要按照下面的参数做些调整,下面提供全球证券交易所的资料。
上证股票是股票代码后面加上.ss,深证股票是股票代码后面加上.sz
例如:000001 = 000001.sz
深市数据链接:http://table.finance.yahoo.com/table.csv?s=000001.sz
上市数据链接:http://table.finance.yahoo.com/table.csv?s=600000.ss
上证综指代码:000001.ss,深证成指代码:399001.SZ,沪深300代码:000300.ss

下面就是世界股票交易所的网址和缩写,要查找哪个股票交易所的数据,就按照上面的格式以此类推。
上海交易所=cn.finance.yahoo.com,.SS,Chinese,sl1d1t1c1ohgv
深圳交易所=cn.finance.yahoo.com,.SZ,Chinese,sl1d1t1c1ohgv
美国交易所=finance.yahoo.com,,United States,sl1d1t1c1ohgv
加拿大=ca.finance.yahoo.com,.TO,Toronto,sl1d1t1c1ohgv
新西兰=au.finance.yahoo.com,.NZ,sl1d1t1c1ohgv
新加坡=sg.finance.yahoo.com,.SI,Singapore,sl1d1t1c1ohgv
香港=hk.finance.yahoo.com,.HK,*,sl1d1t1c1ohgv
*=tw.finance.yahoo.com,.TW,*,sl1d1t1c1ohgv
印度=in.finance.yahoo.com,.BO,Bombay,sl1d1t1c1ohgv
伦敦=uk.finance.yahoo.com,.L,London,sl1d1t1c1ohgv
澳洲=au.finance.yahoo.com,.AX,Sydney,sl1d1t1c1ohgv
巴西=br.finance.yahoo.com,.SA,Sao Paulo,sl1d1t1c1ohgv
瑞典=se.finance.yahoo.com,.ST,Stockholm,sl1d1t1c1ohgv

  以上方法只能提供历史数据,实时数据不能抓取,此方法由ArthurXF提供,转载请注明出处。谢谢!

posted @ 2013-05-17 14:11 淇水na个弯 阅读(22) 评论(0) 编辑

股票实时数据接口

股票实时数据接口

Posted on 2013-01-11 by 智足者富 — No Comments ↓

做了一点股票分析数据准备,做了个均线图:

http://stock.chenpeng.info/randomone

查询股票走势请移步:http://stock.chenpeng.info/,搜索请输入代码或者股票名称。

Sina股票数据接口

eg:http://hq.sinajs.cn/list=sh600389

返回GB2312编码的内容:

var hq_str_sh600389="*股份,15.31,15.74,15.68,16.02,15.16,15.68,15.69,4044916,62900903,3350,15.68,9700,15.60,1000,15.57,2384,15.56,2100,15.54,13100,15.69,73100,15.70,1000,15.72,4000,15.74,14200,15.75,2013-01-11,14:14:24,00";

客户端js调用示例:

script type="text/javascript" src="http://hq.sinajs.cn/list=sh600389" charset="gb2312">/script>
/javascript">
var elements=hq_str_sh600389.split(",");
document.write("current price:"+elements[3]);
这段代码输出*股份(股票代码:600389)的当前股价
current price:15.68

每个交易日结束后第三个数据,也就是当前价格即为当日收盘价。

var hq_str_sh601006="大秦铁路, 27.55, 27.25, 26.91, 27.55, 26.20, 26.91, 26.92, 
22114263, 589824680, 4695, 26.91, 57590, 26.90, 14700, 26.89, 14300,
26.88, 15100, 26.87, 3100, 26.92, 8900, 26.93, 14230, 26.94, 25150, 26.95, 15220, 26.96, 2008-01-11, 15:05:32";
这个字符串由许多数据拼接在一起,不同含义的数据用逗号隔开了,按照程序员的思路,顺序号从0开始。
0:”大秦铁路”,股票名字;
1:”27.55″,今日开盘价;
2:”27.25″,昨日收盘价;
3:”26.91″,当前价格;
4:”27.55″,今日最高价;
5:”26.20″,今日最低价;
6:”26.91″,竞买价,即“买一”报价;
7:”26.92″,竞卖价,即“卖一”报价;
8:”22114263″,成交的股票数,由于股票交易以一百股为基本单位,所以在使用时,通常把该值除以一百;
9:”589824680″,成交金额,单位为“元”,为了一目了然,通常以“万元”为成交金额的单位,所以通常把该值除以一万;
10:”4695″,“买一”申请4695股,即47手;
11:”26.91″,“买一”报价;
12:”57590″,“买二”
13:”26.90″,“买二”
14:”14700″,“买三”
15:”26.89″,“买三”
16:”14300″,“买四”
17:”26.88″,“买四”
18:”15100″,“买五”
19:”26.87″,“买五”
20:”3100″,“卖一”申报3100股,即31手;
21:”26.92″,“卖一”报价
(22, 23), (24, 25), (26,27), (28, 29)分别为“卖二”至“卖四的情况”
30:”2008-01-11″,日期;
31:”15:05:32″,时间;

如果你要同时查询多个股票,那么在URL最后加上一个逗号,再加上股票代码就可以了;比如你要一次查询大秦铁路(601006)和大同煤业(601001)的行情,就这样使用URL:

http://hq.sinajs.cn/list=sh600000,sh600004

查询大盘指数,比如查询上证综合指数(000001):

http://hq.sinajs.cn/list=s_sh000001

服务器返回的数据为:

var hq_str_s_sh000001="上证指数,2245.722,-37.936,-1.66,961537,7842727";

数据含义分别为:指数名称,当前指数,今日变化值,今日变化百分比,成交量(手),成交额(万元);
查询深圳成指数:

http://hq.sinajs.cn/list=s_sz399001

服务器返回的数据为:

var hq_str_s_sz399001="深证成指,9033.616,-136.439,-1.49,114896246,8404494";

分析股票的基本数据就全了。
腾讯的实时股票接口:

http://qt.gtimg.cn/r=0.8409869808238q=s_sz000559,s_sz000913,s_sz002048,s_sz002085,s_sz002126,s_sz002284,s_sz002434,s_sz002472,s_sz002488

r为随机数
网易的实时股票接口:

http://api.money.126.net/data/feed/1002151,0600036,0600016,0600000,0601398,0600031,1000002,1000858,0601166,0601318,0600019,0601857,1000078,1002024,0600028,money.api?callback=_ntes_quote_callback13451765

注:新浪和腾讯都用sh、sz来区分上证和深证,网易用的1和0来区分。

 


 

 

本站曾介绍过,通过代码添加雅虎财经的股票走势图到自己网站的方法(添加美国股市添加沪深股市),调用的是一张图片。今天在德馨网站,看到了从雅虎财经频道获取股票数据的API(Yahoo! Finance stock API),觉得 API 使用更广泛,作个转引。

1、通过API获取实时数据

请求地址

http://finance.yahoo.com/d/quotes.csv?s=<股票名称>&f=<数据列选项>

参数

  • s – 表示股票名称,多个股票之间使用英文加号分隔,如”XOM+BBDb.TO+JNJ+MSFT”,罗列了四个公司的股票:XOM, BBDb.TO, JNJ, MSFT。

  • f – 表示返回数据列,如”snd1l1yr”。更详细的参见雅虎股票 API f 参数对照表

2、通过API获取历史数据

请求地址

http://ichart.yahoo.com/table.csv?s=<string>&a=<int>&b=<int>&c=<int>&d=<int>&e=<int>&f=<int>&g=d&ignore=.csv

参数

  • s – 股票名称

  • a – 起始时间,月

  • b – 起始时间,日

  • c – 起始时间,年

  • d – 结束时间,月

  • e – 结束时间,日

  • f – 结束时间,年

  • g – 时间周期。Example: g=w, 表示周期是’周’。d->’日’(day), w->’周’(week),m->’月’(mouth),v->’dividends only’

一定注意月份参数,其值比真实数据-1。如需要9月数据,则写为08。

3、通过API获取深沪股票数据

雅虎的API是国际性的,支持查询国内沪深股市的数据,但代码稍微变动一下,如浦发银行的代号是:600000.SS。规则是:上海市场末尾加.ss,深圳市场末尾加.sz。

 

最近股市甚火,受聘开发一股票网站,股票的数据从哪里来成了一个大问题,股票软件一般都是加密处理的,还有一些web services也是要帐号的,免费的方法只有一种了,抓别人网站的数据。好在经我研究,发现yahoo提供国内和国外股市每天的交易数据资料,这可谓一 大幸事啊。
http://table.finance.yahoo.com/table.csv?s=ibm&d=6&e=22&f=2006&g=d&a=11&b=16&c=1991&ignore=.csv
上面的链接可以抓取IBM股票从1991年11月16日起到2006年6月22的数据。把ibm改成sohu,就可以抓到sohu的股票数据了。
http://table.finance.yahoo.com/table.csv?s=sohu&d=6&e=22&f=2008&g=d&a=11&b=16&c=2008&ignore=.csv
上面链接可以抓搜狐股票的数据。

  那么中国股市的数据有没有呢?答案是肯定的,不过要按照下面的参数做些调整,下面提供全球证券交易所的资料。
上证股票是股票代码后面加上.ss,深证股票是股票代码后面加上.sz
例如:000001 = 000001.sz
深市数据链接:http://table.finance.yahoo.com/table.csv?s=000001.sz
上市数据链接:http://table.finance.yahoo.com/table.csv?s=600000.ss
上证综指代码:000001.ss,深证成指代码:399001.SZ,沪深300代码:000300.ss

下面就是世界股票交易所的网址和缩写,要查找哪个股票交易所的数据,就按照上面的格式以此类推。
上海交易所=cn.finance.yahoo.com,.SS,Chinese,sl1d1t1c1ohgv
深圳交易所=cn.finance.yahoo.com,.SZ,Chinese,sl1d1t1c1ohgv
美国交易所=finance.yahoo.com,,United States,sl1d1t1c1ohgv
加拿大=ca.finance.yahoo.com,.TO,Toronto,sl1d1t1c1ohgv
新西兰=au.finance.yahoo.com,.NZ,sl1d1t1c1ohgv
新加坡=sg.finance.yahoo.com,.SI,Singapore,sl1d1t1c1ohgv
香港=hk.finance.yahoo.com,.HK,*,sl1d1t1c1ohgv
*=tw.finance.yahoo.com,.TW,*,sl1d1t1c1ohgv
印度=in.finance.yahoo.com,.BO,Bombay,sl1d1t1c1ohgv
伦敦=uk.finance.yahoo.com,.L,London,sl1d1t1c1ohgv
澳洲=au.finance.yahoo.com,.AX,Sydney,sl1d1t1c1ohgv
巴西=br.finance.yahoo.com,.SA,Sao Paulo,sl1d1t1c1

 

 

--------------------------------------------------------------------------------------

汇率

http://download.finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s=USDCNY=x