vnpy
vnpy是很有货的宝藏项目。包括bar和tick回测,有GUI界面,社区也有很好的交流氛围。这里对该项目进行简要梳理。
安装
github有.sh文件,但我在mac装完不兼容,后来是按照如下方式配置的。
- 方法1
- 新建环境
conda env create --name vnpy python==3.10
- 切换
conda activate vnpy
- 开装
pip install -r ./requirements.txt
- ta-lib
conda config --add channels conda-forge\nconda install ta-lib==0.4.24
- 新建环境
- 方法2
- 后来发现有官方安装文档,哈哈
- 方法3
- 如果是windows,可以使用他们的客户端
初步使用
- 安装后还要进行初步配置
- 然后进行数据配置,我目前采用的是米筐 RQData,也可以采取其他数据配置方法
- 还有些使用细节,比如
- 无论变量还是参数,都必须定义在策略类中,而非策略类的__init__函数中;
- 参数和变量,均只支持Python中的四种基础数据类型:str、int、float、bool,使用其他类型会导致各种出错(尤其注意不要用list、dict等容器);
- 如果在策略逻辑中,确实需要使用list、dict之类的容器用于数据缓存,请在__init__函数中创建这些容器。
- 具体还是看公众号上的入门合集 vn.py快速入门
探索tick级回测
- 我主要关注的是tick回测,看了精选文章,还是基于level1盘口数据,而非level2真正的逐笔数据
结果展示
- CTA回测结果包括四张子图,分别是账户净值、净值回撤、每日盈亏、盈亏分布。在GUI界面的统计指标区域,还有日期信息、资金盈亏、交易成本、日均数据、绩效评价几个方面的常见策略统计量。此外还可以查询委托记录、K线图表等内容。
- 除了结果展示外,对于开发好的策略,还有“参数优化”功能,可以从穷举算法、遗传算法几个方面优化结果。