1. 原理

什么是套利?

套利是指在买入或卖出一种金融资产的同时卖出或买入另一种相关的金融资产从中利用价差获得套利的过程。

什么是跨品种套利?

当两个合约有很强的相关性时,可能存在相似的变动关系,两种合约之间的价差会维持在一定的水平上。当市场出现变化时,两种合约之间的价差会偏离均衡水平。此时,可以买入其中一份合约同时卖出其中一份合约,当价差恢复到正常水平时平仓,获取收益。

以大商所玉米和淀粉为例,合约分别为DCE.c1801和DCE.cs1801。二者之间相关性为0.7333,价差处于相对稳定合理区间。如图所示。

二者价差整体处于250-350之间。当价差偏离此区间时,可以进行跨品种套利。

跨品种套利有以下几个特点:

1.套利的两种资产必须有一定的相关性。
2.两种合约标的不同,到期时间相同。
3.两种资产之间的价差呈现一定规律。

怎样确定合约之间有相关性?

最常用的方法是利用EG两步法对两个序列做协整检验,判断两个序列是否平稳。只有单整阶数相同,二者才有可能存在一定的关系。

以大豆和豆粕为例,选取其在2017年1月1日至2018年1月1日的主力合约价格时间序列,利用statsmodels包进行协整检验。

检验结果为:
焦炭的t = -1.7886,1%置信区间的临界值为-3.4576,说明该序列在99%的置信水平下平稳。
焦煤的t = -2.0500,1%置信区间的临界值为-3.4576,说明该序列在99%的置信水平下平稳。

因此,二者都为平稳序列

利用OLS回归检残差序列是否平稳,残差的t=-2.3214,临界值为-3.4577,说明残差平稳。因此,可以认为二者之间存在一定关系。

回归后的残差图如下:

对残差进行ks检验,检验结果p=0,说明残差分布为正态分布。

策略设计

传统利用价差进行跨品种套利的方法是计算出均值和方差,设定开仓、平仓和止损阈值。当新的价格达到阈值时,进行相应的开仓和平仓操作。

应该怎样确定均值?

均值的选取主要有两种方法,第一种方法是固定均值。先历史价格计算相应的阈值(比如利用2017年2月-2017年6月的数据计算阈值,在2019年7月进行套利),再用最新价差进行比较,会发现前后均值差异很大。如图所示。

因此,常用变动的均值设定阈值。即用过去N天两个标的之间差值的均值和方差。

2. 策略思路

第一步:选择相关性较高的两个合约,本例选择大商所的焦炭和焦煤。
第二步:以过去30个的1d频率bar的均值正负0.75个标准差作为开仓阈值,以正负2个标准差作为止损阈值。
第三步:最新价差上穿上界时做空价差,回归到均值附近平仓;下穿下界时做多价差,回归到均值附近平仓。设定止损点,触发止损点则全部平仓。

回测期:2018-02-01 8:00:00 至 2018-12-31 16:00:00
回测标的:DCE.j1901, DCE.jm1901
回测初始资金:200万
注意:若修改回测期,需要修改对应的回测标的。

3. 策略代码

详见:https://www.myquant.cn/docs/python_strategyies/106

4. 回测结果与稳健性分析

设定初始资金200万,手续费率为0.01%,滑点比率为0.01%。回测结果如下图所示。

回测期累计收益率2.80%,年化收益率为3.06%,沪深300收益率为-29.09%,策略收益跑赢基准收益。最大回撤率为2.03%,胜率为48.25%。

为了检验策略的稳健性,改变数据的频率和均线的计算周期,结果如下。

数据频率 均线周期 年化收益率 最大回撤
1d 10 3.06% 2.30%
1d 20 3.51% 2.53%
1d 30 0.55% 2.45%
3600s 10 -7.84% 7.40%
3600s 20 -4.11% 5.28%
3600s 30 -2.89% 3.91%
900s 10 -10.07% 9.38%
900s 20 -9.39% 8.82%
900s 30 -7.65% 7.32%

可以看出,该策略只在1d的频率下实现了盈利,在其他频率下,收益均为负,说明该策略对于高频场景的适用有一定限制。

注:此策略只用于学习、交流、演示,不构成任何投资建议。

跨品种套利 - 期货相关推荐

  1. 跨品种套利 (期货)

    跨品种套利 1. 原理 什么是套利? 套利是指在买入或卖出一种金融资产的同时卖出或买入另一种相关的金融资产从中利用价差获得套利的过程. 什么是跨品种套利? 当两个合约有很强的相关性时,可能存在相似的变 ...

  2. 获取铁矿石和螺纹钢期货数据。对收益率序列进行描述性统计、jb检验,反正是否符合分形市场假说。计算Hurst指数,制定跨品种套利策略,并进行回测,对跨品种套利效果进行评估。寻求改进空间。

    源码已上传至github 项目简介 获取铁矿石和螺纹钢期货数据.对收益率序列进行描述性统计.jb检验,反正是否符合分形市场假说.计算Hurst指数,制定跨品种套利策略,并进行回测,对跨品种套利效果进行 ...

  3. 【点宽专栏】渤海证券——商品期货跨品种择时套利策略

    作者:张滔 广东海洋大学 | 信息与计算科学 | 本科 点宽量化俱乐部第一期会员 简要回顾 跨品种套利原理:两不同品种期货,具有一定相关性,根据其价格差波动套利. 研报筛选出的6对组合:豆油-棕榈油. ...

  4. 跨市场套利——策略简介与风险因素

    相对于常见的同市场不同品种套利交易而言,跨市场套利是一种更为复杂.也更为专业的套利方式.通常交易者会同时操作两个市场上品级相同或很相近的商品.本文将为大家简单介绍跨市场套利及跨市场套利的方法策略的相关 ...

  5. 期货淀粉相关品种(期货淀粉相关品种是什么)

    期货国内买卖平台都有哪些?哪个比较靠谱? 国内合格正规的期货交易平台如下: 1.中国金融期货交易所: 中国金融期货交易所,是经国务院同意,中国证监会批准,由上海期货交易所.郑州商品交易所.大连商品交易 ...

  6. 生活中的跨境套利: YouTube与B站的暴利搬运

    二级市场写多了还是有点腻,今后想尝试总结一些生活中的"套利"机会,供大家探讨. 本文没有利益导向,所有观点都纯属我个人的中立看法.我已尽可能地搜集并整理所能掌握的公开信息,如有描述 ...

  7. 经典的期货量化交易策略大全

    1.双均线策略(期货) 双均线策略是简单移动平均线策略的加强版.移动平均线目的是过滤掉时间序列中的高频扰动,保留有用的低频趋势.它以滞后性的代价获得了平滑性,比如,在一轮牛市行情后,只有当价格出现大幅 ...

  8. 经典的期货量化交易策略大全(含源代码)

    1.双均线策略(期货) 双均线策略是简单移动平均线策略的加强版.移动平均线目的是过滤掉时间序列中的高频扰动,保留有用的低频趋势.它以滞后性的代价获得了平滑性,比如,在一轮牛市行情后,只有当价格出现大幅 ...

  9. 期货网格交策(源码)

    原 期货网格交易策略(附源码) 网格交易策略 网格交易策略简介 什么是网格交易策略? ​ 网格交易是利用市场震荡行情获利的一种主动交易策略,其本质是利用投资标的在一段震荡行情中价格在网格区间内的反复运 ...

  10. 一个量化交易策略师的自白

    我之前在全球top5券商工作时也主要以CTA研究为主,每天都在不停的进行各种回测和开发.彼时,部门的CTA交易主要集中在股指期货的日内投机上,基本市场上能搜集到的各种书籍和报告我都浏览过.不过,从实际 ...

最新文章

  1. python3 赋值 浅拷贝 深拷贝 简介
  2. (填坑:SQL打印两次)mybatisplus+p6spy 日志打印
  3. 分布式、高并发、多线程,到底有什么区别?
  4. RTMPdump(libRTMP) 源代码分析 5: 建立一个流媒体连接 (NetConnection部分)
  5. eclipse MyEclipse中安装 spket插件 js文件内容字体变小解决方案
  6. 删除a标签下面的横线
  7. 典型的SPI控制器的结构
  8. JavaScript高级程序设计33.pdf
  9. Android全局异常捕获
  10. 在网页在播放flv格式的视频
  11. 《Windows核心编程系列》十异步IO之IO完成端口
  12. 利用WireShark下载视频网站的流媒体视频
  13. 科学计算机统计说明书,科学计算机带哪些功能_科学计算机怎么用_科学计算机使用方法...
  14. 宝洁通过新的创意合作伙伴关系重新想象创意并重塑广告
  15. flutter集成高德地图获取位置
  16. [人生感悟]写在毕业前
  17. 一个刚入行而又不甘于平庸的程序猿2019个人总结
  18. C语言求两个正整数的最小公倍数
  19. Java使用对象使用属性过滤集合对象重复数据
  20. 500 推荐一波高质量的公众号,都是值得大家关注的优质号!

热门文章

  1. Oracle创建directory
  2. 缺陷管理工具--mantis使用过程
  3. c 语言 如何优化cpu占用率,C#程序优化-有效减少CPU占用率
  4. python 按规则拆分文件_python实现按行分割文件
  5. ObjectARX标注公差简单实例
  6. 【英语学习】星期的词源
  7. wordpress企业网站主题
  8. bootstrap-datepicker属性和方法
  9. 当前的安全设置不允许从该位置下载文件
  10. Xcode8 及 iOS 10 的适配