作者:张滔
广东海洋大学 | 信息与计算科学 | 本科
点宽量化俱乐部第一期会员

简要回顾

跨品种套利原理:两不同品种期货,具有一定相关性,根据其价格差波动套利。
研报筛选出的6对组合:豆油-棕榈油、豆油-菜油、大豆-豆粕、螺纹钢-焦铁矿石、焦炭-焦煤、玉米-淀粉。
本文仅以大豆-豆粕为例进行探讨。
本策略以复现【渤海证券商品期货套利策略:商品期货跨品种择时套利策略】为主。

基本原理
一、相关系数

概念

相关关系是一种非确定性的关系,相关系数是研究变量之间线性相关程度的统计指标。相关系数是按积差方法计算,同样以两变量与各自平均值的离差为基础,通过两个离差相乘来反映两变量之间相关程度。

相关系数的值介于–1与+1之间,即–1≤r≤+1。其性质如下:

当r>0时,表示两变量正相关,r<0时,两变量为负相关。
当|r|=1时,表示两变量为完全线性相关,即为函数关系。
当r=0时,表示两变量间无线性相关关系。
当0<|r|<1时,表示两变量存在一定程度的线性相关。且|r|越接近1,两变量间线性关系越密切;|r|越接近于0,表示两变量的线性相关越弱。
一般可按三级划分:|r|<0.4为低度线性相关;0.4≤|r|<0.7为显著性相关;0.7≤|r|<1为高度线性相关。

计算公式

本文观点

根据跨品种套利原则,需要找出两不同品种间的相关性,而相关系数恰恰是反映变量间的相关程度的工具。因此,当你想研究变量间的相关关系的时候用相关系数是一种有效的方法。

二、协整关系

概念

如果所考虑的时间序列具有相同的单整阶数,且某种线性组合(协整向量)使得组合时间序列的单整阶数降低,则称这些时间序列之间存在显著的协整关系。虽然一些经济变量的本身是非平稳序列,但是它们的线性组合却有可能是平稳序列。这种平稳的线性组合被称为协整方程,且可解释为变量之间的长期稳定的均衡关系。
平稳性的常用检验方法是图示法与单位根检验法。

研究方法

步骤一:首先,根据利用图示法或单位根检验法对品种进行平稳性检验,若不满足,则对其进行一阶差分处理,再进行平稳性检验。

步骤二:均满足平稳性条件后,将两品种序列做回归分析,同时对其残差进行单位根检验,证明其不具有单位根,即具有协整关系。

步骤三:确定两品种的配比系数,构建价格差序列。

本文观点

协整关系可以衡量变量是否具有平稳性的很好的衡量法则。本策略利用协整关系研究两变量组合间的关系能起到很好的衡量作用。当然本策略在处理非平稳变量的时候采用差分方法消除序列中含有的非平稳趋势。

值得注意的是,经典回归模型是建立在平稳数据变量的基础之上的,对于非平稳变量,不能使用经典回归模型,否则会出现虚假回归等诸多问题。因此,当你想构建经典回归模型探讨变量间的关系的时候,首先需要对变量的平稳性进行检验以及去平稳性处理。

三、均值回复特征

概念

均值回归理论的依据,股票价格不能总是上涨或下跌,一种趋势不管其持续的时间多长都不能永远持续下去。在一个趋势内,股票价格呈持续上升或下降,我们称之为均值回避(Mean Aversion)。当出现相反趋势时就呈均值回归(Mean Reversion),具有该特征的股票称其具有均值回复特征。

研究方法

步骤一:根据价差的均值和标准差构建价差相对均值的偏移度分布图。

步骤二:根据偏移度等统计分析法验证价格差序列的均值回复特征。

偏移度计算公式:
其中,sprend为价格差序列,ma为价差均值,sd为价差标准差。

本文观点

研究需要理论依据,本策略根据均值回复特征原理,对品种进行了实证分析,这也是我们需要具有的研究思路。

四、KD技术指标

概念

KD指标的中文名称是随机指数。适用于中短期股票的技术分析。

随机指标(KD)的主要理论依据是:当价格上涨时,收盘价倾向于接近当日价格区间的上端;相反,在下降趋势中,收盘价倾向于接近当日价格区间的下端。随机指标(KD)在设计中充分考虑价格波动的随机振幅与中短期波动的测算,使其短期测市功能比移动平均线更加准确有效,在市场短期超买超卖的预测方面又比相对强弱指标敏感。

计算公式

本文观点

本策略是根据价格差波动进行择时套利的,针对具有较明显的波动边界的走势,使用灵敏的KD技术指标做开仓信号的处理,能起到很好的效果。

五、自适应均线

概念

自适应均线是由美国人佩里•考夫曼(Perry J.Kaufman)创造的,在他的著作《精明交易者——系统交易指南》中详细介绍了该方法,该方法的优点是其参数能根据趋势变化的速度进行调节,在牛市和熊市中自适应均线紧随价格向上或向下变化,而在市场处于横盘震荡时期,其变化明显减慢。

计算公式

本文观点

本策略是根据价格差波动进行择时套利的,对没有明显波动边界的走势,使用自适应均线来做开仓信号的处理,能起到很好的效果。

6种品种组合具体分析:

一、数据提取

6种商品期货品种组合的品种为:豆油、棕榈油、菜油、大豆、豆粕、螺纹钢、焦铁矿石、焦炭、焦煤、玉米、淀粉。

这些商品期货的主力合约在AT上对应的编码如下表:

二、品种组合分析

本文仅以大豆-豆粕品种组合为例分析探讨。

大豆-豆粕组合

我们知道,大豆和豆粕品种商品期货算是我国最早的一批期货品种。我们选取时间段为:2001年1月1日到2017年10月31日这段时间进行分析。

平稳性检验

1、图示法:
大豆和豆粕品种的价格时间序列如下:

由图可知,我们可以初步判断大豆和豆粕走势相似,可以认为其两品种具有一定的相关性。
2、单位根检验法:
我们对大豆期货主力合约日收盘价和豆粕期货主力合约日收盘价分别进行单位根检验:

MATLAB函数为:
[h,pValue,stat,cValue,reg]=adftest(y,’alpha’,’lags’,’model’,’test’)
得出的结果为:

大豆P值为0.6410,豆粕P值为0.5724,均不满足平稳性条件,对两个价格序列做一阶差分后再做单位根检验,P值为0.0001和0.0001,均满足平稳性条件,表明两者是同阶平稳的价格序列。

回归分析:

对大豆和豆粕做回归分析:

MATLAB函数为:
[b,bint,r,rint,stats]=regress(y,X)

得出的结果为:
设大豆收盘价为,豆粕收盘价为则:

价格差走势图:

偏移度分布图:

均值回复特征:

1、大豆-豆粕价格差的历史上极值点的分布不是很稳定。
2、价差均值为9048.40,标准差为4099.92,价差上涨相对均值偏移最大为2.41倍标准差,下跌相对均值偏移最大为2.39倍标准差。
可见从长期看,虽然相对标准差偏移度不高,但是因为标准差过大,在单边趋势中过早进场很容易造成比较大的回撤甚至亏损。

其他组合读者可以按照本文思路回去尝试着分析。

豆油-棕榈油组合
豆油-菜油组合
螺纹钢-铁矿石组合
焦炭-焦煤组合
玉米-淀粉组合

择时套利策略构建:

本文套利策略按是否具有明显的波动边界走势(即历史上极值点的分布是否比较稳定),使用如下两种策略:

一、针对具有较明显的波动边界的走势,使用灵敏的KD技术指标做开仓信号的处理;

二、对没有明显波动边界的走势,使用自适应均线来做开仓信号的处理。

KD技术指标策略

1、当价差大于一定水平,同时KD指标的K线向下穿越D线时,开仓做空价差;

2、当价差小于一定水平,同时KD指标的K线向上穿越D线时,开仓做多价差。

自适应均线策略

1、当价差大于正常波动范围的上轨,同时自适应均线向下拐头时,即 AMAt-1< AMAt-2 且AMAt-2> AMAt-3时,做空价差;
2、当价差小于正常波动范围的下轨,同时自适应均线向上拐头时,即 AMAt-1> AMAt-2且AMAt-2< AMAt-3时,进场做多价差。

如下图为自适应均线做出的价格差序列图:

量化交易设置及说明:

正常波动幅度范围的确定

价差的正常波动幅度使用自两合约同时上市以来至回测交易日的所有数据的均值加减一定倍数的标准差得到。

假设均值为价差均值为Ma,标准差为Std,设参数为Para_Up和Para_Down.

1、当价差在Ma+Para_UpStd和Ma-Para_DownStd之间时,表示价差波动正常,不存在套利机会,
2、当价差大于Ma+Para_UpStd或价差小于Ma-Para_DownStd时,表示价差波动过大,有均值回归的可能,存在套利机会。
3、针对不同的价差情况,可以调整参数Para_Up和Para_Down的数值,来适应价差波动的非对称性。

开仓信号设置

由于大豆-豆粕价格差的历史上极值点的分布不是很稳定,而是在一个较大的范围内波动,则使用自适应均线来做信号的判断。

1、 当价差大于正常波动范围的上轨,同时自适应均线向下拐头时,即 AMAt-1< AMAt-2 且AMAt-2> AMAt-3时,做空价差;

2、当价差小于正常波动范围的下轨,同时自适应均线向上拐头时,即 AMAt-1> AMAt-2且AMAt-2< AMAt-3 时,进场做多价差。

平部分仓位信号设置
1、假设价差上涨突破正常的波动区间后满足进场条件进场做空价差,在价差未回归到正常波动水平时,如果AMAt-1> AMAt-2且AMAt-2< AMAt-3 时,先平掉部分仓位;
2、假设价差下跌跌破正常的波动区间后满足进场条件进场做多价差,在价差未回归到正常波动水平时,如果 AMAt-1< AMAt-2 且AMAt-2> AMAt-3时,先平掉部分仓位。

止损设置

1、如果是做空价差的仓位,那么当自适应均线的值大于开仓时自适应均线的值时,止损平仓;
2、如果是做多价差的仓位,那么当自适应均线的值小于开仓时自适应均线的值时,止损平仓。

止盈设置

1、假设进场做空价差后,如果价差回落小于Ma+CP_Short Std时,则落入止盈区间止盈平仓;
2、假设进场做多价差后,如果价差上涨大于Ma+CP_Long
Std时,则落入止盈区间止盈平仓。
其中,参数ClossPositionShort和ClossPosition Long根据不同的价差波动规律设置不同的阀值,其本质是不同价差均值附近的概率分布。
策略说明


声明

1、本策略为复现渤海证券研究的《渤海证券商品期货套利策略:商品期货跨品种择时套利策略》,复现过程中可能出现理解错误,欢迎读者一起交流与学习。

2、本策略重在策略的复现及策略的理论分析,并进行数据分析和研究。着重进行数据分析与验证这一过程很重要,希望读者在学习其他研报的时候进行此过程,这将有利于提高你的逻辑分析能力以及严谨性。

【点宽专栏】渤海证券——商品期货跨品种择时套利策略相关推荐

  1. 【点宽专栏】虚拟遗憾最小化(CFR)之量化择时与交易

    谷歌DeepMind公司研发的AI围棋AlphaGo在去年嗨翻天的时候,让我觉得现在的机器学习学习技术真的很NB,因为自己的专业,私下一直有关注机器学习在量化投资这块的一些实践.昨天看到广发出了一篇名 ...

  2. 【点宽专栏】模型投资的风险和矛盾

    [点宽专栏]模型投资的风险和矛盾 感谢量化投资训练营公众号接受我们的采访. 开场 感谢本次量化投资训练与点宽网的深入合作,我们也会将更多把优质文章分享在点宽量化专栏上,让热爱量化的人们得到一些启迪!我 ...

  3. 【点宽专栏】海龟策略在商品期货市场资金流策略中的应用——点宽精选

    图片 本文为点宽-泰迪杯获奖作品 挖掘目标 运用日级K 线数据对2011-2013 年数据刻画资金流向,发现资金流向对未来期货的影响,并使用持仓量.成交量和价格结合进行量化选标的,最后将选择的标的运用 ...

  4. 策略 python_Python版商品期货多品种均线策略

    完全移植自「CTP商品期货多品种均线策略」,由于Python版本商品期货策略还没有一个多品种的策略,所以就移植了JavaScript版本的「CTP商品期货多品种均线策略」.提供一些Python商品期货 ...

  5. 跨品种套利 (期货)

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

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

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

  7. 【量化】基于聚宽实现MACD均线择时策略

    MACD均线择时策略是十分基础的策略,适合咱们这种新手学习,这篇博客就分享一下基于聚宽实现MACD均线择时策略. 代码: 注:需要到聚宽的量化平台去运行. # MACD均线择时策略 ''' 筛选出符合 ...

  8. 【点宽专栏】国信证券——关于量化选股之聚类分析的探讨

    前言 本文基于<国信技术面量化选股系列:价格路径对收益的影响>(国信证券:20160909)和<基于k-means聚类的多因子特征检验>(国信证券:20161205)两份研报( ...

  9. 量化研究 | CTA择时出场策略指南大全

    致力于分享量化策略,培训视频,Python,算法研究等相关内容. 『正文』 ˇ 今天给大家介绍和普及一下我说知道的几种和我用的几种出场方式,其中有的出场方式是单独用的,有的是组合一起用的,并无所谓好坏 ...

最新文章

  1. 受用一生的高效PyCharm使用技巧(二)
  2. 比特币耶稣Roger Ver:BCH是世界上最创新、最实用的加密货币之一
  3. Python基础教程:__setattr__和__delattr__和__getattr__的用法
  4. 【好记性不如烂笔头】之小程序要点记录
  5. Android Prelink实现的源码分析
  6. rmi远程反序列化rce漏洞_Oracle WebLogic 反序列化远程命令执行漏洞预警
  7. 自己建服务器 语音盒子_使用Mumble搭建私人语音服务器
  8. php-rpm.conf,在新安装的宝塔面板中php无法启动起来
  9. 阶段2 JavaWeb+黑马旅游网_15-Maven基础_第1节 基本概念_02maven依赖管理的概念
  10. 工训物流小车视觉开源代码,包含二维码、条形码、物块、标识靶识别
  11. 苹果开发者账号--关于邓白氏编码的申请
  12. MATLAB怎么求非线性度误差,用Matlab进行最小二乘法线性拟合(求传感器非线性误差、灵敏度)...
  13. 【LeetCode】马三来刷题之Remove Duplicates from Sorted Array
  14. flask 视频流直播
  15. 郑州轻工业大学oj平台 c语言 1008 美元和人民币的换算
  16. 复习删除数组中的重复元素
  17. 自学mysql还是sql好_都说自学SQL数据库难,是真的吗?
  18. ipad协议模拟登录
  19. IPHONE 设置 铃声 方法
  20. 【学习笔记】seckill-秒杀项目--(4)登录功能总结及优化

热门文章

  1. 【博学谷学习记录】超强总结,用心分享 | 狂野大数据Hadoop的搭建~个人学习复习记录~PART-01
  2. for var in 循环报错
  3. Quartus17.0使用说明
  4. PermissionError: [Errno 13] Permission denied 如何解决
  5. 华为VoWiFi解决方案技术解析 VOWIFI/VOLTE无缝切换
  6. bzoj2843 极地旅行社
  7. STA-11. 芯片中的偏差和风控机制
  8. 使用nginx前后台项目打包发布
  9. leetcode 面试题62. 圆圈中最后剩下的数字
  10. ubuntu 搭建 ceph