VeighNa量化社区
你的开源社区量化交易平台
vincent727's Avatar
Member
离线
19 帖子
声望: 0

出现一个奇怪的问题:
在/home/vincent/vnpy-2.1.3/examples/vn_trader/run.py下,python run.py运行正常
copy run.py 到/home/vincent/ 目录下,python run.py, 运行正常

copy run.py 到/home/vincent/vnpy-2.1.3 目录下,然后python run.py运行, 无法导入 vnctpmd 模块。 见下图:

description

折腾了几个小时,包括增加路径到环境变量都不行。

我尝试了把run.py放在其它几个目录下都可以,唯独这个vnpy-2.1.3 目录下不行, 不知是什么原因?跟相对路径导入有关么?还是因为这个pyd 模块原因?

我自己编了一个策略,然后文件放在vnpy/app/cta_strategy/strategies 目录下。 文件名格式应该和自带策略格式完全一样,重新启动后,怎么在策略库里找不到这个策略? 对平台架构还在学习熟悉中,当回伸手党,嘿嘿。。。

description

如图错误提示,已经跳出很多次了,有同学遇到过么? 是哪个程序访问bios? dev/mem?

两周前,刚刚把电脑系统升级到ubuntu20.04 系统。 以前用的WIN10 /ubuntu 18.04 双系统。在ubuntu18.04升级到20.04系统时出现意外故障,干脆把ubuntu18.04 彻底卸载,重新装了最新版ubuntu 20.04系统。目前采用win10/ubuntu20.04 双系统。

说起VNPY, 其实大约两三年前接触过,不过因为本人python 的基础比较差。加之对事件驱动引擎原理也不太懂,模块之间调来调去,直接绕晕了,于是很快放弃了。 实盘一直用TB进行交易。前一段时间看到一篇文章,介绍用VNPY进行回测和实盘交易的几个策略,文章很不错。加上因为在使用TB 过程中,一直受困于一些策略的细节处理上难以实现,于是又勾起了对VNPY的兴趣。

问题来了,我刚刚装的ubuntu20.04 系统,VNPY 能否支持?另外我的python 3.8.2 版本能否支持?即使安装成功,能否顺利运行?

带着疑问,网上搜了下,VNPY 最新版本已经更新到2.1.3。 从github 上下载源码vnpy-2.1.3.tar.gz ,解压后运行安装命令 bash install.sh,直接跳出错误提示,后来google上搜索尝试了很多办法,还是无法正确安装。本来截了好多图,后来一看不知什么原因都没有保存下来。
6/10最新更新: 本部分内容本来是make 编译安装的内容,因为几个同学反应make编译方式不能安装。 我重新新建了一个目录试了一次,确实在源码解压和安装过程出现不能安装的奇怪的问题。后来我又尝试了一次bash install.sh, 这次bash install.sh 虽然还是出现了几个类似的错误,但根据错误提示内容,解决方法可以参照下面出现错误提示的解决办法, 最终可以安装成功!

因为对系统,环境的要求,不要再尝试make 编译安装,我会再继续研究尝试。请使用原说明中的bash install.sh安装方法!如给各位带来不便,表示歉意!

安装过程中可能会跳出一些错误提示,比如我的电脑运行时就跳出一些包/模块的版本兼容问题。

ERROR: pyasn1-modules 0.2.8 has requirement pyasn1<0.5.0,>=0.4.6, but you'll have pyasn1 0.4.2 which is incompatible.
ERROR: tigeropen 1.2.0 has requirement pandas==0.24.2, but you'll have pandas 1.0.3 which is incompatible.
ERROR: tigeropen 1.2.0 has requirement python-dateutil==2.8.1, but you'll have python-dateutil 2.7.3 which is incompatible.
ERROR: tigeropen 1.2.0 has requirement simplejson==3.17.0, but you'll have simplejson 3.16.0 which is incompatible.
ERROR: tigeropen 1.2.0 has requirement six==1.13.0, but you'll have six 1.14.0 which is incompatible.

解决办法是直接terminal依次运行pip安装符合版本要求的模块,版本低的直接升级,版本高的就指定版本:
pip install --upgrade pyasn1
pip install pandas==0.24.2
pip install --upgrade python-dateutil
pip install --upgrade simplejson
pip install six==1.13.0

更新完上述包/模块后,重新运行bash install.sh:
然后就可以看到提示:
Successfully installed PyCryptodome-3.9.7 QScintilla-2.11.4 babel-2.8.0 cycler-0.10.0 deap-1.3.1 delorean-1.0.0 docopt-0.6.2 enum34-1.1.6 futu-api-3.21.0 helpdev-0.7.1 humanize-2.4.0 kiwisolver-1.2.0 matplotlib-3.2.1 mongoengine-0.20.0 peewee-3.13.3 protobuf-3.5.1 psycopg2-binary-2.8.5 pyasn1-0.4.2 pymongo-3.10.1 qdarkstyle-2.8.1 rsa-4.0 scipy-1.4.1 seaborn-0.10.1 stomp.py-4.1.22 tigeropen-1.2.0 tzlocal-2.1 vnpy-2.1.3

可以看到安装成功的包和模块,VNPY -2.1.3压轴,至此,安装大功告成!

运行一下看看。

按照说明,打开Terminal, 进入vnpy-2.1.3/examples/vn_trader目录, 编辑器打开run.py(我用的IDE是pycharm). 根据需要加载相应的功能,其实原文件里都列出来了,直接uncomment就行. 我的run.py 内容:
from vnpy.event import EventEngine

from vnpy.trader.engine import MainEngine
from vnpy.trader.ui import MainWindow, create_qapp
from vnpy.gateway.ctp import CtpGateway
from vnpy.app.cta_strategy import CtaStrategyApp
from vnpy.app.cta_backtester import CtaBacktesterApp
from vnpy.app.cta_backtester import CtaBacktesterApp

def main():
""""""
qapp = create_qapp()
event_engine = EventEngine()
main_engine = MainEngine(event_engine)
main_engine.add_gateway(CtpGateway)
main_engine.add_app(CtaStrategyApp)
main_engine.add_app(CtaBacktesterApp)
main_engine.add_app(PortfolioStrategyApp)
main_window = MainWindow(main_engine, event_engine)
main_window.showMaximized()

qapp.exec()

if name == "main":
main()

保存文件,然后terminal 直接运行python run.py

下图是成功打开后的主界面, 按照说明输入simnow 账号信息,连接CTP。 订阅了股指和螺纹钢等合约的价格,然后加载了几个策略(系统自带)的模拟交易。

description

CTA 策略界面

description

加载策略直接按照说明,设定参数,选择品种,一步步操作,非常方便。

试了一下回测功能:

description

我的回测数据,一部分是自己在TB 下载的csv历史行情数据按照要求的格式上传到本地mongoDB 服务器,另外一部分是刚刚申请试用的RQdata 账号由VNPY软件默认下载保存到sqlite 数据库。 因为对数据的下载,保存和调用路线还不是很清楚,后面慢慢研究学习一下。

其它功能应用模块后面继续摸索。

在使用过程中也遇到几个问题,不知如何解决:
1,模拟盘在停止一个策略后,账户里已经成交的订单是如何处理的。 我原来的理解是应该直接自动平仓。但停止一个策略后好像成交的订单还在。需要手动处理么?

2,策略界面出现的异常信息显示不全,边上的滚动条也无法拉到显示底部的信息。不知怎么操作?如下图:

description

3,主界面的委托价格出现明星的错误价格,不知怎么回事, 见下图,橡胶的委托价怎么会冒出来奇怪的11475? 当前最新价格 10655,high/low 是10740/10600, :

description

4, 还有其他几个主界面操作的小问题,估计是本人因为不熟悉操作界面,待摸索。

几点说明:

1,本来在安装软件的过程中截了很多图,有图的话直接用图例说明更直观和准确,但不知何原因我截的图都没有自动保存。所以很多内容是凭记忆后写的,难免有疏漏。加之每个人的系统,环境,配置等都不同,安装过程仅供参考。
2,上面提到的几个问题,请知道的同学解答一下。 多谢!
2,VNPY的很多功能架构还有待继续不断学习理解。 希望有机会多向群里的高手学习,早日达到驾轻就熟的程度。

最后分享一个刚刚把几个策略加载成功的界面:

description

© 2015-2022 微信 18391752892
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】