之前讲过关于深度网格策略的思路,今天对这个进行一下优化。

挂单与深度的关系

挂单的量要与深度成正比,核心思想是越稳定的深度,就可以挂更多的单。

但是如果深度有3kw就挂3单,都在深度队列的末尾,之后末尾深度补充的很差,就很可能是无效成交。

如果深度相对薄一些,震荡幅度稍微大一些,就会很容易导致损失,或者是大量的无效成交。

这里的优化方向是两笔挂单之间的深度间隔是1kw,虽然会导致一些排队时间的损失,但是抵御波动的能力强了很多。

如何估算深度的消耗情况

精确的计算方法当然是订阅实时的交易明细,将每一笔的成交价格和成交量进行分类统计,

根据买卖的方向就可以计算出一段时间内深度确切的消耗情况。但是这个计算的成本相对较高,稳定性较差。

另外一个思路就是通过K线估算深度的消耗情况,这个评估方法我们之前在estimate-depth的blog中介绍过,

这里就不多说了。需要特别理解一下taker-buy-base-asset-volume这个单词的含义,这里有一个公式:

taker-buy-base-asset-volume + taker-buy-quote-asset-volume = volume

如何估算深度积累情况

既然是要让两笔挂单之间的深度达到1kw,那么如何估算呢?假设第一笔挂单的深度是2kw,过了15分钟,

当前深度是2.4kw,判断当前积累的深度是否达到1kw,公式如下:


第一笔订单之前预计剩余的深度 = 2kw - sum(15分钟内的taker-buy-XXX-asset-volume)

第一笔订单之后预计积累的深度 = 2.4kw - 第一笔订单之前预计剩余的深度

其他影响估算的因素

撤单

在实测中我们统计过撤单的比例非常低,不到1%,几乎没有什么影响,所以可以忽略不计。

1min的K线包含多个盘口价格

也就是这1min的波动较大,taker并不是集中在一个价格上成交的。在稳定B的交易中,这个比例也是偏低的,而且

taker方向也主要集中在击穿方向上,对于你要估算的方向贡献会非常小,可以当成0来处理。

上面的这两种情况都会导致多等待一些时间才挂单,但是影响是非常小的。