期货套利是我一直想研究的,在天勤的官方文档里面已经有两个跨品种套利的例子,源码也有,因此,如何开仓下单,本文就不再讨论了。 本文要解决的场景是这样的
期货套利是我一直想研究的,在天勤的官方文档里面已经有两个跨品种套利的例子,源码也有,因此,如何开仓下单,本文就不再讨论了。
本文要解决的场景是这样的,如果我们想做期货套利,那么,在500多个品种中,到底应该选哪两个来进行套利呢?选好合约之后,又在什么时候入场,什么时候离场呢?本文试图用一种图形化的直观的方法来给出一个方法。
套利有很多种,我接触也不多,也在找人探讨学习呢,本文先讲跨期套利,我下面以螺纹钢为例,稍微解释一下跨期套利,以照顾一下不懂套利的人,如果你已经非常熟悉期货套利,你可以跳过本小节。
我现在的问题是,我自己没有存放螺纹钢的仓库,我只是做投机交易的,我想把两个品种之间的价格差用K线图的形式显示出来,这种K线图应该围绕着价格中枢上下波动,总体应该是偏震荡的,如果我在这个K线图上加载各种指标,就可以方便地找到某种入场离场方式,可以进行更精准的研究。
【第一步】我们首先需要拿到螺纹钢的各个期货合约最近几年的K线图,我使用的是天勤的数据。我们从上海期货交易所的官网可以查到每一个合约从上市到交割都有一年的时间。
1. 获取螺纹钢从2017年开始到现在的所有合约代码。2. 使用天勤的TQSDK的API接口拿到每一个合约的所有的一分钟K线图,开始时间和结束时间都按照上海期货交易所的时间来设置。3. 因为TICK图的数据量实在太大,因此,我目前使用1分钟图为最小存储单位。4. 把这些数据保存到数据库备查。
【第二步】根据公式计算基准价格,公式为:仓储成本=远月-近月
1. 挑选两个合约,让他们之间相差2个月。2. 然后计算他们之间的价格差,并绘制成K线,显示在图表里面。3. 对于1分钟图,它只会有开盘价和收盘价两个价格,因此它显示的K线都是光头光脚的阳线和阴线。而对于其他的时间周期,可以使用1分钟图的数据拼接成新的K线。4. 两个合约的成交量只能采用某种近似方法,目前就是简单地把两个合约的成交量相加。
这种做法没有考虑1分钟K线内部的价格变化,形成的K线的最高最低价格有可能有些失真的,但作为第一阶段的研究应该也是够了的。
【第三步】制作界面,接入图表库。
1. 把K线数据接入图表库,可以方便地缩放、拖动,加载指标等。2. 增加品种选择工具,可以方便地选择交易品种,时间周期等。3. 把保证金和手续费也计算出来,方便核对。4. 增加跨品种套利的方式,价格是两个品种相除。5. 加上默认指标布林带Band(20,2)。6. 最后可以得到一个网页,左边是合约选择工具,右边是图表。
我把这个图放到服务器上,地址是https://yjchart.mt4trader.com.cn,大家打开这个图的时候请使用电脑打开,手机因为屏幕小,虽然可以打开,但效果非常差,因为我主要研究策略功能,不想花太多的时间在界面制作上,大家就凑活使用吧。另外如果什么时候服务器出问题,这个工具不能用了,也别来找我了,因为这本来就是一个实验室的东西。
(1) 套利K线的日图
上面是螺纹rb1701和rb1703的套利K线的日图,可以看出:
(2) 套利K线的15分钟图
上面两张图都是15分钟的J线,上面一张是一段小幅震荡行情,下面一张图大幅震荡行情,可以看出:
跨品种套利就比较复杂了,比较经典的说法是:两个品种之间因为有某些关系,因此他们的价格会呈现出同涨同跌,或者反向的情况,因此可以利用这种关系来套利。这些关系多种多样,有些关系弱一些,有些关系强一些,比如:
(1)直接比价关系
我先用棕榈油的价格除以豆油的价格,得到一个套利K线图。
结果看到了一波明显的下跌趋势,并且还是一波流畅的趋势,检查棕榈油和豆油这一段时间的走势,发现这两个主合约也都在下跌。
看来这个方法不能用作套利,我们需要重新梳理跨品种套利的做法。但组合出来的这根曲线趋势非常明显,或许也可以用作趋势交易的方法,这不是本文讨论的内容,只是一个意外的收获。
(2)套利的本质
我希望能够看到一个震荡的K线图,而不是一个有趋势的K线图。
如果我们拿到两个品种,发觉他们的走势有点类似,是同涨同跌的,按照我的理解,这仅仅只能说明这两个品种受到了相同因素的影响,比如经济周期的繁荣期,所有的品种都在上涨,两个完全不相关的品种看上去也有点相似,但这并不是意味着这两个品种能够套利。
两个品种要能够套利,就需要有某个中心价位。平时价格可以围绕这个中心价位进行波动,当价格偏离这个中心价位的时候,市场上应该有一股无形的力量把它拉回来的。这股无形的力量是整个套利的核心,它使得价格围绕着中心价位波动,因此:
因此,当我们在K线图形上显示这个中心价位的时候,K线图必须表现为某种震荡走势,而不能出现趋势走势。
根据期货产业客户的行为,豆油和棕榈油的确有替代关系的,这一点我们不需要怀疑,问题是,这个替代关系到底占比多大?会不会有其他的因素影响这个替代关系呢?
如果豆油A和棕榈油B有替代关系,那么应该就会有下列的公式: 棕榈油B= 豆油A * 相关系数 + 其他因素
其中,我们希望其他因素是一个固定的值,因此,我们把上面的公式反一下,换成另外一种形式: 其他因素 = 棕榈油B - 豆油A * 相关系数
为什么要变换形式呢,因为两点: a) 其他因素是一个相对不变的因素,我们可以把它作为中心价格。 b) 这个公式就是后续K线图的计算公式,我们期望看到K线图围绕中心价格波动, c) 相关系数就代表了两个品种的仓位配比。
(3)品种的相关性
我们首先研究历史,来计算品种的相关性,并且拿到一个相关系数。
数学功力强的人可以用协方差或者一元回归来计算两个品种的相关性,这里我使用更加直观的散点图来研究他们的相关性。
上面这个图的横坐标是豆油的价格,纵坐标是棕榈油的价格。时间是2017-1-16~2017-5-15,共计4个月的时间,可以计算出他们的相关系数r=0.7346。也就是说: 中心价格 = 棕榈油B - 豆油A * 0.7346
使用这个相关系数绘制出4个月的套利K线,也就是说,按照每1份棕榈油配0.7346份豆油来进行对冲交易:
可以看出在4个月的时间内,价格区间在一个319元的区间内震荡。这个幅度稍微有点大了,相当于每手3200元的波动幅度了,可见跨品种套利的波动区间是要显著高于跨期套利的,因此它的杠杆比例需要放低一些。在这个图形上,附加一些指标,就非常适合按照某种震荡指标进行交易的。
如果我把时间拉长到一年,情况就发生了一些变化,散点图变成了这个样子:
这个图形看上去好像有两条不同的直线了,这两条直线的相关系数分别为0.692和0.782,在中间的某一个时间段,可能是因为某种基本面的原因,导致他们的相关系数发生了变化。
我查找豆油当时的K线图,发觉这两条直线分别代表着两轮20%幅度的下跌,而中间相关系数变换的时间段则是在回调。
因为这两段直线的相关系数比较接近,我们直接取第一段直线的相关系数r=0.6923,K线图变成了下面这样:
可以看到图中有两段震荡,震荡的区间幅度是比较小的,而中间相关系数发生变化的这个时间段,价格无法收敛成震荡曲线。
总结一下豆油和棕榈油的跨产品套利:
以上是我对于跨产品套利的理解,这个方法还没有实盘使用过,绩效怎么样还不太清楚,我花了几天的时间来查阅资料,也看到一些方法,但大多都是基于复杂数学计算,看得我云里雾里,没有找到好的做法。我时间精力有限,并且做期货的时间比较短,应该会有很多没有考虑到的地方,但我觉得不管好坏,我都需要先把我的分析写出来,给大家树一个靶子,方便大家批驳。
在这里,我还要借此机会发一个邀请,希望能够联系到一些期货交易的朋友,来一起做一些研究工作,我做期货时间不久,很多东西还需要学习,我希望联系到下面这些人:
如果有朋友愿意协助我,可以直接加我的QQ(251886761)。其他朋友也可以加我的QQ群(526998093)。
上面的的工具可以在https://yjchart.mt4trader.com.cn查看,再次提醒大家使用电脑查看,大屏幕手机的话,必须横屏才能勉强查看,但效果也不好。
最多设置5个标签!
期货套利是我一直想研究的,在天勤的官方文档里面已经有两个跨品种套利的例子,源码也有,因此,如何开仓下单,本文就不再讨论了。
本文要解决的场景是这样的,如果我们想做期货套利,那么,在500多个品种中,到底应该选哪两个来进行套利呢?选好合约之后,又在什么时候入场,什么时候离场呢?本文试图用一种图形化的直观的方法来给出一个方法。
一、跨期套利套利有很多种,我接触也不多,也在找人探讨学习呢,本文先讲跨期套利,我下面以螺纹钢为例,稍微解释一下跨期套利,以照顾一下不懂套利的人,如果你已经非常熟悉期货套利,你可以跳过本小节。
我现在的问题是,我自己没有存放螺纹钢的仓库,我只是做投机交易的,我想把两个品种之间的价格差用K线图的形式显示出来,这种K线图应该围绕着价格中枢上下波动,总体应该是偏震荡的,如果我在这个K线图上加载各种指标,就可以方便地找到某种入场离场方式,可以进行更精准的研究。
二、期货价差工具【第一步】我们首先需要拿到螺纹钢的各个期货合约最近几年的K线图,我使用的是天勤的数据。我们从上海期货交易所的官网可以查到每一个合约从上市到交割都有一年的时间。
【第二步】根据公式计算基准价格,公式为:仓储成本=远月-近月
这种做法没有考虑1分钟K线内部的价格变化,形成的K线的最高最低价格有可能有些失真的,但作为第一阶段的研究应该也是够了的。
【第三步】制作界面,接入图表库。
我把这个图放到服务器上,地址是https://yjchart.mt4trader.com.cn,大家打开这个图的时候请使用电脑打开,手机因为屏幕小,虽然可以打开,但效果非常差,因为我主要研究策略功能,不想花太多的时间在界面制作上,大家就凑活使用吧。另外如果什么时候服务器出问题,这个工具不能用了,也别来找我了,因为这本来就是一个实验室的东西。
三、跨期套利(1) 套利K线的日图
上面是螺纹rb1701和rb1703的套利K线的日图,可以看出:
(2) 套利K线的15分钟图
上面两张图都是15分钟的J线,上面一张是一段小幅震荡行情,下面一张图大幅震荡行情,可以看出:
- 套利K线对布林带贴合得非常好,即便日图上有大幅波动,在15分钟图上面仍然没有那种一去不回头的趋势行情,整体震荡非常厉害,适合做震荡交易,甚至可以使用马丁加仓解套的方式。
- 在典型的震荡走势中,布林带区间从16元-70元不等,相当于每手160-700元的震荡区间,扣除双向14元的交易成本还能剩下不少。
- 另外,看图表的时候,感觉布林带Band(30,2)的效果更好。
四、跨品种套利跨品种套利就比较复杂了,比较经典的说法是:两个品种之间因为有某些关系,因此他们的价格会呈现出同涨同跌,或者反向的情况,因此可以利用这种关系来套利。这些关系多种多样,有些关系弱一些,有些关系强一些,比如:
(1)直接比价关系
我先用棕榈油的价格除以豆油的价格,得到一个套利K线图。
结果看到了一波明显的下跌趋势,并且还是一波流畅的趋势,检查棕榈油和豆油这一段时间的走势,发现这两个主合约也都在下跌。
看来这个方法不能用作套利,我们需要重新梳理跨品种套利的做法。但组合出来的这根曲线趋势非常明显,或许也可以用作趋势交易的方法,这不是本文讨论的内容,只是一个意外的收获。
(2)套利的本质
我希望能够看到一个震荡的K线图,而不是一个有趋势的K线图。
如果我们拿到两个品种,发觉他们的走势有点类似,是同涨同跌的,按照我的理解,这仅仅只能说明这两个品种受到了相同因素的影响,比如经济周期的繁荣期,所有的品种都在上涨,两个完全不相关的品种看上去也有点相似,但这并不是意味着这两个品种能够套利。
两个品种要能够套利,就需要有某个中心价位。平时价格可以围绕这个中心价位进行波动,当价格偏离这个中心价位的时候,市场上应该有一股无形的力量把它拉回来的。这股无形的力量是整个套利的核心,它使得价格围绕着中心价位波动,因此:
因此,当我们在K线图形上显示这个中心价位的时候,K线图必须表现为某种震荡走势,而不能出现趋势走势。
根据期货产业客户的行为,豆油和棕榈油的确有替代关系的,这一点我们不需要怀疑,问题是,这个替代关系到底占比多大?会不会有其他的因素影响这个替代关系呢?
如果豆油A和棕榈油B有替代关系,那么应该就会有下列的公式:
棕榈油B= 豆油A * 相关系数 + 其他因素
其中,我们希望其他因素是一个固定的值,因此,我们把上面的公式反一下,换成另外一种形式:
其他因素 = 棕榈油B - 豆油A * 相关系数
为什么要变换形式呢,因为两点:
a) 其他因素是一个相对不变的因素,我们可以把它作为中心价格。
b) 这个公式就是后续K线图的计算公式,我们期望看到K线图围绕中心价格波动,
c) 相关系数就代表了两个品种的仓位配比。
(3)品种的相关性
我们首先研究历史,来计算品种的相关性,并且拿到一个相关系数。
数学功力强的人可以用协方差或者一元回归来计算两个品种的相关性,这里我使用更加直观的散点图来研究他们的相关性。
上面这个图的横坐标是豆油的价格,纵坐标是棕榈油的价格。时间是2017-1-16~2017-5-15,共计4个月的时间,可以计算出他们的相关系数r=0.7346。也就是说:
中心价格 = 棕榈油B - 豆油A * 0.7346
使用这个相关系数绘制出4个月的套利K线,也就是说,按照每1份棕榈油配0.7346份豆油来进行对冲交易:
可以看出在4个月的时间内,价格区间在一个319元的区间内震荡。这个幅度稍微有点大了,相当于每手3200元的波动幅度了,可见跨品种套利的波动区间是要显著高于跨期套利的,因此它的杠杆比例需要放低一些。在这个图形上,附加一些指标,就非常适合按照某种震荡指标进行交易的。
如果我把时间拉长到一年,情况就发生了一些变化,散点图变成了这个样子:
这个图形看上去好像有两条不同的直线了,这两条直线的相关系数分别为0.692和0.782,在中间的某一个时间段,可能是因为某种基本面的原因,导致他们的相关系数发生了变化。
我查找豆油当时的K线图,发觉这两条直线分别代表着两轮20%幅度的下跌,而中间相关系数变换的时间段则是在回调。
因为这两段直线的相关系数比较接近,我们直接取第一段直线的相关系数r=0.6923,K线图变成了下面这样:
可以看到图中有两段震荡,震荡的区间幅度是比较小的,而中间相关系数发生变化的这个时间段,价格无法收敛成震荡曲线。
总结一下豆油和棕榈油的跨产品套利:
以上是我对于跨产品套利的理解,这个方法还没有实盘使用过,绩效怎么样还不太清楚,我花了几天的时间来查阅资料,也看到一些方法,但大多都是基于复杂数学计算,看得我云里雾里,没有找到好的做法。我时间精力有限,并且做期货的时间比较短,应该会有很多没有考虑到的地方,但我觉得不管好坏,我都需要先把我的分析写出来,给大家树一个靶子,方便大家批驳。
四、邀请在这里,我还要借此机会发一个邀请,希望能够联系到一些期货交易的朋友,来一起做一些研究工作,我做期货时间不久,很多东西还需要学习,我希望联系到下面这些人:
如果有朋友愿意协助我,可以直接加我的QQ(251886761)。其他朋友也可以加我的QQ群(526998093)。
上面的的工具可以在https://yjchart.mt4trader.com.cn查看,再次提醒大家使用电脑查看,大屏幕手机的话,必须横屏才能勉强查看,但效果也不好。