得知比特币套利是一个偶然的机会,在知乎看到一篇文章收到的启发,于是决定自己研究一个套利交易程序,虽然当时已经是2016年,网络上运行的套利机器人已经很多,已经没有多少套利空间,但我还是决定尝试一下。
比特币在中国有若干个交易所,24小时T+0交易,手续费低,因此比特币非常适合做量化交易。中国的几个主要交易所:火币、OKex、中国比特币等网站都提供完善的行情和交易接口,为量化交易提供了很大便利。
什么是比特币套利
举个栗子,一个醉汉牵着一条狗(假设绳子不会被他丢了),那么醉汉的行走是随机的,狗的走路也是随机的,但是醉汉和狗的距离却在0和绳子的长度之间波动。放在比特币上,比特币在中国有若干个交易所,每个交易所的价格都在不停变化,但是两个交易所之间的差价却是稳定的,如图所示,我们监控两个交易所之间的差价,利用统计学的方法监控差价是否超出了合理的波动范围,当超出时在价格较高的交易所卖出,在价格较低的交易所买入,当差价反向运行时,择机做相反操作。
获取比特币价格
交易所提供了完善的行情接口,通过调用接口可以实时获得当前交易价格,如下图所示,每隔0.5秒轮询一次。
比特币进场和出场规则
按照套利的定义,当差价超出合理波动范围时入场,那么什么是合理的波动范围?需要观察过去多久的交易价格?如果观察窗口太大,会失去很多交易机会,如果观察窗口太小,那么一个波动周期还未结束时会被错判为入场机会。这部分工作花了我很长时间,我累计收集了半个月的数据,经过大量模拟和数据分析发现10分钟是一个较好的时间窗口,在后续的优化中,滑动窗口会根据价格的波动率而变化。至于差价的异常规则,可以采用非参数或者均值方差规则,效果差不多。
接着就是下单交易了,我是在火币和OKCoin做交易的,其中火币的交易接口稳定性较差,延迟也较高,而且由于网络延迟当下单到达交易所时盘口已经发生了变化,网络上运行的交易机器人实在太多,所以必须加上一定的滑点保证成交。下单有两种方式,一是先在价格变化快的交易所下单,后在价格变化慢的交易所下单,二是同时下单,我采用第二种的方式保证成交速度,但是会出现盘口深度不够而无法完全成交。遇到这种情况会优先在OKCoin进行追单或回退,即如果火币成交而OKCoin未成交,那么立即在OKCoin下市价单追一笔;如果OKCoin成交火币未成交,那么立即在OKCoin下一笔市价单回退操作。
比特币套利风险
相对于趋势交易,套利的风险小得多。主要有以下几个方面:
单腿风险:当交易后差价并没有反向运动而是继续扩大,我采取两种处理方式:
1、当超过一定时间差价还未反向运动,择机止损。
2、设置规则,只有差价回归时才进行反向操作。两种方式前者激进后者稳健。
交易所风险:炒币的朋友经常会把“跑路”,“拔网线”挂在嘴边,说的就是交易所风险。国外交易所发生过许多次比特币被盗事件,曾经的mtgox因为被盗而破产。
但是往往在极端行情的时候正是差价波动剧烈的时候,也是套利机会最多的时候,也印证了高风险带来高收益。
至于比特币暴跌的风险,套利者是不怎么在乎的,因为套利交易不靠资产升值而是波动性获利,或者可以套期保值对冲风险。