遵化市论坛

注册

 

发新话题 回复该主题

VNPY30VNTrader客户端开 [复制链接]

1#

VNTrader是VNPY官方推出的一款国内期货量化交易开源软件。主要支持CTP接口,支持国内家期货公司程序化交易,实现程序化交易是免费的。支持股指期货、商品期货、股指期权、商品期权,支持中国8大合规交易所中的5所,包括上海期货交易所,大连期货交易所、郑州期货交易所、中金所、能源所。

关于VNPY的架构

Python在年已经位于编程语言排行榜第一名,得益于这几年量化交易、大数据、人工智能等技术的发展。金融工程等专业,在校期间学习的就是Python语言,所以无论从招聘专业人才的角度、或是对开发效率的要求,都首选Python语言。Python在量化交易领域,专业机构已经接近90%采用Python开发量化策略。

虽然Python并不是完美的,而我们选择一门编程语言,是因为他的优点,Python结合底层C++开发弥补了Python的缺点,通过C++封装的DLL文件,成为原生CTPAPI的桥梁。通过Python向C++DLL注册一个回调函数,可以做到由C++回调触发Python的回调。也不像C++调用Python那样只针对某一个Python版本。在数据上,我们摒弃了数据库,因为经过测试CSV的读取性能是MSSQL这类关系型数据库的倍,即便是时间序列数据库和NOSQL也远不及csv文件的读取速度,更快的性能,发璞归真,简化开发环境是VNPY3.0以后版本采用csv文件存储数据的理由。

目录说明:

strategy策略存放目录tempCTP接口产生的临时流文件存放目录setting.ini账户和服务器配置文件

####上期CTP原生API

thostmduserapi_se.dllCTP接口原生行情接口,在VNPY客户端代码中

thosttraderapi_se.dllCTP接口原生交易接口,在VNPY客户端代码中

thostmduserapi_se.lib仅存在于编译vnctpmd.dll的C++代码中

thosttraderapi_se.lib仅存在于编译vnctpmd.dll的C++代码中

ThostFtdcMdApi.h仅存在于编译vnctpmd.dll和vnctptd.dll的C++代码中

ThostFtdcTraderApi.h仅存在于编译vnctpmd.dll和vnctptd.dll的C++代码中

ThostFtdcUserApiDataType.h仅存在于编译vnctpmd.dll和vnctptd.dll的C++代码中

ThostFtdcUserApiStruct.h仅存在于编译vnctpmd.dll和vnctptd.dll的C++代码中

####VNPY模块以下文件都在VNPY客户端代码中

VNTrader.py启动程序,包含了入口方法main(),注意项目目录下有一个.idea目录,这是PyCharm等IDE读取的配置文件,主要配置了ui.example_pyqt5_ui.py路径,要读到.idea,必须以VNTrader.py为父进程,而不是IDE为父进程,这就需要注意启动方式,否则提示以下错误。Traceback(mostrecentcalllast):File"D:/vntrader-master/VNTrader/VNTrader/VNTrader.py",line20,inimportui.example_pyqt5_uiasexample_uiModuleNotFoundError:Nomodulenamedui.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环境已经安装好了,却不能正确运行。

正确启动VNPY程序做法:在未运行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

module_backtest.py

module_backtestreport.py

module_backtestwindow.py

module_

分享 转发
TOP
发新话题 回复该主题