前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >优化的tick级别精准回测引擎,支持双合约回测

优化的tick级别精准回测引擎,支持双合约回测

作者头像
用Python的交易员
发布2018-07-26 11:14:46
1.5K0
发布2018-07-26 11:14:46
举报
文章被收录于专栏:维恩的派VNPIE维恩的派VNPIE

vn.py框架更加适合做CTA类的策略,而不是高频策略。moonnejs在「维恩的派」论坛里分享了自己如何对vn.py回测引擎进行改进,使其适合于高频交易。感谢moonnejs的分享!

主要对vn.py框架进行以下几个方面的优化:

  1. 增加选项,可以选择是否延迟1 TICK撮合
  2. 挂价发单时,维护订单在列表中排队值。根据这个TICK内成交均价和上1TICK的盘口价,计算在1档盘口两边成交量,更新排队值
  3. 每笔订单成交量不能大于盘口量
  4. 跨交易日订单自动丢弃
  5. 双合约回测,同时成交的两个合约按单笔结算
  6. 保存每笔成交细节到文件
  7. 参数扫描结果保存到文件
  8. 每个交易日的资金曲线,保存到数据库
  9. 增加数据线程,可以在MongoDB IO等待时撮合计算
  10. 和实盘完全一致的成交和委托回报。回测通过的挂撤单逻辑,如果没有时序错误,基本可以直接实盘

贴内问题集锦:

  1. 有没有代码? 本帖分享了两个文件 ctaTemplate1.py(策略模板)和ctaBacktesting.py(回测引擎);
  2. 双合约策略怎么写? moonnejs:我现在的做法是在策略里面增加一个vtSymbol1变量,在模板里面增加buy1 sell1 ... ,对vtSymbol1这个合约发单 具体使用方式见策略模板ctaTemplate1.py
  3. calcTickVolume 这个函数实现了什么功能? moonnejs:这个函数根据tick内成交均价,简单计算了这个tick盘口两边的成交量
  4. from progressbar import ProgressBar ? moonnejs: pip install progressbar

请点击http://www.vnpie.com/forum.php?mod=viewthread&tid=1445&extra=page%3D3&page=1进入「维恩的派」论坛下载示例demo。再一次感谢moonnejs的分享!欢迎大家把使用过程中遇到的问题或者摸索的经验分享到「维恩的派」论坛!

基于python的开源交易平台开发框架。截止目前,vn.py项目在Github上的Star已经达到5563,量化交易类开源项目第1,量化类项目第3(1、2依旧分别是Zipline和TuShare)。

项目官网:http://www.vnpy.org

论坛地址:www.vnpie.com

知乎专栏:https://zhuanlan.zhihu.com/vn-py

Developed by Traders,

for Traders

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-05-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 维恩的派VNPIE 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档