登录  | 立即注册

游客您好!登录后享受更多精彩

QQ登录

只需一步,快速开始

查看: 31397|回复: 11

VNPY3.0 期货开源框架快速入门教程

[复制链接]

62

主题

103

帖子

1151

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1151
发表于 2021-11-3 02:45:04 | 显示全部楼层 |阅读模式
https://q.vnpy.cn/comm/forum.php?mod=viewthread&tid=13&page=1&extra=#pid13

其他文章:
《陈晓优在开源前,2014年~2023年担任股东公司官网是赌球平台 , 上海韦纳经营多年域名注销备案后变成赌球网址》

还有我司发的文章
《上海证监局对陈晓优和上海韦纳软件科技有限公司涉及数字货bi、外hui、美股等非法金融活动进行调查》



关注支持VNPY的3件事
1.右上角Fork和Star代码  https://gitee.com/vnpypro/vnpy
2.关注VNPY官方社区 https://q.vnpy.cn 常见技术问题
3.在 https://www.vnpy.cn 首页关注VNPY官方微信公众号,扫描下方微信二维码,或微信搜“VNPY官方”


bbb.png

其他参考文章
《VNPY免配置开发环境的发行版本看这里》

《VNPY量化交易项目打包exe方法,可在未安装Python电脑运行》
https://q.vnpy.cn/comm/thread-40-1-1.html
《新版策略自动生成回测文件功能代码解析》
https://q.vnpy.cn/comm/thread-22-1-1.html
《VNPY3.0以后的版本为什么不用数据库设计架构?》
https://q.vnpy.cn/comm/thread-21-1-1.html
《VNPY3.0行情数据调用的5种方式 》
https://q.vnpy.cn/comm/thread-24-1-1.html

《VNPY新手常见问题说明》
https://q.vnpy.cn/comm/thread-3-1-1.html
《VNPY3.0 架构图》
https://q.vnpy.cn/comm/thread-25-1-1.html
《A股\期货解决方案》
http://www.vnta.cn
《近期产品升级计划》
https://q.vnpy.cn/comm/thread-35-1-1.html
VNPY官方网址
https://www.vnpy.cn
VNPY项目托管开源网址
https://gitee.com/vnpypro/vnpy
用户福利
https://www.vnpy.cn/kaihu/

本文是在使用了选择Anacanda的默认环境(base),也可以参考下文
VNPY3.0开发环境安装,PyCharm通过Anacanda虚拟环境简单说明
https://q.vnpy.cn/comm/forum.php?mod=viewthread&tid=20&page=1&extra=#pid41


【提前做个提示】因为很多人,在这个问题上踩了坑,所以把问题放在最前面。
运行时,提示错误  
  1. Traceback (most recent call last):
  2. File "D:/vntrader-master/VNTrader/VNTrader/VNTrader.py", line 20, in <module>
  3. import ui.example_pyqt5_ui as example_ui
  4. ModuleNotFoundError: No module named 'ui.example_pyqt5_ui'
复制代码

以为是环境搭建不起来?最可能的原因是没理解什么是进程的根目录,和Python,pycharm,Anacanda安装环境没关系。

先说一下“进程路径”概念,若先打开Pycharm,再由Pycharm打开项目,Pycharm这个IDE进程才是父进程,Pycharm安装目录被识别为进程目录,而这个目录没有项目文件,自然找不到项目文件里 ui.example_pyqt5_ui.py,同时也找不到IDE配置文件.idea目录,

这是windows的进程概念,和Python和项目无关。正确做法是双击VNTrader.py打开项目,这时VNTrader.py进程才是父进程,他才会从这个VNTrader.py路径作为根目录读取模块和配置文件。

很多用户都是没搞清楚进程路径的概念,明明Python,pycharm,Anacanda环境已经安装好了,却不能正确运行。

推荐的正确做法: 在未运行IDE(比如Pycharm)时,用双击VNTrader.py的方式启动Pycharm (操作系统会把VNTrader.py作为父进程,读取VNTrader.py目录下的.idea目录配置文件,以及所有该目录下的文件)。

还有一个不推荐的办法:就是配置 Windows全局系统环境path字段,但不推荐这个方法,因为插件太多,处理太麻烦,而且每个运行项目的电脑都要设置。

ui.example_pyqt5_ui  文件路径为:VNTrader(CTP6.6.1)\QDarkStyleSheet-master\example\ui\example_pyqt5_ui.py


“ 精于量化,以回测为起点“,我司紧密跟随金融市场日新月异的发展,不断向新的领域发展,新的产品和服务战略不断在延伸 。
  VNPY是由我司上海量贝信息科技有限公司推出的针对国内合规市场的量化交易软件品牌。

   我司的VNPY品牌主要服务于国内合规金融市场,主要针对包括期货和A股在内的2个方向研发软件产品。
   我司严格响应国家号召,从未参与非法数字货币软件产品的研发,   同时我公司开源代码100%属于原创,也请广大投资者擦亮眼镜辨别。


   百度搜索"VNPY",请认准带有“官方”字样的网站 https://www.vnpy.cn



此外通过百度搜索关键词 “VNPY - 知乎” 可找到VNPY官方知乎专栏
认准百度快照如下图



网络上部分链接是老版本了,请从https://www.vnpy.cn 链接过去下载最新VNPY3.0版本



《如何快速搭建VNPY期货CTP框架的开发环境是本文的主要内容 》


Python是编程语言
Python已经当之无愧成为最广泛用于量化交易和数据分析的语言。

Pycharm是IDE
PyCharm是一种 IDE(Integrated Development Environment,集成开发环境),用于开发Python,可以理解未编译器和代码编辑工具。
PyCharm是VNPY官方认为值得推荐的IDE之一。

Anacanda是插件管理工具
Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。[1]因为包含了大量的科学包,Anaconda 的下载文件比较大(约 531 MB),如果只需要很少的包, 也可以使用Miniconda这个较小的发行版(仅包含conda和 Python)。

提示:虽然Pycharm也提供了安装插件的功能,但Anacanda更值得推荐,因为每一个Anacanda的发行版本,都包含了Python语言安装包,以及匹配该Python版本的尽可能多的插件,这些插件都是互相兼容的。免去了用户自己安装一大堆包,还可能存在插件和Python版本不兼容的问题。


VNPY是基于Python技术的量化交易框架
VNPY从2021年下半年开始发布了全新架构的VNPY3.0 ,本文提及的VNTrader就是VNPY开源项目。



https://www.vnpy.cn

https://baike.baidu.com/item/VNPY/59208203?fr=aladdin

VNPY设计的原则
有人认为:数据库不就是存储数据的吗,为什么不用数据库呢?
在场景测试中,金融行业常用的CSV文件格式读取性能远远大于数据库,大概是高出2个数量级,文件存储占用空间只有数据库的1/5左右,如果将CSV 文件开启NTFS压缩属性,文件占用硬盘空间还会进一步压缩至1/20左右。


但也存在现象,市场上有培训的需要,会推荐使用数据库。
但国内商业软件,几乎没有要求安装数据库的。
VNPY3.0本着科学、合理的态度,推荐大家使用文件存储数据,用软件配置文件存储设置(账号、功能设置等)。

VNPY从2021年下半年开始发布了全新架构的VNPY3.0 ,本文提及的VNTrader就是VNPY开源项目。

VNPY 产品定位是,中国内地证监会管辖下的合规市场的开源框架产品,主要分为期货版本和证券版本。

本次以VNPY全新VNTrader期货版本为例进行开发环境讲解,证券版预计在2022年春节发布,请大家密切关注。

以VNPY的VNTrader期货版本为例,采用的是上期CTP接口  ,支持国内5大交易所,包括中金所,上海期货交易所,大连期货交易所,郑州期货交易所,能源所,支持国内149家期货公司。


CTP接口分为行情接口和交易接口而部分,而原生CTP接口是基于C++的,对Python开发者就必须选择一款CTP的Python框架来实现。
这是VNTrader界面



t1.png


本入门课程是VNPY3.0 期货CTP版,下图是即将发布的VNPY3.0 证券版登录截图
关于CTP接口可以看此文  https://q.vnpy.cn/comm/thread-12-1-1.html




vntrader.png

下面我就来介绍一下快速入门的步骤。
一、安装开发环境(1)安装Python不必了
        我们推荐采用Anaconda方式安装,Anaconda自带Python安装包 ,所以不用再单独安装Python安装包。
        VNTrader DEMO涉及的库文件是64位,所以IDE(代码编译器pychrm),Anaconda(Python安装包),插件均要安装64位的版本。

(2)安装IDE,我们推荐使用PyCharm作为代码编译器
Pycharm下载,社区版本是免费的,需要安装64位
打开PyCharm官网 ,点击 Download 按钮
https://www.jetbrains.com/pycharm/

1.jpg



在下面页面中,选择免费的Community (社区版),当然您想花钱卖Professional (专业版)也可以。



2.jpg


安装包如下图所示

3.png


4.png



5.png


6.png
  


连续点击  Next 按钮,直到安装完成。
(3)安装   Anaconda
Anaconda 是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。

https://www.anaconda.com/


7.jpg



   8.jpg

9.jpg

选择Windows平台的64位版本下载




下载   Anaconda 安装包
10.png


运行此 Anaconda安装包,安装完成后,在下图位置启动Anaconda。



11.jpg




二、下载VNPY开源代码访问vnpy官网

https://www.vnpy.cn


点击”Gitee开源代码“按钮


12.jpg




13.jpg




进入开源中国页面,如图位置点击  "克隆/下载"->"下载zip",下载完美的压缩包,也可以通过Github Desktop程序Colon数据




14.jpg



下载完成后,即获得VNTrader整个项目文件。

15.png

解压后,进入项目目录


16.png

其中
CPP source目录: 是C++源代码文件,暂时不用关心
VNTrader目录: 是VNTrader客户端源代码



17.png


打开VNTrader目录,找到VNTradre.py文件


18.png


用双击VNTrader.py 文件用Pycharm打开项目
(4)安装   配置Pycharm为Anaconda
用Pycharm作为项目打开后,
打开菜单  ”Run->Edit Configurations..。“
在对话框如图红圈位置显示 "<No Interpreter>",说明没有配置好Python环境



  

开发环境一般以虚拟环境的形式,可选择不同配置环境,很容易搞错,我们既然选用了Anaconda  安装管理插件,所以需选用Anaconda
打开菜单  File ->Settings...

  


21.png



可能看到如下图红圈1内所示 "<No Interpreter>",和前图是一致的,我们需要点击红圈 2选择 ”+“,添加Anaconda

中文版如下图 P00.png


英文版如下图

v1.png

v2.png


P0.png


v3.png


v4.png


v5.png



Anaconda虚拟环境已经默认安装了 VNTrader需要的插件有:
PyQT5 , pyqtgraph , numpy , pandas等


Anacanda默认没有安装pyqtgraph,搜索后安装pyqtgraph

weixin.png


再使用Pycharm打开VNTrader.py是这样的
红圈内是Anaconda 自动安装好的插件



28.jpg


试着运行一下
点击菜单  ”Run - > Run...“



29.jpg


选择  "VNTrader"


30.jpg


(5)安装Pycharm中文插件
打开菜单 ” File ->Settings...  “
如图选中 ” Plugins“,在红圈1处填写”Chinese“搜索,在搜索结果中所图示红圈位置2,点击 "Install",安装Pycharm中文版插件。


31.jpg

重启pycharm程序。



重启pycharm,发现Pycharm已经编程中文版本。


33.png


(6)在上述步骤中,不能正常运行
解决方案有3:
(1)未来的新版本Anaconda 中可能内置更新版本的pyqtgraph ,可以消除错误;
(2)改用pycharm安装配置,完全不依赖Anaconda 安装包;
(3)屏蔽出错处的”热力图“代码
再次运行

34.jpg



35.png

注意只有Talib库暂时不能从Anacanda搜索到,所以需要按以下步骤安装
在项目目录找到 名为“Talib安装包”的目录



36.png

打开目录,

我们当前系统安装的Anacanda内包含的是Python3.9的 64位版本,所以我们
找TA_Lib-0.4.21-cp39-cp39-win_amd64.whl  整个文件


Talib安装包 (TA_Lib-0.4.21-cp39-cp39-win_amd64.whl) 复制到
Anacanda目录的script目录

比如我账号是wdg,那么拷贝路径为   C:\Users\wdg\anaconda3\Scripts



p1.png



在Pycharm的终端输入以下指令,进行安装,注意需要匹配的你Python版本,VNTrader都是64位版本,本地Anacanda集成的是Python3.9,
所以安装TA_Lib-0.4.21-cp39-cp39-win_amd64.whl这个版本


确认Pycharm环境指定为Anacanda环境后,
在Pycharm 下方选择“终端”标签运行命令行:
pip install C:\Users\wdg\anaconda3\Scripts\TA_Lib-0.4.21-cp39-cp39-win_amd64.whl



p2.png



回车



p3.png



































回复

使用道具 举报

0

主题

1

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2021-11-4 21:01:49 | 显示全部楼层
请教一下,在“我们还需在Anaconda 内部安装相应插件”这一步中,为啥在Anaconda Navigator的Environments中,只有“base(root)”标签,没有“VNTrader”标签? 该如何添加“VNTrader”环境?
回复

使用道具 举报

62

主题

103

帖子

1151

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1151
 楼主| 发表于 2021-11-6 15:40:39 | 显示全部楼层
应该是操作顺序问题,请再Pycharm选择Anacanda虚拟环境,再看看
回复

使用道具 举报

0

主题

2

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2021-11-6 18:13:59 | 显示全部楼层
视频很详细,我已经安装成功,比老版本2.0 性能高出不少

如果提供视频就更好了
回复

使用道具 举报

62

主题

103

帖子

1151

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1151
 楼主| 发表于 2021-11-6 18:25:46 | 显示全部楼层
VNPY3.0 完成新功能完成更新迭代后,会统一发布完整视频
回复

使用道具 举报

0

主题

2

帖子

22

积分

新手上路

Rank: 1

积分
22
发表于 2021-11-9 12:53:04 | 显示全部楼层
我有个大胆的想法,能不能弄一个程序一键把整个环境安装配置完毕?
回复

使用道具 举报

0

主题

1

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2021-12-8 22:35:46 | 显示全部楼层
mosquitog 发表于 2021-11-4 21:01
请教一下,在“我们还需在Anaconda 内部安装相应插件”这一步中,为啥在Anaconda Navigator的Environments ...

点击 Add  Interpreter  项中,点击齿轮图案,点ADD ,再选conda environment,会看到选择项
选择Anaconda3项
Py版本选项选3.9
回复

使用道具 举报

0

主题

3

帖子

22

积分

新手上路

Rank: 1

积分
22
发表于 2021-12-20 14:00:52 | 显示全部楼层
mosquitog 发表于 2021-11-4 21:01
请教一下,在“我们还需在Anaconda 内部安装相应插件”这一步中,为啥在Anaconda Navigator的Environments ...

同问!!!
上面这教程,坑太多。强烈建议做一个视频教程,并且把对应版本号的资源打包放在可以下载的地方!
环境搭建不起来,所有的东西都是空谈!
回复

使用道具 举报

0

主题

1

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2022-1-14 23:42:09 | 显示全部楼层
本帖最后由 wlb2000 于 2022-1-14 23:43 编辑

坑太多了。我搭建了2天一夜~没睡觉。。。首先第一个坑安装最新的Anaconda 安装错误,百度半天,下载了个5月份的安装包成功安装,第二个坑,pyqt5没有,教程里说anaconda里有pyqt。但我这边无法加载,pip install pyqt5解决。第三个坑~~PyQtWebEngine没有装。。pip install PyQtWebEngine  。第四个坑。。 ta lib安装方法没在这页,容易遗漏~~pip TA_Lib-0.4.24-cp38-cp38-win_amd64.whl解决。说的容易。自己百度研究弄了半天,希望能把这些资源都打包开个帖子,不然对新手太不友好了!~~ 很容易在搭建环境中丧失信心放弃研究!~还有最后一个坑。。就是运行开始会没有响应,几分钟后才能打开页面,中间也容易结束任务放弃!~
回复

使用道具 举报

0

主题

3

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2022-3-12 05:26:58 | 显示全部楼层
第一个问题
启动后一直显示
FileNotFoundError: Could not find module 'C:\Users\Administrator\Downloads\vnpy-master\vnpy-master\VNPY3.1\VNPY3.1\VNPY(CTP6.6.1)\vnklineservice.dll' (or one of its dependencies). Try using the full path with constructor syntax.
但是我找到了这个文件,路径是对的,不知道为什么

第二个问题
弹出来的窗口一直显示程序未响应,不知道是不是受第一个问题影响
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|VNPY官方Python开源量化社区 ( 沪ICP备17025576号-16 )

GMT+8, 2024-5-12 10:28 , Processed in 0.076528 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表