前言
目前国内开始做量化交易的朋友也越来越多,从常见的三方商业平台,如文华财经、交易开拓者、Multicharts到一些开源平台vnpy、BackTrader等,其中的vnpy也是目前国内甚至国际上比较流行的python量化交易框架,这次我就主要介绍一下vnpy的源码安装,希望能够帮助新入门量化的朋友少走弯路。以后我也会陆续写一些文章关于多个量化平台的量化环境的搭建,量化经验、乃至量化源码的分享,希望您的持续关注。
话不多话,开始今天的主题。
环境准备
vnpy:https://github.com/vnpy/vnpy
vscode:https://code.visualstudio.com/
miniconda:https://docs.conda.io/en/latest/miniconda.html
mongodb:https://www.mongodb.com/try/download/community
环境安装
1、安装python环境
现在做量化的朋友在搭建python环境的时候,大多喜欢使用anaconda,而我更推荐使用miniconda。 原因是:一方面miniconda的安装体积比anacoda小太多,anacoda完整安装以后基本是小10G了,另外一方面,现在很多的朋友电脑里面基本都不止需要一个python环境,为了避免包之间的兼容性问题,都需要建立多个python环境,所以完整安装一个anaconda的大环境是没有必要的。

Windows环境下一般选择第一个安装就可以了。
现在开始在conda环境中创建一个vnpy的python运行环境,打开CMD环境,输入并运行conda命令,出现conda的命令帮助,表示您的miniconda已经安装好了,可以接下来进一步创建vnpy的python虚拟环境,conda create -n vnpy python=3.7
在cmd环境输入如下命令:
conda create -n vnpy python=3.7

通过命令conda env list来查看一下我们的环境创建成功没有
conda env list

现在我们需要创建的vnpy的python环境已经在conda环境列表中了,表示我的vnpy环境已经创建成功。
2、安装vnpy编辑环境vscode
笔者以前用过其他的python环境的IDE,pycharm、Wings、Spider等等,体验下来还是觉得vscode是比较友好的,原因是体积小、高效、可扩展性强。笔者经常会服务器ssh远程调试量化程序代码,也是灰常地方便,现在自己挖个坑,后面出一篇专门将服务器远程调试vnpy源代码的文章。因此我也推荐大家使用,当然每个人都有自己的使用习惯,都是工具嘛,觉得自己用着称手就好。

vscode作为vnpy开发环境必装的扩展包:


vscode安装过程其实还是非常简单,下载好软件以后根据软件提示一直操作就好了。
3、安装mongoDB数据库
在MongoDB官网下载当前MongoDB Community Server最新版。下载完成以后,一直点击下一步(个人习惯安装到D:/MongoDB,或者其他盘符的根目录,这样比较醒目和方便管理,但是注意安装路劲一定不要有中文)

安装好MongoDB数据库后,最重要的就是服务器启动了,这样就不需要你在每次打开电脑都要去启动MongoDB数据库。
具体操作步骤如下:
• 在MongoDB的根目录手动创建两个文件夹data和log
• CMD环境下进入MongoDB的bin目录(注意:一定用管理员身份启动cmd,要不然会因为权限不够无法安装服务)
cd D:/MongoDB/bin
• 通过命令安装Windows服务
mongod --dbpath "D:\MongoDB\data" --logpath "D:\MongoDB\log\MongoDB.log" --install --serviceName "MongoDB"
• 启动服务
D:/MongoDB/bin/net start MonogoDB
• 停止服务
D:/MongoDB/bin/net stop MonogoDB
• 删除服务
mongod --dbpath "D:\MongoDB\data" --logpath "D:\MongoDB\log\MongoDB.log" --remove --serviceName "MongoDB"
4、安装vnpy运行环境
根据笔者的使用经验,源码安装vnpy经常出现的问题是,vnpy 使用的各个python包因为升级出现不兼容的情况比较多。
这里告诉大家一个相对简单的源码安装方法,具体操作步骤如下:
1、打开vscode,选择python解释器的路径(刚才miniconda创建的vnpy的python运行环境)vscode会自动加载本地电脑的所有python解释器路径。

2、打开vnpy文件夹,修改install.bat批处理文件。
◦ 将python -m pip install .注释掉,修改为::python -m pip install .。修改的原因是,如果在本地编译vnpy后,策略就需要放在conda的vnpy环境中,放在源代码目录是找不到策略文件,所以建议注释掉这行。
◦ 在python -m pip install -r requirements.txt 后面添加
-i
https://pypi.doubanio.com/simple。修改的原因是加快安装程序包的速度,尤其是像PyQt5等。

3、将install.bat这个批处理文件拖动到vnpy的python环境的cmd,回车运行即可,等待vnpy相关程序包安装完成。

等待几分钟便可以全部安装好

当出现这样表示全部已经安装完成。
4、启动vnpy界面
在/examples/vn_trader文件夹路径下,找到run.py文件,运行启动程序,出现如下错误

原因是Python中,每个py文件被称之为模块,每个具有_init_.py文件的目录被称为包。只要模块或者包所在的目录在sys.path中,就可以使用import模块或者import包来使用。如果要使用的模块(py文件)和当前模块在同一目录,只要import相应的文件名即可,比如在a.py中使用b.py:import b即可;但是如果要import一个不同目录的文件,首先需要使用sys.path.append方法将b.py所在目录加入到搜索目录中,然后进行import即可,例如:import sys sys.path.append(‘c:\xxx[b.py](http://b.py/)’)
import sys
sys.path.append('E://vnpy-2.6.0')
只要在py文件头部添加上面代码,就可以正常打开vnpy的主界面了。

其实源码方式安装vnpy也不是那么的麻烦,只要耐心细致就可以轻松完成安装,希望对大家有所帮助。另外,后面我将讲一讲如何多账户配置以及多账户的无界面启动,为什么讲这个呢,是因为其他的常规的大家也可以从其他渠道或者vnpy的官方论坛可以找到答案,我讲的要么是其他没有讲或者不是很清晰的。
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/288627
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!