【子楠讲量化】如何粗略估计一个策略的资金容量?

Author: 子楠, Created: 2020-10-05 19:10:38, Updated: 2020-10-05 19:15:30

每个策略计算最大资金容量的方案不一样。光有回测和波动情况一般不够判断资金容量。

我以数字货币做市商策略来给举个例子:

比如你有一个做市商策略,跑在某交易所的BTC_USD交易对,每天收益率大概稳定千分之2.你不断增加资金,增加到某一个值的时候,收益率开始下降,比如你从200万增加到300万,收益率不再保持千分之二,那么你可以认为你达到了资金容量。对吧

换个角度说,策略容量可以看做资金利用率100%可保持的情况。当资金利用率无法保持100%的时候,策略达到容量上限。

那么,好,我们如何偏差较小地预估它这个收益率呢?这里得分析做市商策略的模型。我们假设它是一个简单的撒网策略,他的模型假设为每个价格的下一个价格,其相对于当前价格,上涨概率与下跌概率均等于50%。于是它的行为是散出当前价格略高一点的,以及当前价格略低一点的单,吃交易所的返利以及略高的这个价差。

这个假设,显然在大波动时不成立,所以我们认为,这个策略的有效时期为一短时间内不发生大波动(例如涨跌相比于当前价格,不超过5%可保持的时间)之类的。

然后你观察市场,发现这个交易所的这个交易对,不发生大波动的时间大概在1小时到2天不等,你统计了一下,给了一个最高概率值,也就是4小时不发生大波动。 img (例如这就是一个典型的波动)

观察这个假设,发现它的假设下,每次出的买单和卖单成交的概率均为50%,换句话说,不成交,而成为冻结单的概率也是50%。

当所有资金都冻结以后,交易就停止,这时候可用资金不足。换句话说,此时已投入资金的利用率达到了100%。 img

换言之,我们就可以根据统计数据的,平均多久不发生大波动,除以一个金额平均多久全部冻结,得到的数字乘以这个金额,粗略估计资金容量。

比如你统计以后,发现1万美元,在你设定的参数下,有时候5分钟全冻结,有时候半小时全冻结,然后你统计得到最高概率的冻结时间大概在10分钟。

那么4小时/10分钟乘以1万,你这个策略的容量粗略估计大致就是24万美元。

这种估计方法很糙,你可能也发现了,这里你策略使用的很多参数一变,这种估计方法偏差就会变大。比如你设定每单的交易量为多少,这里就没提。假设你设定一次就5000美元,那1秒你资金利用率就到了。你预估出来机会极高。你设定一次交易就几美分,那估计几天下来,你资金利用率也没到100%。于是你很可能得出你已经达到策略容量的结论。

类似的预估方法很多,无非是把策略与市场的相关信息做一个量化,然后根据相关信息的统计数据,固定策略的其他参数,找到一个资金利用率随资金量会发生变化的相关量,比如文中找的是时间。然后用市场的统计信息,去找一个数量关系,从而反推容量上限。

从这里举的例子看的话,你可能觉得,如果精度够高,似乎通过回测,可以判断出来。

但是考虑交易量的数据,回测会忽略市场上的冰山订单,导致预估的容量偏小。

或者回测单纯根据价格判定是否交易而不考虑交易量,导致你预估的策略容量极大。


More