top of page

从经典文献理解高频做市

本文主要以Avellaneda & Stoikov (2008)为基础模型,初步探讨高频做市的一些核心要点,并给出一些模拟辅以说明。

文章背景.png

1. 什么是做市商?

做市商是一个古老且普遍的职业。不仅仅是当今华尔街各大专业金融机构如高盛,摩根斯坦利等,他们在众多市场都扮演做市商的角色,小到街边菜市场卖菜的商贩,他们其实也扮演着市场“做市”的角色,所以“做市”本身并不神秘。

 

做市本身“不生产水”,却是“大自然的搬运工”,流动性本身非常抽象,但具体到交易层面,就是让市场的交易更加平顺,即买卖价差变小,并且订单簿的深度增加。同样一个大单子,可能造成的价格冲击,在流动性好的市场相比流动性差的市场就会小很多,价格的“韧性”会强很多。

 

在Crypto这样24小时交易的市场,做市对于整个生态都非常重要。本质上,做市就是”做流量的生意“。一位典型的高频做市商,在市场中一般会同时报价差非常小的买单和卖单,在市场价格随机变动中,透过低买高卖赚取一定(微薄但高频次)的价差,并不断为市场提供流动性。一切到目前为止都很美好,但市场的剧烈波动,可能导致做市商的存货敞口失衡,如果没有一个合理的模型作为辅助,做市商会举步维艰。

2. Avellaneda-Stoikov(AS)

模型简化描述

AS模型假设:

股价遵循算术布朗运动: dSt=σdWt

做市商通过限价单进行交易 交易到达率遵循泊松过程,强度取决于价差大小

 

这里有个有趣的地方:AS模型假设股价没有漂移项(drift),也就是说股价是随机漫步的。这听起来很反直觉,但实际上对于高频做市来说,短期内股价的方向性很难预测,所以这个假设是合理的。

 

AS模型的精髓在于以下几个关键公式:

保留价格(Reservation Price): r = s - qγσ²(T - t) 其中:s是当前中间价, q是当前库存γ 是风险厌恶系数, σ是波动率,(T−t) 是剩余时间

最优买卖价差: δask+δbid=γσ2(T−t)+2γln(1+γκ) 其中,δask和δbid分别表示离保留价格的最优卖出价差和最优买入价差,γ是风险厌恶系数,σ2价格的方差,T−t从当前时刻到收盘的剩余时间(在Crypto市场可以根据自身需求设置),κ 订单到达的流动性参数。

"没有谈不成的买卖,只有谈不拢的价格",上面的最优卖卖价差表明,最优价差由两部分组成:1. 库存风险补偿 γσ2(T−t); 2.流动性补偿 2γln(1+γκ)。

3. 数值示例

我们通过python代码将AS模型公式形象化理解。

输出:

保留价格 r = 99.968000

最优买入报价 bid = 99.314615

最优卖出报价 ask = 100.621385

最优报价距离 delta* = 1.306770

在编写完上面的计算函数后,我们可以生成一个纵向为存货,横向为波动率的矩阵,然后每个元素为上面对应的(保留价格,最优买入报价,最优卖出报价,最优报价距离)

二维矩阵(保留价格)

sigma            0.3             0.4            0.5           0.6           0.7          0.8

inventory

-50.0         100.45      100.80      101.25      101.80      102.45      103.20

-40.0         100.36      100.64      101.00      101.44      101.96      102.56

-30.0         100.27      100.48      100.75      101.08      101.47      101.92

-20.0         100.18      100.32      100.50      100.72      100.98      101.28

-10.0         100.09      100.16      100.25      100.36      100.49      100.64

0.0            100.00      100.00      100.00      100.00      100.00      100.00

10.0           99.91        99.84        99.75        99.64        99.51        99.36

20.0           99.82        99.68        99.50        99.28        99.02        98.72

30.0           99.73        99.52        99.25        98.92        98.53        98.08 

40.0           99.64        99.36        99.00        98.56        98.04        97.44

50.0           99.55        99.20        98.75        98.20        97.55        96.80

二维矩阵(最优买入报价)

sigma            0.3            0.4            0.5            0.6            0.7            0.8

inventory

-50.0          99.80        100.15      100.59      101.14      101.78      102.52

-40.0          99.71         99.99       100.34      100.78      101.29      101.88

-30.0          99.62         99.83       100.09      100.42      100.80      101.24

-20.0          99.53         99.67       99.84        100.06      100.31      100.60

-10.0          99.44         99.51       99.59        99.70        99.82        99.96

0.0             99.35         99.35       99.34        99.34        99.33        99.32

10.0           99.26         99.19       99.09        98.98        98.84        98.68

20.0           99.17         99.03       98.84        98.62        98.35        98.04

30.0           99.08         98.87       98.59        98.26        97.86        97.40

40.0           98.99         98.71       98.34        97.90        97.37        96.76

50.0           98.90         98.55       98.09        97.54        96.88        96.12

二维矩阵(最优卖出报价)

sigma            0.3            0.4            0.5            0.6            0.7            0.8

inventory

-50.0          101.10      101.45      101.91      102.46      103.12      103.88

-40.0          101.01      101.29      101.66      102.10      102.63      103.24

-30.0          100.92      101.13      101.41      101.74      102.14      102.60

-20.0          100.83      100.97      101.16      101.38      101.65      101.96

-10.0          100.74      100.81      100.91      101.02      101.16      101.32

0.0             100.65      100.65      100.66      100.66      100.67      100.68

10.0           100.56      100.49      100.41      100.30      100.18      100.04

20.0           100.47      100.33      100.16       99.94        99.69        99.40

30.0           100.38      100.17       99.91        99.58        99.20        98.76

40.0           100.29      100.01       99.66        99.22        98.71        98.12

50.0           100.20      99.85         99.41        98.86        98.22        97.48

二维矩阵(最优买卖价差)

sigma            0.3            0.4            0.5            0.6            0.7            0.8

inventory

-50.0             1.3           1.31          1.32          1.33          1.34          1.35

-40.0             1.3           1.31          1.32          1.33          1.34          1.35

-30.0             1.3           1.31          1.32          1.33          1.34          1.35

-20.0             1.3           1.31          1.32          1.33          1.34          1.35

-10.0             1.3           1.31          1.32          1.33          1.34          1.35

0.0                1.3           1.31          1.32          1.33          1.34          1.35

10.0              1.3           1.31          1.32          1.33          1.34          1.35 

20.0              1.3           1.31          1.32          1.33          1.34          1.35 

30.0              1.3           1.31          1.32          1.33          1.34          1.35 

40.0              1.3           1.31          1.32          1.33          1.34          1.35 

50.0              1.3           1.31          1.32          1.33          1.34          1.35 

通过观察上面的模拟矩阵,可知:

1.保留价格(做市商认为合理的公允价格),随着波动率和存货水平变化的规律,当存货空头敞口越大,波动率越高的时候,透过模型计算的保留价格越高,同理,存货多头越大,波动率越高的时候,保留价格越低,这表现为做市商对于存货风险与波动风险的厌恶;当做市商的存货为0时,保留价格对于波动率是免疫的;

2.最优买入报价,保留价格 - 最优报价距离/2,随着波动率和存货水平变化的规律,当存货空头敞口越大,波动率越高的时候,最优买入价格会超过100,此时,可以理解为市价单;注意到,当存货为0时,买入报价受到波动率的影响会减少;

3.最优卖出报价,保留价格 + 最优报价距离/2,随着波动率和存货水平变化的规律,当存货多头敞口越大,波动率越高的时候,最优卖出价格会低于100,此时,可以理解为市价单;注意到,当存货为0时,卖出报价受到波动率的影响会减少;

4.最优报价距离, 不受存货水平影响,而仅仅受到波动率的影响,波动率越大,买卖价差越大。

4. 总结

本文以Avellaneda & Stoikov(2008)为基础,介绍了高频做市的相关原理,并透过数据模拟,展示了基于模型计算的报价逻辑。

bottom of page