零投入打造量化交易系统【从零入门量化交易系列】
【本文比较长,有3000多字和大量配图,并且需要实际操作,建议在电脑端打开】
经过前面三篇文章,我们已经对量化交易的解决方案和编程语言Python有了一定的了解。很多量化方案都有这样那样的投入,而开源软件既免费,又能自己随意修改。这篇文章就和大家一起,学习使用开源量化系统VN.PY。
VN.PY是一款基于python的开源量化交易程序框架,开发者是“用Python的交易员”。VN.PY是用Python实现的,但底层用的是C++的接口,所以速度还是有保障的。
它提供了数据收集,策略回测、交易、GUI操作界面的整体解决方案,而且它的代码时开源公开的,你可以查看底层的代码,不用担心有什么“后门”威胁到策略和系统安全。
重点是VN.PY的开源协议是用的MIT开源协议,这是作者胸襟的体现。
MIT协议是几大开源协议中最宽松的一个,核心条款是:该软件及其相关文档对所有人免费,可以任意处置,包括使用,复制,修改,合并,发表,分发,再授权,或者销售。唯一的限制是,软件中必须包含上述版 权和许可提示。
这意味着:
1)你可以自由使用,复制,修改,可以用于自己的项目。
2)可以免费分发或用来盈利。
3)唯一的限制是必须包含许可声明。
我们了解了它的功能和好处,解除了后顾之忧后,我们正式进入VN.PY的实操部分。在本篇文章,我们的目标是安装并让系统能做模拟实盘。
VN.PY的安装分为5个步骤,这里以Windows环境为例,给大家一步一步进行演示。
一、安装Anaconda
前面第三篇Python入门中,已经对Anaconda的安装进行了讲解,这里不再做重复。我们需要注意的是, 项目的运行环境必须为Python 2.7 32位版本(Python 3版本或者64位版本均无法使用),推荐的Anaconda版本为4.0.0。
国外官网的下载链接速度比较慢,需要国内清华镜像下载地址的在后台回复“清华镜像”,即可获得百度云下载地址。
安装Anaconda时,除了选择安装目录外,不建议进行任何其他的特别设置。 如果在安装过程中出现一些异常情况(如提示Menu创建失败、某个py文件最后无法写入等),请安装vcredist 2008和2010版本后再次尝试(32位和64位版本一起安装)。
二、安装VCredist
Visual C++ Redistributable Packages for VS2013,简称vcredist,是使用VS2013开发的C++程序运行时所需的基础库环境。 vn.py项目的底层API接口封装开发时使用的编译环境为VS2013,因此需要安装vcredist 2013 x86版本。
vn.py项目的底层API接口封装开发时使用的编译环境为VS2013,因此需要安装vcredist 2013 x86版本。 下载时请选择vcredist_x86.exe,并按照默认安装即可。百度搜索"vcredist2013",即可在微软官网下载。
三、安装MongoDB
MongoDB是一套基于分布式文件储存的NoSQL数据库系统,在Python中使用十分方便,也是vn.py项目所使用的主要数据库。在官网下载即可。
这里要注意,一定要下载3.4版本的,如果安装3.6的会出现很多莫名其妙的问题。如果找不到下载地址的,可以在公众号回复“mongodb”,可以得到百度网盘下载地址。
安装时同样除了选择自定义安装目录外,不要修改任何其他的配置。MongoDB默认安装路径为C:\Program Files\MongoDB\Server\3.4\,以下操作基于该默认路径。
1.创建保存数据用的数据库目录:
1)在C:\创建data目录
2)在C:\data\目录下创建db和log目录
2.在C:\Program Files\MongoDB\Server\3.4\目录下创建数据库配置文件mongod.cfg,并输入以下内容后保存:
systemLog:
destination: file
path: c:\data\log\mongod.log
storage:
dbPath: c:\data\db
3.将MongoDB启动注册为Windows服务,并启动
打开cmd(命令提示符),请在cmd图标上点击鼠标右键,选择以管理员身份运行。
在cmd中输入以下内容并运行,安装Windows服务:
"C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe" --config "C:\Program Files\MongoDB\Server\3.4\mongod.cfg" --install
4.启动服务:
输入命令:net start MongoDB
如果看到“MongoDB服务已经启动成功”,则说明已经成功安装。
四、安装VN.PY
从VN.PY的GitHub上的Release页面下载最新的发行版本。说实话VN.PY更新的蛮快的,而且每个版本改动还不小,我有时候都跟不上版本更新的节奏。而且有一个大问题是,有时候你更新了,策略都要重写。所以,如果不是有特别需要的功能,或者修复Bug,我们用自己熟悉的版本即可,不需要频繁更新。
如果不想去GitHub找,在公众号回复“下载量化”即可获得百度云盘下载地址。
下载后解压, 双击install.bat自动执行安装。 安装过程中会询问是否要通过conda安装talib,请输入”y“并回车即可。若出现http访问失败等报错,可能是因为境外网络访问的原因,建议翻墙后重试。
安装好后,进入之前解压文件夹下的examples/VnTrader,双击VnTrader.bat,即可启动如上图中显示的VnTrader交易系统。
到这里,我们就已经安装好了VN.PY,也能运行了,但要连接上CTP的行情, 才能真正跑起来。
五、设置模拟实盘
首先要申请仿真交易平台SimNow的账号,并通过忘记密码功能,修改密码。
不要问我为什么要通过忘记密码来修改密码,产品经理就是这么设计的o(* ̄︶ ̄*)o
然后在VN.PY的examples\VnTrader目录下,修改CTP_connect.json文件。记得右键用用记事本或者Sublime打开。
修改为:
{
"brokerID": "9999",
"mdAddress": "tcp://180.168.146.187:10011",
"tdAddress": "tcp://180.168.146.187:10001",
"userID": "在这里填上你的SimNow账号",
"password": "在这里填上你的SimNow密码"
}
注意,这里的ID不是你的登录账号,而是登录后显示的 investorId。在这里,再次问候一下SimNow的产品经理。。。。
配置好后的文件样子大概是这样的:
然后在VN.PY的界面左上角,点击“系统”菜单,连接CTP
就能开始在模拟盘上进行交易了,跑起来的样子是这样的:
这样我们就完成了VN.PY的安装和配置,并能进行模拟盘交易了。本文就到这里,下篇文章我们在VN.PY系统中,导入数据并对一个策略进行回测,敬请期待。
西蒙斯:
“我的运算法则一直就那样,你可以聚合聪明人,给他们极大自由,营造人人都愿意和别人沟通的氛围。他们不会躲在角落各自为政,会和别人交流。
你提供了最好的基础设施,最棒的电脑,以及其他可以利用的工具。
人人都是合伙人。那就是我们在文艺复兴基金用的模式。我们会请来有头脑的员工,他们之前根本不懂金融,但他们可以学会了解。”
相关阅读