论坛首页 入门技术论坛

获取股票实时交易数据的方法

浏览 31398 次
该帖已经被评为新手帖
作者 正文
   发表时间:2008-03-10  

炒股有一段时间了,发现现在的股票行情软件在很多情况下并不是太好用,我炒股的时候喜欢看盘口的实时交易记录,如果同时关注多支股票的话,我用过的行情软件没有找到同时观看多支股票盘口交易数据的功能,另外在工作的时候使用目前的行情软件也不太方便。所以打算自己写个专门的行情软件,但是数据源是个最棘手的问题,经过搜索和不懈的努力,找到了两种方式:

  1. 通过webservice调用http://www.webxml.com.cn/zh_cn/web_services.aspx,该网站提供了免费的和收费的服务,但是免费的限制了每天的请求次数,在此不太实用。

  2. 调用sina专门的js服务器来解析数据,这种方式我使用了有很长一段时间,速度还是相当不错的,有时候比专门的行情软件的实时数据还快,下面是获取数据的部分代码:

 

Java代码 复制代码
  1. String url = "http://hq.sinajs.cn/list=sh600151,sz000830,s_sh000001,s_sz399001,s_sz399106";   
  2.   try {   
  3.       URL u = new URL(url);   
  4.       byte[] b = new byte[256];   
  5.       InputStream in = null;   
  6.       ByteArrayOutputStream bo = new ByteArrayOutputStream();   
  7.       while (true) {   
  8.           try {   
  9.               in = u.openStream();   
  10.               int i;   
  11.               while ((i = in.read(b)) != -1) {   
  12.                   bo.write(b, 0, i);   
  13.               }   
  14.               String result = bo.toString();   
  15.               String[] stocks = result.split(";");   
  16.               for (String stock : stocks) {   
  17.                   String[] datas = stock.split(",");   
  18.                   //根据对照自己对应数据   
  19.               }   
  20.               bo.reset();   
  21.           } catch (Exception e) {   
  22.               System.out.println(e.getMessage());   
  23.           } finally {   
  24.               if (in != null) {   
  25.                   in.close();   
  26.               }   
  27.           }   
  28.       }   
  29.   } catch (Exception ex) {   
  30.       System.out.println(ex.getMessage());   
  31.   }  

list后面的参数为相关的股票代码,可以同时附加多个股票代码,其中上证前面加"sh",深证前面加"sz",
如果只需获取股票交易的基本数据则在之前加"s_",如下面的
s_sh000001,s_sz399001,s_sz399106分别为:上证指数,深证成指 ,深证综指的基本指标数据
获取到的数据格式如下:
var hq_str_sh600151="航天机电,14.49,14.57,14.37,14.86,14.10,14.37,14.38,13146411,190836199,1900,14.37,10601,14.36,16100,14.35,1700,14.34,6900,14.33,49200,14.38,60400,14.39,25373,14.40,4500,14.41,10650,14.42,2008-03-07,15:05:32";
var hq_str_sz000830="鲁西化工,8.82,8.91,8.53,8.88,8.38,8.52,8.53,24754397,213611631.24,118400,8.52,38400,8.51,368623,8.50,19000,8.49,69300,8.48,170948,8.53,57160,8.55,44729,8.56,27300,8.57,32700,8.58,2008-03-07,15:20:51";
var hq_str_sh000001="上证指数,4315.808,4360.986,4300.515,4341.295,4265.829,0,0,56747402,92203521881,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2008-03-07,15:05:32";
var hq_str_s_sz399001="深证成指,15560.853,-135.272,-0.86,3500683,963757";
var hq_str_s_sz399106="深证综指,1369.839,-18.264,-1.32,4279649095,4557752";
 

 

获取数据后,自己根据行情软件来对应数据,然后使用swing做个界面,呵呵,这样就大功告成了,个人使用了2个多月了,一般情况下非常好用的。
   发表时间:2008-03-18  
估计很快就被sina换个域名屏蔽掉了
0 请登录后投票
   发表时间:2008-05-12  
GDAT 证券数据引擎
http://www.cnitblog.com/shgdat/
0 请登录后投票
   发表时间:2008-07-09  
我怎么能够得到历史的数据呢??
比如我要获取2005.1.1--现在的所有数据,怎么能得到呢?
0 请登录后投票
   发表时间:2008-08-09  
GDAT 证券数据引擎。
http://www.cnitblog.com/shgdat/

      主要功能是为专业投资人提供实时数据服务,并以此为基础构建投资人独特的选股工具,实现监控式选股.

      此引擎的性能高效,刷新一次全场1500只个股的日k线和盘口数据不超过3秒钟!提供的数据包括:K线(月、周、日、60分钟、30分钟、15分钟、5分钟、1分钟);个股基本信息(股本、每股收益、净资产);盘口数据(5档买卖盘、内外盘等);分时图数据;分笔成交数据;大单买卖数据。以上数据均为与交易所成交同步的实时数据。

目前提供c/c++、delphi、vb三种开发接口。
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics