Andy's Blog » 股票实时数据, 股票 实时数据, 股票数据源, 股票实时行情接口, python, 实时 获取 股票 新号 服务器, 股票数据存储,数据库, python 实时数据采集, 股票实时数据 以秒为单位, python 提取 日交易数据, hdf5 数据库 股票, 股票 数据源 html, 实时股票软件项目解决方案, 新浪 股票 实时 接口 python, 数据库 股票 行情 表, mysql 转 HDF5, 股票行情数据源, hdf5保存股票数据, 实时行情数据源, 重量计 EMail google.com » 太好了!终于搞定了股票实时行情解决方案

太好了!终于搞定了股票实时行情解决方案

股票行情的变化, 是以秒为单位的, 一到开盘, 每秒钟都要更新每支股票的变化
一共有1500支左右的A股, 包括上证A股和深证A股

试了新浪的接口, 只能一次最多查150支股票左右
用PHP写好了程序, 单进程采集, 更新完这1500支, 平均需要

20.5953 seconds. 0.37MB memory usage

还不算数据库更新, 还没有试多进程, 反正也不太具备实用价值, 这方法本身就有问题
而且每秒要向新浪发起10次查询, 不知道丫的会不会封我IP...

和webxml的技术联系了, 丫的还不如新浪, 一次只能查询40支, 而且要钱, 不限查询给我打完折一年要我1万人民币.

最终, 还是让我找到了解决办法, 方法....我保密, 商业价值还是比较高的. 实现了最小输据量传输的实时行情同步.
没有优化的情况下, 一秒同步采集一次时, 需要占用1.5M带宽, 一次同步需要0.3-0.4秒左右的时间.
优化完后, 一秒同步采集一次, 峰值是1.5M, 不过占用时间很短.

明天继续搞数据库部份, 看来要在空闲时间再入库了. 从而形成历史数据库.

有一个思路, 就是用现有的股票软件, 破解其现有的查询渠道, 开发一个专门生成行情数据的程序.

搜索了半天, 一个叫大赢家的在搞这个, 数据项比较多, 收费不低, 好像是2,3万, 看他介绍还不错的, 东西是不是那么好就不知道了.

关于速度
以新浪为例, 新浪网页上默认的刷新时间是5秒, 如果服务器上要跟它数据保持同步, 需要注意服务器端跟新浪的连接速度要快
查询次数如果过多, 不知道会不会封IP. 不过普通访客都有5秒间隔查询的权限, 如果要一秒一次, 那加4个速度同样的代理就可以解决了:)
另外注意文件锁的问题

数据量 = 1500支 * (4*60/3) = 12万
(按每股3秒变动一次算一天开盘4小时)
每开盘一天, 估计数据库要增加12万条记录, 数据库, 表, 字段要规划好, 准备使用MYSQL或SQLITE
今天没开盘, 等明天开了盘, 搞了数据库再说吧

Incoming search terms:

Tags: 股票, 实时, 方案, 行情

本文地址: http://www.21andy.com/new/20090601/1315.html

26 评论 to “PHP开源CMS之MODx”

  1. guoguolove 于 2009-06-01 08:49:49 发表:

    好东西啊

  2. 史努比 于 2009-06-01 11:39:23 发表:

    不会技术 听不懂

  3. x 于 2009-06-01 15:27:35 发表:

    难搞定的是分红配股的自动化

  4. 飞飞 于 2009-06-01 18:22:11 发表:

    我以为有代码。。

  5. Moo 于 2009-07-08 21:54:01 发表:

    我也在做类似的事情
    只是用的是python跑。
    LZ有兴趣一起交流一下?

  6. leo 于 2009-07-10 21:03:03 发表:

    好不容易google到这里,总算找到一些有用信息。
    我也在做类似的事情,准备采用sqlite做数据库,现在正在封装sqlite,准备做个类似sqlhelper的封装,方便以后的使用。
    现在我的问题是对于股票数据的实时采集,遇到了些麻烦,原来的方案是“偷”sina的数据,但确实实时性不够,不是到是否可以和楼主你交流一下?

  7. 高胜算 于 2009-07-11 22:36:01 发表:

    LZ,我自已也在想办法取股票的数据,你取的数据有5M的吗?交流一下QQ:375717309

  8. missquiet 于 2009-08-09 01:28:08 发表:

    去MACD的图文接受板块看看

  9. [email protected] 于 2009-08-29 18:16:17 发表:

    我有个类似的项目需要外包,请问博主有兴趣吗。请给我EMAIL您的联系方式吧!!!

    jackie 于 2010-11-03 12:30:17 回复:

    呵呵,我们可以谈谈 56301664

  10. case 于 2009-08-31 14:24:00 发表:

    博主您好,有个小项目请您付费帮忙!
    望百忙当中给个联系方式
    我的邮箱[email protected]

  11. Deep Blue 于 2009-09-17 22:40:16 发表:

    对实时性有要求的话,sina之流使不能保证延迟时间的;要是对历史积累数据有兴趣的话,有方案可以从股票软件数据中抓出来,速度相当块,全部数据只要个把小时就行了

    u 于 2009-10-19 11:32:36 回复:

    这个历史数据也就论秒吧,顶多按分钟计,怎么可能需要个吧小时呢?

  12. 云手 于 2009-12-13 16:49:07 发表:

    我已经实现了小时或日线数据入库,特别牛的是还能把自定义指标数据入库而不是仅仅是开收盘价那几个,QQ: 1124519418。

  13. fasiondog 于 2009-12-15 18:15:58 发表:

    用SQLITE存取这么大的数据量,性能太差,而且极为占用空间。SQLITE内部存储全部是文本,每次读取还得转换成需要的数据类型,数据量大的时候,性能绝对吃不消。你可以试试HDF5,排好序存放,速度极快,而且带压缩。我从2000年到现在的1分钟加5分钟数据,文本文件(CSV)42.9G,压缩(8.8G),使用HDF5 + zlib压缩才6.6G,关键是速度!
    另外,对你的方法很感兴趣,不知可否交易?([email protected])

    Andy 于 2009-12-16 17:49:21 回复:

    我想你是做股票分析软件的吧,模拟交易的话,重要的只是当天的数据而已,注重的是实时性
    10几万的记录用不了多大,我已经N个月没再碰了,以后可能会开个模拟炒股站,有机会交流

    fasiondog 于 2009-12-18 18:57:50 回复:

    没错,我的模拟是指验证系统策略,所以需要全部的数据,如果历史上都不能赚钱赚钱的话,也不用指望着现实能赚钱,下一步才是实时交易。不过,那是迟早的是,所以始终对如何实时获取数据很感兴趣:)

    Andy 于 2009-12-16 17:50:51 回复:

    存储我还是用的MYSQL,每个股票一张表,记录当天历史价格变化,还有一张表记录当前价格,用的内存表,但性能提升不大

  14. kemper 于 2010-03-08 22:40:15 发表:

    我也在研究 數據源 不過 讀取上很費工 不知大大 可以交流!!?

  15. Lewis 于 2010-03-11 21:05:02 发表:

    不错,有兴趣!

  16. ou 于 2010-06-04 14:47:08 发表:

    我也在研究这个,不知能否指点一二。
    Email:[email protected]
    QQ:412609824

  17. XXCC 于 2011-01-28 10:52:59 发表:

    我也正在研究实时证券数据采集,不能能否交流一下,QQ7690135 Email:[email protected]

  18. hb 于 2011-05-26 17:49:46 发表:

    我也在研究这个,QQ1410688642,能否和博主请教一下呢?谢谢

  19. sword 于 2011-07-20 22:26:00 发表:

    博主这个项目还有在做吗?

  20. dai 于 2012-12-20 14:17:11 发表:

    请教博主 如何获得股票行情数据源的? 给点提示也行 拜托 想学习下股票软件开发

  21. 明智光秀 于 2014-11-12 10:13:47 发表:

    请教博主,新浪股票的接口要提取股票基本面和估值方面的历史数据,怎么搞呢?