ubuntu 18.04 安装 vnpy2.0.9 吐血总结

2020年1月14日   |   by admin

本文为Ubuntu-VNPY-CTP系列第一篇,下面是后续文章

vnpy在CTP穿透式验证在ubuntu下的编译

东吴期货CTP自行开发穿透式监管认证指导

一、vnpy在ubuntu下的安装

1.1.更新源

刚刚安装好的Ubuntu18.04没有vim,为了后面修改文件,先安装vim

在ubuntu 18.04中,按照之前的博文《linux常用命令》修改成源阿里云的源。我们把代码粘贴在这里:

1.2.安装Miniconda3

build-essential不能少,apt-get安装之。

之后安装Python运行环境,Miniconda是轻量化的python包管理器。

安装Miniconda,获得Python 3.7运行环境(为vnpy2.0.9匹配)。具体方法是去官网下载Miniconda3-latest-Linux-x86_64.sh,在终端直接bash即可。

最后一步记得选yes

1.3.安装postgresql包

安装过程vnpy之前,需要一个叫postgresql的包,少不了,网上有用源码安装或者用yum安装的,都不好。源码太麻烦,yum容易跟apt抢戏。

最好的是下面的方法:

1.4.安装vnpy2.0.9

下载vnpy2.0.9,解压。切换到vnpy2.0.9目录下,bash文件install.sh安装。sudo执行时会重置环境变量,导致miniconda在普通用户的.bashrc的设置失效。具体地可以从/etc/sudoers文件里的env_reset中得到佐证。要解决bash与sudo命令的冲突,可以进行如下命令进行安装:

*可选操作

即使如此,还是会有个warning:

很容易理解,root并不拥有普通用户的所有文件,所以一些事情就没做,解决办法:

解决了warning。

1.5.VNPY运行

切换到vnpy-2.0.9的examples/vn_trader目录下,修改run.py注释掉四行,

最后下在该目录下

二、VNPY的使用

2.1windows下VN station下连接simnow

2.1节用windows实验vn station的使用方法,与ubuntu无关。

在Windows下,使用vnpy studio 2.0.9,安装好后可以到下面的文件目录看到策略代码:

打开vn station,点击VN Trade Lite,找到连接CTP。(这里用的好像是simnow的电信服务器,后来发现移动的更快一些)

进行连接,主界面日志框出现“交易服务器连接成功”和“行情服务器连接成功”字样。在Cta策略设置中,不得不吐槽一下合约的命名规则,玻璃:FG005.CZCE,m2005.DCE,rb2005.SHFE。

2.2 ubuntu下的Pycharm 安装

在Ubuntu中,vnpy的各项服务需要自行配置,我们需要比较好轻松地看代码,安装一个Pycharm先。为了方便,在磁盘允许的情况下,使用snap安装,只需要下面的两行代码:

我安装好的版本是,当你打开了第一个工程(直接打开vnpy文件夹),会提示包缺失。实际上pycharm的python解释器是默认的系统自带的那个,我们要改成conda的。在添加解释器(和运行环境)的时候,要选择

只有当你看到,诸如pyqt5,ta-lib,sqlite这些系统原来不会给你装好的包出现了,才有可能是对的。

2.3 ubuntu下踩坑:No module named ‘vnpy.api.ctp.vnctpmd’

当我们运行vnpy-2.0.9/example/client_server/server/run_server.py文件的时候会报上面的错误。ctp接口在没有build的状况下直接安装了vnpy所致。

解决方法,在vnpy-2.0.9目录下运行

进行编译,在生成的/build/lib.linux-x86_64-3.7/vnpy/api/ctp目录下找到两个.so文件,vnctpmd.cpython-37m-x86_64-linux-gnu.so和vnctptd.cpython-37m-x86_64-linux-gnu.so,把它们粘贴到/vnpy-2.0.9/vnpy/api/ctp目录下即可。

2.4 vnpy在ubuntu下运行(2020年2月4日补充)

经过上面的几步,可以在ubuntu下实盘vnpy。

正确输入信息后连接服务器(我的网络连接simnow官网上的移动服务器很快,电信经常掉线),出现“合约信息查询成功”字样。

三、vnpy好文链接

vn.py快速入门8 – 策略实盘自动交易

VNPY 2.0 学习记录一(如何回测)

VNPY 架构设计文档

搭建阿里云Ubuntu量化交易服务器

vnpy在云服务器(ubuntu)运行cta策略的详细方法

vnpy中的EventEngine和MainEngine用法介绍

穿透式监管与CTP

CTP穿透式监管怎么实现代码, 穿透测试API 

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

centos7.6 搭建vnpy量化交易环境

github上一个自动实现值守进程的项目

Leave Your Comment

95f87e0b73a0683285bc395553300148