vn.py - 基于python的开源交易平台开发框架

2016年vn.py项目计划回顾

转眼之间已经到了2016年的四季度,感谢广大用户的支持,vn.py项目在这一年中成长得十分迅速。截止2016年10月13日,Github上的Star已经从年初的583上升到了1672,Fork也从362上升到了987。目前在Github上量化交易相关的项目里,vn.py名列全球第三,仅次于zipline和tushare。为了让社区的成员们能比较全面的了解项目近况,这里对2016年初的项目计划做个简单的回顾。

代码方面:

完善飞创、易盛等相对小众接口的添加,这块将由社区驱动,作者主要负责代码检查和管理(增加了vn.xspeed、vn.sgit、vn.okcoin、vn.shzd等接口,易盛暂时还未有计划)

整理vn.py项目中API的具体版本号,保证封装接口的对应,这点已经有多位用户提起过,项目初期没有做详细记录所以很多API的版本号一时都较难对上(已完成)

Linux上API的编译以及vn.trader支持(已完成)

基于VirtualBox的vn.py开发环境镜像,解决部分用户反映项目初期不知该如何搭建开发环境的问题,这个镜像会由官方长期维护下去(已完成)

文章方面:

作者自己作为交易员的成长经历(通过知乎LIVE完成)

vn.trader的使用教程(已完成)

将ta-lib(技术分析)和quantlib(金融工程和量化)整合到vn.trader中应用的教程,解决目前策略开发过程中技术指标和量化函数缺乏的问题(已完成)

一套关于开发基于股指交易ETF期权的CTA策略的教程(未完成,上证50指数已经基本走成一条直线,本条工作暂时看不到意义了)

社区方面:

重新建设官方网站,目前使用的是托管在Github Pages上的Hexo静态博客,一来功能比较有限,二来有些用户反映Github时不时会被墙,考虑基于Flask重建一个托管在国内的官网(已完成,基于Pelican的新官网)

有用户提出建设互动性更强的网站作为交流平台(如论坛或者知乎Q&A类似的模式),这点在考虑中,主要制约因素是作者参与的时间,可能考虑和更多的资深用户合作是个好主意?(已完成,维恩的派论坛)

论坛

新的论坛维恩的派已经上线(感谢量衍投资对vn.py项目的支持)。

如果你在使用vn.py的过程中有任何疑问想求助或者经验想分享,欢迎到维恩的派上面发帖,项目作者和其他主要贡献者也会每天阅帖,保证回复的效率。

Quick Start

对于大部分用户来说,无需自行编译API接口,可以直接使用vn.trader进行交易和策略开发:

准备一台Windows 7 64位系统的电脑

安装Anaconda:下载Python 2.7 32位版本,注意必须是32位

安装MongoDB:下载Windows 64-bit 2008 R2+版本

安装pymongo:在cmd中运行pip install pymongo

参考这里,将MongoDB注册为Windows服务并启动

在本页面选择Download ZIP下载项目代码,并解压到C:\vnpy

在SimNow注册CTP仿真账号,记下你的账号、密码、经纪商编号,然后下载快期查询你的交易和行情服务器地址

把C:\vnpy\vn.trader\ctpGateway\CTP_connect.json中的账号、密码、服务器等修改为上一步注册完成后你的信息(注意使用专门的编程编辑器,如Sublime Text等,防止json编码出错)

双击运行C:\vnpy\vn.trader\vtMain.py,开始交易!

对于想研究API封装的用户,可以参考vnpy.org上面的教程一步步操作。

其他作者建议使用的软件工具:

WingIDE:非常好用的Python集成开发环境(作者就是用它写的vn.py)

Robomongo:MongoDB的图形化客户端,方便监控和修改数据

Sublime Text:针对编程的文本编辑器,当然你也可以使用Vim或者Emacs

PyQtGraph:适用于开发实时更新数据的图表,如Tick图、K线图、期权波动率曲线等(Matplotlib渲染开销太大,用于实盘绘图可能拖慢整个程序)

Visual Studio 2013:这个就不多说了(作者编译API封装用的是2013版本)

注意:

按照以上方式配置后,便可以使用vn.py的CTP, LTS, KSOTP等大多数交易接口,但在启动vtMain.py时, 你可能会遇到以下错误:

请先安装WindPy接口

global name 'w' is not defined

No module named ib.ext.Contract

No module named websocket

它们分别对应Wind, IB, OKCOIN三个交易接口,如果你不使用这三个接口,可以直接忽略这些错误,不会影响使用。

但如果你需要,可以通过以下方式安装其对应的库:

WIND - 到大奖章网站注册并下载安装Wind资讯开放应用接口个人版即可,使用机构版Wind终端的用户可以直接在终端里安装Python接口

git clone https://github.com/blampe/IbPy.git

cd IbPy

python setup.py install

OKCOIN - pip install websocket-client or conda install websocket-client

How To Contribute

vn.py使用github托管其源代码,贡献代码使用github的PR(Pull Request)的流程,十分的强大与便利:

创建 Issue - 对于较大的改动(如新功能,大型重构等)最好先开issue讨论一下,较小的improvement(如文档改进,bugfix等)直接发PR即可

Fork vn.py - 点击右上角Fork按钮

Clone你自己的fork: git clone https://github.com/$userid/vnpy.git

在dev修改并将修改push到你的fork上

创建从你的fork的dev分支到主项目的dev分支的[Pull Request] - 在此点击Compare & pull request

等待review, 需要继续改进,或者被Merge!

vn.py项目结构

丰富的Python交易和数据API接口,基本覆盖了国内外所有常规交易品种(股票、期货、期权、外汇、外盘、比特币),具体包括:

CTP(vn.ctp)

飞马(vn.femas)

LTS(vn.lts)

金仕达黄金(vn.ksgold)

金仕达期权(vn.ksotp)

飞鼠(vn.sgit)

飞创(vn.xspeed)

OANDA(vn.oanda)

OKCOIN比特币(vn.okcoin)

上海直达期货(vn.shzd)

Interactive Brokers(vn.ib目前在开发中)

通联数据(vn.datayes)

简洁易用的事件驱动引擎(vn.event),作为事件驱动型交易程序的核心

支持服务器端数据推送的RPC框架(vn.rpc),用于实现多进程分布式架构的交易系统

针对如何使用API和事件驱动引擎开发交易程序的示例(vn.demo)

开箱即用的实盘交易平台vn.trader(相比之下vn.demo仅建议学习用),整合了多种交易接口,并针对具体策略算法和功能开发提供了简洁易用的API,功能应用举例:

同时登录多个交易接口,在一套界面上监控多种市场的行情和多种资产账户的资金、持仓、委托、成交情况

支持跨市场套利(CTP期货和LTS证券)、境内外套利(CTP期货和IB外盘)、多市场数据整合实时预测走势(CTP的股指期货数据、IB的外盘A50数据、Wind的行业指数数据)等策略应用

CTA策略引擎模块,在保持易用性的同时,允许用户针对CTA类策略运行过程中委托的报撤行为进行细粒度控制(降低交易滑点、实现高频策略)

官网和知乎专栏,内容目前主要是《Python量化交易平台开发教程系列》,以及vn.py项目进展的更新

官方交流QQ群262656087,管理较严格(定期清除长期潜水的成员)

联系作者

作者知乎名:用python的交易员,想要联系作者可以通过知乎私信

License

MIT

python 股票交易接口 github_GitHub - Higgsbit/vnpy: 基于python的开源交易平台开发框架...相关推荐

  1. python 股票交易接口 github_GitHub - gusihao/vnpy: 基于python的开源交易平台开发框架...

    vn.py - 基于python的开源交易平台开发框架 2016年vn.py项目计划回顾 转眼之间已经到了2016年的四季度,感谢广大用户的支持,vn.py项目在这一年中成长得十分迅速.截止2016年 ...

  2. python 股票交易接口 github_GitHub - zhaoneng/vnpy: 基于python的开源交易平台开发框架...

    By Traders, For Traders. 简介 vn.py是基于Python的开源量化交易程序开发框架,起源于国内私募的自主量化交易系统.2015年初项目启动时只是单纯的交易API接口的Pyt ...

  3. python 股票交易接口 github_GitHub - xiongyixiaoyang/vnpy: 基于python的开源量化交易平台开发框架...

    By Traders, For Traders. 简介 vn.py是基于Python的开源量化交易程序开发框架,起源于国内私募的自主量化交易系统.2015年初项目启动时只是单纯的交易API接口的Pyt ...

  4. python 股票交易接口 github_GitHub - uname-yang/pysnowball: 雪球股票数据接口 python edition...

    pysnowball 雪球APP Python API (需要自取token) 快速指引 安装 pip install pysnowball 示例 >>> import pysnow ...

  5. python写web自动化_Web接口开发与自动化测试——基于Python语言

    目 录∣ V 目 录 第1 章 Python 学习必知 ........................................................................ ...

  6. jemeter python接口自动化测试平台_WEB接口开发与自动化测试基于PYTHON语言PDF_Python教程...

    资源名称:WEB接口开发与自动化测试 基于PYTHON语言 PDF 内容简介: <Web接口开发与自动化测试--基于Python语言>以接口测试为主线,以Web开发为切入点,全面介绍了We ...

  7. python股票交易接口实现股票分时图K线图及抓取level2行情的开发程序分析

    大家对股票交易接口并不陌生,那么要想获取股票数据获取,也是可以通过python股票交易接口实现股票分时图K线图及抓取level2行情的开发程序分析如下: import sys from PyQt5 i ...

  8. python接口自动化测试书籍_Web接口开发与自动化测试——基于Python语言

    Web接口开发与自动化测试--基于Python语言电子书 本书特色: * Django Web发,通过发发布会签到系统,全面了解Django MTV模型. * Django单元测试,在Web应用中如何 ...

  9. 基于python爬虫技术的应用_基于Python爬虫技术的应用

    办公自动化杂志 一.引言 本文主要是对 Python 爬虫技术进行阐述,基于 python 的爬虫与其他语言相比的有很多优势.通过爬去某个网站的所有新闻这个案例,来进一步阐释 Python 爬虫技术的 ...

最新文章

  1. 编程之美2.16 最长递增子序列
  2. python3转为unicode编码_「小技能get记」· 如何用python3解码unicode
  3. Python 进程与线程小随笔
  4. 如何获取FragmentTabHost中指定标签页的Fragment
  5. 长语音识别体验_如何为语音体验写作
  6. Python学习:命令行运行,循环结构
  7. slackware_Slackware年满25岁,Perl告白,PowerShell调整,Linux网络,Emacs等
  8. nodejs实践录:ubuntu 16.04系统nodejs环境搭建
  9. php mysql多表关联删除_MySQL中多表删除方法
  10. SQL Server 2008 Service Broker
  11. vfp和python比较_vfp-和vfp相关的内容-阿里云开发者社区
  12. 软件测试周刊(第68期):解决棘手问题的最上乘方法是:静观其变,顺水推舟。
  13. c 语言小游戏源程序,c/c++小游戏源代码
  14. robotium测试
  15. 手势控制鼠标的操作(不指屏幕实现简单触屏)
  16. 药品研发--检验记录与检验报告书的书写细则
  17. Python 线程之退出线程
  18. 成都超级计算机中心玻璃,全球前十的成都超算中心计算能力大比拼!看看它到底有多厉害?...
  19. 自由幻想java_使用按键精灵脚本实现《自由幻想》游戏内神医验证码自动校验...
  20. unity 使用paint in 3d实现画板效果

热门文章

  1. 数论-杨辉三角和二项式定理
  2. 每日一题——分发糖果
  3. 如何注册我的世界服务器账号密码,我的世界电脑服务器怎么注册登录密码
  4. 美化微信小程序的界面--微信小程序开发中使用vant的完整步骤
  5. 8522A+7段数码管显示实验
  6. [Redis实战]单文件夹启动多实例,redis哨兵+主从复制完整demo样例[windows环境]
  7. Basemap库绘制地图
  8. Windows Moblie上的网络连接
  9. MATLAB绘制四面体和三维彩带图
  10. K - Kinds of Fuwas----(2015 summer training #4 (Qualifying))