「原理」
利用走势的震荡,在一定区间范围内,按照固定价差设置挂单,低买高卖或高卖低买,实现盈利
1.设定价格区间,价格上线Js、价格下线Jx(当前价格J为上下线中间位置)
2.设定网格数量n,单网格间距a=(Js-Jx)/n
3.设定单格固定挂单合约张数b
以当前价格J为起始点,向上每间距a挂固定空单b,一共挂5单,同理向下每间距a挂多单b,一共挂5单。
当价格上涨或下跌吃掉一个单子后,将挂单进行调整,以当前位置重新定位,依旧是上下分别挂空多5单。
当价格上涨或下跌至网格边缘,即价格接近Js或Jx时,可能存在挂5单超出价格区间的情况,我们规定超出部分不挂单,例如当前价格上涨接近Js了,可能在价格区间内只能挂一个空单了,那就只挂一个空单,但下方依旧是5个多单。
「收益」
1.挂单成交,负手续费0.025%
2.单网格成交利润b*[1/J-1/(J+a)]
「风险&应对」
在设定的价格区间波动是最理想的状态,若价格波动超出网格,应对措施:
1.超出网格范围无挂单
2.超出网格瞬间顺势市价开对冲单
3.当对冲单盈利抹平网格内单子的亏损后,所有持仓全部清仓,系统暂停,直到手动启动
「可能的亏损情况说明」
1.技术风险,以上所讲,实现时存在的延时或bug导致单子并非按照计划进行而造成的损失
2.价格正好在设定的Js或Jx附近来回波动,不断的促发对冲单市价开仓、平仓,亏损对冲单市价开平仓的手续费
第1点慢慢解决,解决第2点最可行的应对措施,就是让对冲单尽快的完成对冲使命然后全部平仓,要尽快完成那就要在最小的波动范围结束战斗,也就是增加对冲单的合约数量,具体对冲单的数值讨论见「举例」
「举例」
设:
当前价格J=8000
价格上线Js=9000、价格下线Jx=7000
设定网格数量n=200,单网格间距a=(9000-7000)/200=10
设定单格固定挂单合约张数b=100
当前价格8000,在8010、8020、8030、8040、8050分别挂100张空单;在7990、7980、7970、7960、7950分别挂100张多单
如果当前价格在7990-8010间波动,不会吃到任何挂单,继续等待
如果价格上涨到8012,8010的100张空单被吃,挂单被吃后瞬间调整挂单,在8020、8030、8040、8050、8060分别挂100张空单;在8000、7990、7980、7970、7960分别挂100张多单
此时
持仓:100张价位为8010的空单
盈利:100/8010*0.025% BTC
如果价格跌回到7999,8000的100张多单被吃,挂单被吃后瞬间调整挂单,在8010、8020、8030、8040、8050分别挂100张空单;在7990、7980、7970、7960、7950分别挂100张多单
此时
持仓:空仓
盈利:100/8010*0.025%+100/8000*0.025%+100*(1/8000-1/8010)BTC(两次挂单的负手续费以及一个网格空单盈利)
如果一直在价格区间[7000,9000]内上下波动,将会持续盈利
现在讨论极限情况,如果从8000一路涨到9000,一共吃到100个空单,每个空单100张,共计10000张空单
此时持仓均价=10000/(100/8010+100/8020+...+100/8990+100/9000)=8499.9≈ 8500
设9000的价位市价开平仓保本点为a
1/9000-1/a≥(1/9000+1/a)*0.075%
a≥9013.5
根据之前说的要尽量在小的波动范围内完成对冲,又起码要大于13.5个点才能把市价开平仓的手续费抹平,我们先设为20点,也就是价格涨到9020要求对冲单盈利能抹平10000张均价为8500的空单损失,设在9000开多单对冲单d张
d*(1/9000-1/9020)-d*(1/9000+1/9020)*0.075%≥10000*(1/8500-1/9020)+10000*1/9020*0.075%
d≥278878
显然太多了,要减少对冲单的张数两个方面可以着手,一个是扩大价格比如在9050再要求对冲单盈利能抹平亏损;一个是缩小网格范围,让网格单边挂满单子数量也不大,同时均价也不会差太多
如果设为50点,也就是价格涨到9050要求对冲单盈利能抹平10000张均价为8500的空单损失,设在9000开多单对冲单d张
d*(1/9000-1/9050)-d*(1/9000+1/9050)*0.075%≥10000*(1/8500-1/9050)+10000*1/9050*0.075%
d≥117909
似乎也太多了
基本上价格对冲单抹平50个点是极限了,最好还是尽量少,风险才小,30相对合理。第二可以采取的方式是缩小网格范围,让网格单边挂满单子数量减小
设:
当前价格J=8000
价格上线Js=8500、价格下线Jx=7500
设定网格数量n=100,单网格间距a=(8500-7500)/100=10
设定单格固定挂单合约张数b=100
如果从8000一路涨到8500,一共吃到50个空单,每个空单100张,共计5000张空单
此时持仓均价=5000/(100/8010+100/8020+...+100/8490+100/8500)=8249.9≈ 8250
设8500的对冲单保本点为30,也就是价格涨到8530要求对冲单盈利能抹平5000张均价为8250的空单损失,设在8500开多单对冲单d张
d*(1/8500-1/8530)-d*(1/8500+1/8530)*0.075%≥5000*(1/8250-1/8530)+5000*1/8530*0.075%
d≥49180
感觉可以,也就是8500市价开5w张多单
极端情况,在8500市价开了5w张对冲多单,但是价格未涨到抹平线8530又跌回网格内,此时需要在8500市价将对冲单平仓
亏损=50000/8500*0.075%*2=0.0088235 BTC
而单网格的盈利=100/8010*0.025%+100/8000*0.025%+100*(1/8000-1/8010)BTC(两次挂单的负手续费以及一个网格空单盈利)=0.00002185 BTC
0.0088235/0.00002185=404
也就是一次对冲单开单了,但是没有完成使命被平掉,开平手续费损失会抹平大约400次网格盈利
只要杜绝对冲单在网格边缘来回波动的情况就可以
实际看了看走势图,基本上不会遇到,基本是对冲单能完成使命的情况,而刚好在我们设置的网格边缘波动概率很小
微信:kv987654321(备注简书)
网友评论