vn.trader使用教程系列1-安装和配置

2016年已经快要过去一半,目前vn.py项目的交易平台vn.trader已经基本定型,在发布v1.0以前不再会有新的功能模块添加,接下来的时间将会主要集中精力在修复一些小bug方面,同时针对新用户推出这个《vn.trader使用教程系列》,帮助大家更快上手使用。

安装运行环境

和大多数商业软件的傻瓜式一路“下一步”的安装方法不同,vn.trader运行环境的安装需要用户自行操作的地方较多:Python运行时环境、各项插件、数据库等等。

这里介绍的是较为简洁方便、适合新手的Windows通用安装流程,精力旺盛的资深用户可以自行选择其他的安装方式,但是如果你最后失败了,回到这个流程一步步做下去保证可以运行起来:

  1. 准备一台Windows 7 64位系统的电脑
  2. 安装[Anaconda](http://www.continuum.io/downloads):下载Python 2.7 32位版本,注意必须是32位
  3. 安装[MongoDB](Downloads | MongoDB):下载Windows 64-bit 2008 R2+版本
  4. 安装pymongo:在cmd中运行pip install pymongo
  5. 参考[这里](http://jingyan.baidu.com/article/6b97984dbeef881ca2b0bf3e.html),将MongoDB注册为Windows服务并启动
  6. 安装[Visual C++ Redistributable Packages for VS2013](Visual C++ Redistributable Packages for Visual Studio 2013),中英文随意,为了未来使用方便把x86和x64的都给撞
  7. 安装QDarkStyleSheet(非常漂亮的PyQt黑色主题):在cmd中运行pip install qdarkstyle
  8. 在[vn.py项目的Github主页](GitHub – vnpy/vnpy: 基于python的开源交易平台开发框架)选择Download ZIP下载项目代码,并解压到C:\vnpy
  9. 打开C:\vnpy\vn.trader文件夹,准备进行下一步的交易接口配置

除了上述建议的环境外,目前已经有社区用户成功在以下环境中成功运行:

  • Anaconda 64位版本
  • Windows 8/10
  • VS2015
  • Ubuntu/Debian

未来vn.py项目组官方会加入对Ubuntu 16.04环境的支持,其他环境用户就只有自行折腾了,这里强烈建议想专心做交易的朋友不要轻易入坑。

交易接口配置(账号、密码、服务器地址)

完成运行环境的安装后,我们需要配置交易接口,每个接口的功能如下:

  • 接口/名称/相关品种/功能
  • ctpGateway/CTP/期货、期货期权、证券期权/行情、交易
  • ltsGateway/LTS/证券、证券期权/行情、交易
  • xspeedGateway/飞创/期货、期货期权/行情、交易
  • femasGateway/飞马/中金所期货和期货期权/行情、交易
  • ksotpGateway/金仕达期权/期货、期货期权、证券期权/行情、交易
  • ksgoldGateway/金仕达黄金/金交所贵金属/行情、交易
  • sgitGateway/飞鼠/期货、金交所贵金属/行情、交易
  • oandaGateway/OANDA/外汇、CFD/行情、交易
  • ibGateway/盈透证券/外盘证券、期货、期权、外汇、债券等/行情、交易
  • windGateway/万得/证券、期货、外汇、期权、债券、指数等/行情

目前vn.trader基本实现了国内外全品种的交易,期货的接口最多(CTP、飞马、飞创等),股票的接口目前只有LTS,金交所贵金属的接口飞鼠性能较强,但很多银行提供的接口是金仕达黄金,做外盘交易推荐使用盈透证券(功能最强大),如果是刚入门交易的可以试试OANDA(10美元就能开实盘账户并且正常交易)。

这里以最常用的CTP接口举例介绍如何配置交易接口。

首先需要有一个CTP的仿真或者实盘账户,本着对自己钱包负责的态度,我建议新手从仿真账户开始,可以在[SimNow](SimNow仿真交易【官方网站】)官网注册,完成后记好账号和密码。

然后前往[该页面](SimNow仿真交易【官方网站】)查询SimNow的服务器地址和经纪商编码(BrokerID),Trade Front对应交易服务器地址,Market Front对应行情服务器地址,从标准CTP的服务器中选一个就可以。

使用代码编辑器(如Sublime Text、VS Code等,不要用WingIDE之类的IDE,可能有文本编码问题)打开vn.trader/ctpGateway文件夹下的CTP_connect.json,可以看到如下内容:

{
    "brokerID": "9999", 
    "tdAddress": "tcp://180.168.146.187:10000", 
    "password": "simnow申请", 
    "mdAddress": "tcp://180.168.212.228:41213", 
    "userID": "simnow申请"
}

分别修改每个字段为之前步骤中我们记录下来的信息:

  • brokerID:经纪商编码
  • tdAddress:交易服务器地址(服务器地址:端口号),修改时注意不要少了tcp://
  • mdAddress:行情服务器地址,同样注意不要少了tcp://
  • userID:账号
  • password:密码

保存后就完成了接口的配置。

注意事项:

  1. 编辑json时,一定要使用代码编辑器(推荐Sublime Text),使用IDE大概率会出现文本编码问题(JSON文件无法打开)
  2. 修改服务器地址时不要少了tcp://,这是迄今为止发现用户最常犯的错误之一,会导致接口初始化时程序直接崩溃
  3. 如果已经有了CTP的实盘账户,可以通过下载期货公司的快期交易软件,登录时点击测速和代理,查询实盘服务器的地址和端口号,而经纪商编码brokerID可以百度查询或者咨询期货公司的客户经理
    原文作者:用Python的交易员
    原文地址: https://zhuanlan.zhihu.com/p/20848527
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞