CTA策略因为对象是期货合约,因此,不可避免地会遇上迁月的问题。因此,做CTA策略回测往往有两种跑法,一种是用主力连续数据,一种是用全部合约数据。

一、合约迁月:问题和算法

1、主力合约

比如针对IC, 2017年5月6日 就有IC1705, IC1706,IC1709,IC1512四个合约,其中IC1705,其持仓量最大(1.8万手),我们往往把它做为IC的主力合约来看待。如果我们把IC每天的主力合约串起来,也就构成了时间序列的连续数据。

2、一个重要的问题:迁月如何处理?

当IC交易日向当月的第三周五(结算日为2017年5月19日)靠近时,比如,假定在2017年5月17日左右,这时可能会发生迁月,迁到IC1706。

这个期间,由IC1705和IC1706产生的价格跳跃,可以用“分红”复权的思路进行处理。这样,尽量避免简单的价格迁月跳跃。

3、迁月的算法

一般情况下,迁月是会进行类似的复权处理的。只不过,存在“向前”还是“向后”复权两种不同处理的方式。这里暂不详述。

我一般用这种复权方式:

即若IC1705由主力变非主力时价格3000点,而IC1706由非主力变主力价格3020点,即IC连续合约的价格是仍是3000点,即IC1706后面的价格要同比例(不是直接减,而是按比例折算)归一化到3000点开始,这种方式进行平滑处理。

4、主力合约数据:衍生的特质

通过以上的算法,我们就可以得到IC连续主力合约数据,这个数据并不是真实的某个合约的数据,更准确地说,是一种衍生的数据,专门为策略回测的便利进行”定制“的数据。

把主力合约数据用于策略回测的模式,可以叫主力连续模式。这是一种简化和近似的分析模式。

这种模式的优势在于,回测策略不需要专门考虑合约迁月的问题,比较简单,方便,另外,运行速度比较快,特别适合于CTA隔夜策略。

二、全部合约数据

这种情况是全合约模式:

即策略回测时,把全部合约放在策略中,模拟真实交易的情况,需要IC1705就用IC1705,价格也是真实的价格。
此外,在策略中需真实考虑迁月。

三、两种模式的区别、回测结果差异

1、两种模式的区别

由此可见,全合约模式和主力连续模式区别有:

(1)、全合约模式是在策略内考虑迁月问题,而主力连续模式是在策略外前置考虑。
(2)、全合约模式是更加仿真的状况,而主力连续模式是近似仿真的模式。
(3)、相比于主力连续模式,全合约模式逻辑更复杂、运算时间更长,但回测的结果更加真实;
(4)、全合约模式更适于回测日内模型,主力连续模式特别适合于隔夜策略。

问题是:这两者有多大的区别?会不会影响回测的真实性,精度如何?

2、回测的差异分析

我选取了一个CTA的日内策略,经分析,这个策略在两种模式下,其开仓和平仓时间、次数都是完全一样的,因此,完全隔离了信号带来的差异。

只是由于数据不同,导致了开仓价和平仓价在第一次迁月后就不一样。

1、IC和cu两个品种的分析

(1)对IC实际分析:

数据段:【2015年4月16日至2016年3月31日】 IC

主力合约模式:

2015 年 收益金额 : 1269172 交易次数: 322 平均单笔收益率:0.00204
2016 年 收益金额 : -188954 交易次数: 118 平均单笔收益率:-0.00128

全数据模式:

2015 年 收益金额 : 1286375 交易次数: 322 平均单笔收益率:0.00205
2016 年 收益金额 : -192062 交易次数: 118 平均单笔收益率:-0.00125

需要说明的是,由于2015年9月12日起,重新设置了冲击成本和交易费用(量级你懂的,日内策略不亏死才怪呢)。

(2) cu的分析

数据段:【2010年1月1日至2014年12月31日】 cu
全数据模式:
2010 年 收益金额 : 121399 交易次数: 79 平均单笔收益率:0.00092
2011 年 收益金额 : -21440 交易次数: 80 平均单笔收益率:-0.00012
2012 年 收益金额 : -53475 交易次数: 91 平均单笔收益率:-0.00033
2013 年 收益金额 : 86324 交易次数: 93 平均单笔收益率:0.00056
2014 年 收益金额 : -218825 交易次数: 447 平均单笔收益率:-0.00034

主力合约模式:
2010 年 收益金额 : 120829 交易次数: 79 平均单笔收益率:0.00092
2011 年 收益金额 : -21236 交易次数: 80 平均单笔收益率:-0.00012
2012 年 收益金额 : -53538 交易次数: 91 平均单笔收益率:-0.00033
2013 年 收益金额 : 86531 交易次数: 93 平均单笔收益率:0.00056
2014 年 收益金额 : -219262 交易次数: 447 平均单笔收益率:-0.00033

可见,总体上,如果时间不长,这种影响在1%以内的水平。如果是期间较长,总体偏差会更小。

结论:用主力合约来进行简化策略分析框架是可以接受的,基本不会影响策略的结果。

2、影响差异的因素

总体上,不同合约的价差、不同的时间段、不同的品种在以上两种模式应用中,都有可能有不同程度的影响。

CTA策略:主力连续、全合约模式下回测结果的差异探讨相关推荐

  1. MT5自动打开全部主力连续合约图表

    在MT5里有了稳定快速的期货行情和交易之后,我们就可以通过强大先进的MQL开发交易策略,更可以做出自己想要的各种交易软件功能. 比如我们想打开全部主力连续合约的图表,即打开rb9999, TA9999 ...

  2. 国内4种常用日内CTA策略介绍及实现

    本文首发于微信公众号:优矿量化实验室.文章内容属作者个人观点,不代表和讯网立场.投资者据此操作,风险请自担. 本文将向大家介绍四种常见的CTA策略(Dual Thrust.R-Breaker.菲阿里四 ...

  3. 【量化交易01】CTA策略 菲阿里四价+空中花园策略

    菲阿里四价+空中花园策略 CTA策略(Commodity Trading Advisor Strategy),称为商品交易顾问策略,又称管理期货策略(Managed Futures),简单理解--CT ...

  4. 商品cta策略_《衍生品系列研究之三》:国内商品期货常用日内CTA策略测试

    研究结论 本报告主要在国内10个成交活跃的商品期货品种上测试了几种常见日内CTA 交易策略的效果,具体包括Dual Thrust 策略.ATR 策略.R-Breaker策略.菲阿里四价策略和空中花园策 ...

  5. VNPY - CTA策略模块策略开发

    转自:https://blog.csdn.net/IAlexanderI/article/details/81459430 策略模板 一般来说,交易策略的思路主要来源于两个方向:第一.实盘中的交易经验 ...

  6. cta策略 有哪些_CTA 主流的交易策略都有哪些?

    CTA策略(Commodity Trading Advisor Strategy)称为商品交易顾问策略,也称作管理期货. 主要通过在基本和技术分析中导入数量模型,并借助计算机系统根据数量模型产生的买卖 ...

  7. 英仕曼235年传奇之路从CTA策略鼻祖到全球最大上市对冲基金

    英仕曼235年传奇之路:从CTA策略鼻祖到全球最大上市对冲基金 CTA基金网 前天从1783年伦敦城的一个木桶糖酒贸易商,发展为全球最大上市对冲基金,英仕曼集团235年的发展史令无数人感慨钦佩.英仕曼 ...

  8. 量化策略篇:股票多头策略、CTA策略、期权策略

    来源 | FunZoo趣园 出品 | Fintech独角兽 我认为quant(策略quant)的核心是策略,底层基础是系统.策略可以个逻辑,简单到我就要买或者卖,也可以是个复杂的模型.而支撑的是平稳测 ...

  9. 为什么那么多人喜欢用CTA策略?

    CTA策略被称为最"分散"的策略,由于基于管理期货基金本身的特性,其可以提供多元化的投资机会,从商品,黄金,到货币和股票指数等.因此在某种程度上,管理期货基金的决策一般对计算机程序 ...

  10. 那些CTA策略的表现如何(一)

    致力于量化策略开发,高质量社群,交易思路分享等相关内容 『正文』 ˇ 大家好,我是乌克兰剑圣. 今天我们盘点一下从年初到现在,松鼠CTA策略表现如何(样本外跟踪). 由于策略较多,我选了5个周期长短不 ...

最新文章

  1. 处理器拦截器(HandlerInterceptor)详解
  2. CentOS 6.8 上 MySQL-server 数据库安装失败
  3. linux2.6内核compat_ioctl函数
  4. 6 道 BATJ 必考的 Java 面试题
  5. mysql的命令行安装,忘记密码,密码重置问题
  6. 机器学习-吴恩达-笔记-13-大规模机器学习
  7. kotlin 扩展函数_在 Kotlin 中“实现”trait/类型类
  8. azure linux root密码,Azure Linux 云主机使用Root超级用户登录
  9. 华为交换机配置IPSG防止DHCP动态主机私自更改IP地址
  10. matlab pt站下载,PT站RSS下载使用教程 | PT邀请码网
  11. C语言实现七夕表白爱心
  12. 风险热度地图(Risk heat map)
  13. 微信小程序中使用阿里巴巴字体图标
  14. RollBack RX Professional 设置快照教程
  15. 向UBOOT 中添加自己的板子
  16. 简易的本地音乐播放器 适用于Java初学者
  17. 笑话集原创笑话精品展3
  18. 关于IT行业人员吃的都是青春饭?
  19. 基于路网和GeoPandas的高斯两步移动搜索法可达性分析
  20. C语言编程入门—基本输入输出(week1)

热门文章

  1. Oracle 分区表中索引失效
  2. Eclipse代码自动提示设置
  3. 将Nginx添加到系统服务(使其可使用service命令控制)
  4. Cisco IP Phone 功能亮相(4)
  5. 开源程序安装框架-BitNami
  6. 论文阅读笔记——个体识别研究中的计算机辅助照片匹配:以塞伦盖蒂猎豹为例
  7. sde自动备份到文件gdb
  8. ThinkPHP3.2.3--Linux服务器首页文件index.php路径配置问题
  9. 浅谈接龙红包的技术实现
  10. js里apply用法