vn.py 量化交易框架实践指南:从安装配置到 CTA 策略回测

📅 2026/8/2 6:28:58
vn.py 量化交易框架实践指南:从安装配置到 CTA 策略回测
vnpy实践github主页https://github.com/vnpy/vnpy官方文档https://www.vnpy.com/docs/cn/index.html可参考文档配置数据库、数据接口、交易接口。官方论坛https://www.vnpy.com/forum/ 常见问题可以在这里搜安装安装Python发行版VeighNa Studio-4.4.0。集成内置了VeighNa框架以及VeighNa Station量化管理平台无需手动安装最好别手动安装可能有版本问题费时费力。注若提示未找到alphalens包不要直接安装alphalens而是装alphalens-reloaded0.4.5。提示缺失的包应参考pyproject.toml文件的版本。使用环境Window 10Python 3.13使用指南在SimNow注册CTP仿真账号并在该页面获取经纪商代码以及交易行情服务器地址。下述红线画出的是在获取交易行情进行模拟交易配置交易接口需要填的内容。配置交易行情等服务器流程选择系统里的连接CTP输入后点击连接注意如果连不通交易或行情服务器可用telnet测试该端口是否是通的非交易时间可能是关闭状态在VeighNa社区论坛注册获得VeighNa Station账号密码论坛账号密码即是启动VeighNa Station安装VeighNa Studio后会在桌面自动创建快捷方式输入上一步的账号密码登录点击底部的VeighNa Trader按钮开始你的交易也可以脚本运行软件方式参考官方github配置数据库参考官方文档配置用sqlite无需配置密码等。示例如下直接修改vnpy\trader\setting.py脚本里的database.name: sqlite, database.database: database.db,或在界面配置上修改点击配置后在弹框里对应字段修改。配置数据接口参考https://www.vnpy.com/docs/cn/community/info/datafeed.html使用tqsdk可试用1个月试用流程简洁试用期过后也可以获得数据。天勤TQSDK是由信易科技推出的Python程序化交易解决方案提供当前可交易合约上市以来的历史数据获取项目地址vnpy_tqsdk数据分类期货数据周期分钟线实时更新注册申请天勤量化-信易科技(shinnytech.com)也可使用tushare但tushare在免费积分内只够获取股票类数据无法获取期货类。配置流程直接修改vnpy\trader\setting.py脚本里的datafeed.name: tqsdk, datafeed.username: 账户名, datafeed.password: 密码,在界面配置上修改CTA回测可直接参考官方文档https://www.vnpy.com/docs/cn/community/app/cta_backtester.html以下是简洁示意。选择交易栏里的CTA回测研究模块。在功能栏里选择CTA回测在弹窗里先下载需要的数据指定本地代码股票、期权代码指定日期等点击下载数据。再选择交易策略弹出策略配置超参后可修改再开始回测即可。回测不同策略、超参和时间段结论对不同的时间段应及时选择合适的策略配合合适的超参。应有选择的选取合理的目标来优化超参。不同策略分析同时间段不同策略表现不同应针对市场表现选择合适策略。如下双均线法就是亏损而boll法则是盈利。双均线法总收益率-1.94%boll法总收益率为7.54%。不同超参分析同策略同时间段不同超参会极大影响策略表现。1当boll_window为20boll_dev3.4亏损-3.2w不同指标优化超参数分析同一个策略根据不同的指标优化超参数可以看到最好的指标对应超参数是不同的。优化目标的选择也很重要。根据总收益率优化超参数主要是boll_window【15~21】和boll_dev【2.4~4.4】根据夏普比率优化超参数。根据收益回撤比优化超参数2当boll_window改为17而boll_dev改为2.4时如下盈利12w。收益率为12.08%百分比最大回撤为-3.42%。调整超参前是亏损的略调整后是盈利的以及回撤天数、回撤百分比也不同。说明策略的表现对超参的选择极为敏感。不同时间段分析在不同时间段同策略同参数的表现也不同。应针对当前时间的表现及时更换策略。4月25日到5月25日boll策略总收益-4.62%该策略震荡未有明显反转的行情中表现不佳。3月25日到4月25日boll策略盈利总收益率为6.14%只成交2笔。该策略在突破横盘市场呈现上升趋势表现良好。不使用vnpy也可在线回测以tqsdk为例用于敏捷学习天勤参考策略实现https://doc.shinnytech.com/tqsdk/latest/demo/strategy.html天勤因子计算分析https://doc.shinnytech.com/tqsdk/latest/demo/notebooks/factor.htmltqsdk和vnpy有区别https://doc.shinnytech.com/tqsdk/latest/advanced/for_vnpy_user.html#for-vnpy-user/