开源证券行情数据数据库 Datafeed

Discussion in 'Python & Quantopian' started by epaulin, Dec 22, 2011.

  1. 预告帖见这里: http://www.oceantribe.org/vb/showthread.php?t=34511

    Datafeed 是一个基于 Python/HDF5 的开源证券行情数据库。IMIGU( http://imigu.com ) 已经在生产环境使用 Datafeed超过一年。


    Datafeed可以作为独立的本地数据服务器运行,也可以作为服务端对外提供数据服务,Datafeed自带了py的Client段用来获取或更新数据,默认提供的数据提供商包含网际风,Yahoo,Google等。

    Datafeed 在 Apache 2.0 授权下发布 (http://www.apache.org/licenses/LICENSE-2.0.html)。

    代码地址在这里:

    https://github.com/yinhm/datafeed

    Datafeed Server端主要运行在Unix类服务器,对于Client端,如网际风行情数据接收需要Windows服务器,目前在Windows XP, 2003下测试通过。

    对于使用网际风的用户,需要安装Git, Python, h5py, numpy, pywin32等,这里是我安装使用到的文件列表:

    * Git-1.7.7.1-preview20111027.exe
    * h5py-2.0.1.win32-py2.7.msi
    * numpy-1.6.1-win32-superpack-python2.7.exe
    * pycurl-7.19.0.win32-py2.7.exe
    * python-2.7.2.msi
    * pywin32-216.win32-py2.7.exe
    * setuptools-0.6c11.win32-py2.7.exe


    需要注意的是,Datafeed是一个基础服务,使用Datafeed需要一定的编程能力,具体说,要会使用Python。



    下面是拷贝自github上的项目描述。

    ## Components

    * Quotes store server.
    * Client to interactive with quote server(get/put).
    * Datafeeds providers client, including Yahoo, Google, etc.


    ## Python version support

    Officially 2.7. Python 3 may works but not tested.


    ## Dependencies

    * NumPy: 1.5.0 or higher
    * h5py: 2.0 or higher
    * tornado: 2.0 or higher

    Install dependent packages with pip:

    pip install -r pip.txt


    ## Optional packages

    * pandas: dividend/split and more
    * python-dateutil: <2.0, RSS parsing
    * pycurl: url fetch
    * pywin32: only needed if you want to run TongShi client


    ## INSTALLATION

    git clone git://github.com/yinhm/datafeed.git


    ## Run

    cd datafeed
    cp config_example.py config.py
    python server.py


    ## Client

    from datafeed.client import Client
    c = Client()
    c.get_report("SH000001")


    ## TODO

    * Documentation


    ## License

    Apache Public License (APL) 2.0


    ## Thanks

    * Big thanks to my company ( http://jeebo.cn ) allow me to open source Datafeed.


    https://github.com/yinhm/datafeed
     
  2. 支持,留个记号收藏一下.
     
  3. 大家有问题可以可以在这里回帖提问,也可以 twitter上关注我 @yinhm
     
  4. 可能延时会比较大吧
     
  5. 延迟取决于很多因素,比如数据源,比如机器负载磁盘IO,datafeed本身不是瓶颈。

    Datafeed的请求返回一般在 50ms以内。对于get_report这类请求在 1ms以内。
     
  6. 非常好!最近正在写类似的东东,十分感谢!
    有问题一定向您请教!
     
  7. 学习一下
     
  8. 有历史数据和实时数据用来做网站上的k线图吗?
     
  9. 当然可以,datafeed本身是数据服务器,数据源可以考虑通视接口服务,比如网际风。

    datafeed的providers里面也提供了部分大智慧数据读取。
     
  10. 谢谢楼主,最近正在用django弄一个盘后分析的网站,不过给这些历史数据搞的晕死,看了yahoo的,可能是时区问题,csv数据没前一天的数据,google的又没提供国内A股的csv数据,要是自己导进去的话数据库也暴大,不知道楼主的这个datafeed能否用在django上呢?看你用的是tornado的。
     
  11. 首先Datafeed是一个独立的数据服务器,web前端用什么都没有关系,django可以通过datafeed.client和数据库交互,对于数据问题我的建议是,买商业的数据,省事,一年几百块而已相比折腾的时间还是值得的。

    如果要省钱也有办法,导入大智慧的历史数据,每日数据从Google补充(datafeed providers中也提供支持),问题不大,不过Google的数据不可靠,A股尤其。
     
  12. unix或linux类的服务器的话商业数据用哪个呢?是用商业数据传入到datafeed再传入到django里么?这方面不太懂,而且我不是个专业的程序员,很多欠缺,恐怕弄不来这么复杂的东西了诶:(楼主可否指点一二,或者收费帮下忙呢?
     
  13. 如果用网际风那么数据源需要用Windows,Datafeed服务器本身可以跑在Unix/Linux下。
    比如服务器上开个KVM跑Windows即可。

    应该也有其它的解决方案,不过我不清楚。

    django里面可以直接使用datafeed.Client连接Datafeed服务器。
     
  14. 感谢楼主,请问有没有股指期货的实时行情接口呢?
     
  15. 骚锐,没有接触过期货数据。
     
  16. yrn

    yrn

    网际风有两种(nezip,51wjf),不知是用那种做的?
     

  17. 51wjf,不过应该都是类似通视接口的吧。
     
  18. 学习。。。。。
     
  19. 做个标记,留着备用.
     
  20. 谢谢,关注