![Python量化交易实战:使用vn.py构建交易系统](https://wfqqreader-1252317822.image.myqcloud.com/cover/636/52842636/b_52842636.jpg)
1.5 vn.py的安装与环境配置
在介绍vn.py与其他量化交易工具框架的特点与对比后,本节将会为读者介绍vn.py的安装,其中,vn.py开发人员已经为读者准备好了一个Windows系统下的可执行安装包veighna_studio,这种方法仅支持在Windows系统下使用,另一种方式则是使用Anaconda手动安装vn.py相关的Python包,使用命令行运行即可,这种方法不受操作系统的限制。本书推荐使用手动的方法进行安装。
1.5.1 VeighNa Studio安装
首先进入vn.py框架官方网站的首页(6),如图1-8所示,单击“安装3.3.0”按钮下载veighna_studio的安装包。
下载完veighna_studio安装包后,双击便可以得到如图1-9所示的界面,读者可以自行选择快速安装还是自定义安装,如果选择快速安装,则默认安装在C:\veighna_studio路径下,笔者使用自定义安装,并将自定义安装位置修改为D:\veighna_studio,同时为了简便,复选框勾选了默认选项,如图1-10所示。
单击“安装”按钮后,安装过程开始进行,如图1-11所示。读者从安装过程中可以看出,VeighNa Studio实际上是额外安装了一整套Python环境,并安装了Python包管理器pip,其以Python包的文件形式在安装目录内预装了所需的Python包。
![](https://epubservercos.yuewen.com/7DE16D/31398086707455306/epubprivate/OEBPS/Images/Figure-P22_5522.jpg?sign=1739227786-zvVL5Pdfi93fxgDP8VRCCT8S7lpQKlLh-0-6a1c3d0c684a3030d7bb0ee3e49de433)
图1-8 vn.py官网首页
![](https://epubservercos.yuewen.com/7DE16D/31398086707455306/epubprivate/OEBPS/Images/Figure-P22_5524.jpg?sign=1739227786-r2sZO7dDNgfiuTRZeK2otewJWVeqfcHs-0-4329f2e8bfff22914f80354770136c72)
图1-9 VeighNa Studio安装界面
在安装程序运行完成后,可以得到如图1-12所示的结果,由于笔者使用的是非管理员账户进行的安装,因此在安装完成后需要额外进行“禁用路径字符长度限制”,以防路径过长导致程序报错,建议使用这种安装方式进行安装的读者也执行这一步。
细心的读者可能已发现,运行安装完毕的VeighNa Studio实际上是运行了命令D:\veighna_studio\pythonw.exe -m veighna_station,可以看出VeighNa Studio的启动方式是使用安装目录下的pythonw程序运行模块化的veighna_station模块,而veighna_station模块的路径为D:\veighna_studio\Lib\site-packages\veighna_station,即安装程序预装VeighNa Studio的程序入口模块。有关pythonw的相关知识读者可以自行学习。
![](https://epubservercos.yuewen.com/7DE16D/31398086707455306/epubprivate/OEBPS/Images/Figure-P23_5532.jpg?sign=1739227786-9LgZtDrAqIw1uwLj5im8vhaHP3X1ihcL-0-3209bcee658f92987cf4faf477ea90cb)
图1-10 VeighNa Studio安装选项
![](https://epubservercos.yuewen.com/7DE16D/31398086707455306/epubprivate/OEBPS/Images/Figure-P23_5533.jpg?sign=1739227786-7YIcZ6Lp0UZctQNnr5srauakuzztxHM5-0-d34699c12fcaca4affdbe676f579557d)
图1-11 VeighNa Studio安装中
在安装完毕后,双击桌面上的VeighNa Studio快捷方式即可运行,初次运行需要注册登录所用的账号和密码,并且在引导页勾选所需要的功能。
在使用过程中如果遇到功能损坏需要修复或者需要修改预装组件的情形,则可以在安装完毕VeighNa Studio之后重新双击安装包,如图1-13所示,自行选择需要使用的功能。
![](https://epubservercos.yuewen.com/7DE16D/31398086707455306/epubprivate/OEBPS/Images/Figure-P24_5542.jpg?sign=1739227786-rBKWuZw7x4UzYbQ1SlYTPuea2u4UhTDp-0-e69c437b8e97d341ce374b682a659c9e)
图1-12 VeighNa Studio安装成功
![](https://epubservercos.yuewen.com/7DE16D/31398086707455306/epubprivate/OEBPS/Images/Figure-P24_5544.jpg?sign=1739227786-MKDCLPhULgiII9XyPy2iSQSlf8CTGrWn-0-24ae86afa13feb0f34abf1a4b41dcbb4)
图1-13 VeighNa Studio修改安装选项
这种方法适合对Python编程不熟悉的读者,或者那些想要专注于验证或开发策略的读者,安装过程十分简便,和在Windows正常安装其他软件的过程一样,是一种十分节省时间、高效率的安装方式。
1.5.2 手动安装
从1.5.1节通过VeighNa Studio安装的过程中可以看出,实际上其只是打包了一个精简的Python环境并预装了其所需要的Python包,在运行过程中实际上也是运行了Python命令,因此本节介绍的手动安装方法实际上相当于利用自身计算机中的Python环境进行安装,需要手动配置的步骤较多。本节所述的方法适用于不同的操作系统,本节仍然以在Windows系统下安装为例。
笔者采用的Windows版本为Windows 11专业版64位,版本21H2。
1.安装Anaconda
Anaconda是一个Python包管理器,其可以便捷地获取Python包并对其进行管理,还能创建具有不同Python版本与不同包的单独虚拟环境。
在这一步使用Anaconda是为了安装Python,而非在此使用Anaconda直接解决vn.py的环境依赖。若读者的计算机中已有Python环境,如原生Python环境、Miniconda、Enthought Canopy等,则可以跳过本节。笔者强烈建议读者使用Anaconda中的Python,即使并不为vn.py的环境配置所用,Anaconda在日常使用Python的过程中也能发挥强大的作用。
首先,进入Anaconda的官网https://www.anaconda.com,如图1-14所示。在首页就能看见下载按钮,读者还可以根据不同操作系统选择不同的安装包。笔者使用的Anaconda自带的Python版本为3.9。读者直接根据操作系统下载并安装包即可。如果读者并不想安装最新版本的Anaconda,则可以访问https://repo.anaconda.com/archive/下载历史版本,如图1-15所示,读者可以自行进行选择。
![](https://epubservercos.yuewen.com/7DE16D/31398086707455306/epubprivate/OEBPS/Images/Figure-P25_5558.jpg?sign=1739227786-ALcrlvMf1512ZAfwFH5r58ExOXu5Qwr7-0-d3410e4b0a6e172e23a421c972fab6df)
图1-14 Anaconda官方网站
下载对应的Anaconda安装程序后,一路单击Next按钮直到如图1-16所示。这里将Add Anaconda3 to my PATH environment variable的复选框勾选,方便后期验证Anaconda是否正常安装。接着单击Install按钮直至安装完毕后,打开命令行(Win + R,输入cmd)输入conda info,如果能看到类似如图1-17所示信息,则表明Anaconda已经安装完毕。最后测试Python和pip是否能正常运行,在命令行中分别输入python和pip,如果能看到类似图1-18所示的界面,就可以进入下一节了。
![](https://epubservercos.yuewen.com/7DE16D/31398086707455306/epubprivate/OEBPS/Images/Figure-P26_5580.jpg?sign=1739227786-7znI1g8WXK5n4c5VMvqOqmg4HIZZQHtC-0-cd7bc073001bdc5bc38cf294e1d5232d)
图1-15 历史版本Anaconda下载页面
![](https://epubservercos.yuewen.com/7DE16D/31398086707455306/epubprivate/OEBPS/Images/Figure-P26_5581.jpg?sign=1739227786-FczBewdnpKKJ75b2sYZBxJGraTovnqSl-0-dba1f62d898e51474f17dfab5bfd9f0b)
图1-16 将Anaconda3加入Windows环境变量
2.安装vn.py
安装完Python环境后,由于目前vn.py的最新版本3.3.0需要Python 3.10,所以需要创建一个conda的虚拟环境,在命令行使用conda create --name vnpy3.10 python=3.10即可,如图1-19所示。
![](https://epubservercos.yuewen.com/7DE16D/31398086707455306/epubprivate/OEBPS/Images/Figure-P27_5607.jpg?sign=1739227786-SwM95XgplJjX8B0LHM9eYUMW1FXEYcGc-0-ed9ed9ffc305e3b48cc74850b8269f9b)
图1-17 使用conda info测试Anaconda
![](https://epubservercos.yuewen.com/7DE16D/31398086707455306/epubprivate/OEBPS/Images/Figure-P27_5608.jpg?sign=1739227786-hpWRBXifcXJw9sCNryiseaVXGudoLobD-0-49a84d38eb1a98b8d58a70d570f77420)
图1-18 测试python和pip
![](https://epubservercos.yuewen.com/7DE16D/31398086707455306/epubprivate/OEBPS/Images/Figure-P27_5610.jpg?sign=1739227786-9NVtH6Ie0RdRbQ6LVLQK9eIpvCDg2lgG-0-d05ac660376efa758c30e1c2f81bd698)
图1-19 创建Python 3.10的虚拟环境
在命令行使用activate vnpy3.10激活刚安装好的虚拟环境并使用pip install vnpy即可安装vn.py框架所需的主程序,有些读者自身的Python环境没有安装TA-Lib包,可能会遇到如图1-20所示的报错结果,此时需要预先安装好TA-Lib,再安装vn.py。
从图1-20中的报错信息error: Microsoft Visual C++ 14.0 or greater is required. Get it with"Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/中可以看出,由于TA-Lib安装从源码编译开始,其依赖于C++编译工具,一方面读者可以尝试下载C++编译工具来解决报错问题,本书在此不使用这种方式解决报错;另一方面,读者可以在https://www.lfd.uci.edu/~gohlke/pythonlibs/(如图1-21所示)查找TA-Lib进行下载,根据本地Python环境版本和操作系统选择下载包即可,笔者选择下载的是TA_Lib-0.4.24-cp310-cp310-win_amd64.whl,下载完后使用命令pip install TA_Lib-0.4.24-cp310-cp310-win_amd64.whl即可完成TA-Lib的安装,如图1-22所示。
![](https://epubservercos.yuewen.com/7DE16D/31398086707455306/epubprivate/OEBPS/Images/Figure-P28_5617.jpg?sign=1739227786-SJCLNLk1WkYQ7djQTtEPbhWp31eFgycX-0-d35f54e64fa828d0bc4327f53a9c1bbb)
图1-20 缺少TA-Lib导致vn.py安装失败
![](https://epubservercos.yuewen.com/7DE16D/31398086707455306/epubprivate/OEBPS/Images/Figure-P28_5618.jpg?sign=1739227786-vKdwQUbgQFNV3Z03PH58NsWAIsnjMFIy-0-71339166a38e56c642bd04f8060ff513)
图1-21 Python Wheel包下载网站首页
![](https://epubservercos.yuewen.com/7DE16D/31398086707455306/epubprivate/OEBPS/Images/Figure-P29_5658.jpg?sign=1739227786-9thZIOrs5DZT9RmDRWPv2makm6I6imfj-0-7dc59b41519a9f425ad9e955e478b564)
图1-22 使用pip安装TA-Lib的wheel包
在解决了TA-Lib包安装的相关报错后,再使用pip install vnpy安装vn.py即可。
如果安装顺利,则可以看到如图1-23所示的结果。
![](https://epubservercos.yuewen.com/7DE16D/31398086707455306/epubprivate/OEBPS/Images/Figure-P29_5659.jpg?sign=1739227786-45Rfl62xZblt1U6TNM7y0EEsbzA8BSvQ-0-9a357a0ae0033ba2ef9d5605c527752a)
图1-23 使用pip成功安装vn.py
vn.py现在以组件的形式进行安装,使用pip install vnpy安装主运行环境后还需要安装策略回测、实盘策略等功能所需要的组件,笔者在此列出了vn.py所需要的常用组件,如下代码所示,读者可以使用pip install <包名>进行安装,也可以直接运行install_module.bat文件将以下vnpy的组件包全部安装:
![](https://epubservercos.yuewen.com/7DE16D/31398086707455306/epubprivate/OEBPS/Images/Figure-P29_47238.jpg?sign=1739227786-SPcKmHYKbjDhAoCbBBKp2YqyapGdtTLf-0-9eb8afca9a42b7d27170f84c2aef964a)
完成vn.py的安装后,使用命令行运行python test_vnpy.py测试vn.py是否能够正常运行,测试代码如下:
![](https://epubservercos.yuewen.com/7DE16D/31398086707455306/epubprivate/OEBPS/Images/Figure-P30_47240.jpg?sign=1739227786-5z955p3t44eP87xZV3pA7hLMDnEtijyx-0-dad36912ed7f6044b57b524f25bc8919)
如果能够正确运行,则可以看到如图1-24所示的结果。到此,vn.py已经手动安装完成。
![](https://epubservercos.yuewen.com/7DE16D/31398086707455306/epubprivate/OEBPS/Images/Figure-P31_6018.jpg?sign=1739227786-TA2tL6aBsPS1qPfKMsFyOl5r0RorKdZ4-0-f4eb7d9dfe7f75ce1b76f8bfe161258f)
图1-24 成功运行vn.py
在图1-24中,整体的主界面由vn.py主框架提供,左侧的小图标表示vn.py不同组件提供的功能,顶部导航栏提供行情、交易接口等功能,供配置数据库连接或发送邮件相关字段使用,读者在打开如图1-24所示的界面后,可以先自行尝试使用。