Type/to search

币安合约蝶式套利(千团大战策略3)

Hedge
3
Follow
1503
Followers

币安蝶式套利策略,无法回测。具体原理参考文库文章:https://www.fmz.com/digest-topic/6102

需要看完此策略手册,不能无脑实盘运行。策略代码仅供参考,按需修改,欢迎反馈。

策略原理

币安币本位合约如BTC、ETH等同时存在三个合约,即永续BTCUSD_PERP、当季BTCUSD_200925、次季BTCUSD_201225。

永续合约可以当作现货,一般两个合约做对冲共有三个差价:当季-永续、次季-永续、次季-当季。蝶式套利需要操作三个合约,差价为(次季-当季)-(当季-永续),即差价=次季+永续-2*当季。做多差价需要开做多一份的次季和永续合约,做空2份的当季合约。

策略参数

  • 交易币种:需要同时存在永续、当季、次季三个品种。
  • 下单张数:每格网格的下单张数。
  • 网格开单差价:每偏离一个差价,做多或做空一份。
  • 差价平滑参数Alpha:用于计算差价的均值,可用默认,也可自己回测。
  • 冰山委托张数:如果开仓张数太大,为减少单腿现象,可以设置每次最小开单张数,缺点是抢差价不及时。不需要冰山委托此参数设置和下单张数一样。

如差价的均线是100,当前差价是200,下单张数是2,网格开单差价是30,则此时的持仓为:次季空6张,永续空6张,当季多12张。不清楚的可以具体看代码。

注意事项

  • 交割合约需要单向持仓,即不同同时持有多空。
  • 保证金为全仓模式。
  • 本策略不是无脑运行的策略,理解原理情况下谨慎测试。
  • 研究文章的回测不会是实盘情况,不用过于优化参数。
  • 机器人长时间不运行,为防止差价过大,需要新建机器人。
  • 网格开单差价参数一定要覆盖手续费,如吃单手续费是万2,比特币价格是10000,则至少要大于8*10000*0.0002=16,再加上一定的余量,可以设置为25-30。
  • 临近交割次季-当季,当季-永续的时间差越来越大,最终当季贴近永续,蝶式套利实际上是次季和永续之间的套利,不能运行,需要在交割前2周停止或观察是否继续运行。同理新开合约也要观察
  • 下单采用IOC,将以委托价格(或更优价格)立即成交可成交的部分,无法立即完全成交的部分将被取消。因此不用撤单。
  • 此策略稍加修改也可以改成当季和永续或次季和永续之间的套利。
  • 策略不会频繁开仓平仓,有可能一天也不开一单。
  • 机器人刚开始运行才开始统计平均差价,不会追溯历史。
  • 策略很可能因为无法成交造成的单腿,可自行优化。
  • 下单加了滑价,对于小的开仓张数影响不大,对于大的开仓张数需要自己优化,如冰山委托。
Source
JavaScript
if(IsVirtual()){
    throw '不能回测,回测参考研究文章 https://www.fmz.com/digest-topic/6102'
}
if(exchange.GetName() != 'Futures_Binance'){
    throw '只支持币安期货交易所,和现货交易所不同,需要单独添加,名称为Futures_Binance'
}
if(Grid == 0){
    throw '需要设置网格差价,需要覆盖8份手续费,可设置为当前价*fee*15'
}

exchange.SetBase("https://dapi.binance.com") //切换至交割合约
Strategy parameters
Strategy parameters
交易币种
下单张数
网格开单差价
差价平滑参数Alpha
冰山委托张数
Comment
All comments (7)

    无法获取账户信息是什么原因呀

    5 years ago

    按买一卖一价计算diff,是不是还可以优化一下,因为 trade-value量很可能远大于 买一卖一量,然后就变成 实际成本远高于买一卖一价了吧

    6 years ago

    为什么 diff_sell 取了两个bidPrice-askPrice,而diff_buy是两个askPrice-bidPrice?

    6 years ago

    牛逼!!!

    6 years ago

    草神牌圣杯

    6 years ago

    草神牛逼(破音)!!!

    6 years ago

    草神给力

    6 years ago
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)