The Micro-Price by Stoikov 精读
本文是Stoikov的paper:The Micro-Price A High Frequency Estimator of Future Prices的读书笔记。我不打算按照作者讲故事的flow去写,而是用我自己的行文逻辑,我认为前者叫"翻译",后者才叫"精读",当然这也意味着欣赏过原文的读者们再来看我的笔记应该会有更多的收获。
General Framework
作者认为,\(t\) 时刻的中间价 \(M_t\) 不是当前资产的一个合理价格,那什么才是合理的价格呢?一个fair price就应当是基于当前订单簿信息,对未来无穷远处价格给出的合理估计,用数学语言来表述就是 \[ \begin{equation} P^{micro}_t=\lim\limits_{\tau\to\infty}\mathbb{E} [ M_\tau | \mathcal{F}_t ] \end{equation} \] 其中 \(\mathcal{F}_t\)是 \(t\) 时刻的 \(\sigma\) 流(也就是 \(t\) 时刻所确定的信息)。
无穷远太远了,不方便我们的数学工具展开,那我们就先把 Eq.(1) 的极限符号去掉,先考虑一个时间足够远的估计: \[ \begin{equation} P_t^i = \mathbb{E} [ M_{\tau_i} | \mathcal{F}_t ], \tau_i > t \end{equation} \] 当我们使用数学工具导出了 \(P_t^i\) 的性质,再取个极限就可以了。
现在我们只需要一个假设,就可以证明 Eq.(2)是一个martingale,这个假设大多数情况是成立的:
Theorem 1. 在well defined的概率空间 \((\Omega,\mathcal{F}, \mathbb{P})\) ,以及 \(\sigma\) 流 \(\forall s < t, \mathcal{F}_s \subset \mathcal{F}_t \subset\mathcal{F}\) 中,如果中间价的变化 \(M_t-M_s\) 与中间价本身 \(M_t\) 相互独立,那么 \(P_t^i\) 是一个martingale under filtration \(\mathcal{F}_t\)。
Proof:根据假设,我们用条件期望的linearity,可以将 Eq.(2) 展开为: \[ \begin{equation} \begin{aligned} P_t^i &= \mathbb{E} [ M_{\tau_i} | \mathcal{F}_t ] \\ &= \mathbb{E} [ M_t | \mathcal{F}_t ] + \sum_{k=1}^{i} \mathbb{E} [ (M_{\tau_{i}}-M_{\tau_{i-1}}) | \mathcal{F}_t ] \end{aligned} \end{equation} \] 其中我们令 \(\tau_0=t\),记号 \(\{\tau_1 < \tau_2 < ...\}\) 表示中间价产生变化的时间点: \[ \begin{equation} \tau_{i} = \inf\{ u > \tau_{i-1} | M_{u}-M_{u^-} \neq 0\} \end{equation} \] 为什么\(P_t^{i}\)是一个martingale呢,我们考虑时间点 \(s < t\) ,我们有: \[ \begin{equation} \begin{aligned} P_t^i &= \mathbb{E} [ M_t | \mathcal{F}_t ] + \sum_{k=1}^{i} \mathbb{E} [ (M_{\tau_{i}}-M_{\tau_{i-1}}) | \mathcal{F}_t ] \\ &= \mathbb{E} [ M_s+M_t-M_s | \mathcal{F}_t ] + \sum_{k=1}^{i} \mathbb{E} [ (M_{\tau_{i}}-M_{\tau_{i-1}}) | \mathcal{F}_t ]\\ &= \mathbb{E} [ M_s | \mathcal{F}_t ] + \mathbb{E} [ (M_t-M_s) | \mathcal{F}_t ] + \sum_{k=1}^{i} \mathbb{E} [ (M_{\tau_{i}}-M_{\tau_{i-1}}) | \mathcal{F}_t ]\\ \end{aligned} \end{equation} \] 两边对 \(s\) 时刻的已知信息 \(\mathcal F_s\) 取条件期望,并且使用条件期望的iterated conditioning性质,就证明了这个结论: \[ \begin{equation} \begin{aligned} \mathbb{E} [P_t^i | \mathcal{F}_s ] &= \mathbb{E} \bigg[ \mathbb{E} [ M_s | \mathcal{F}_t ] \bigg | \mathcal{F}_s\bigg] + \mathbb{E} \bigg[ \mathbb{E}[(M_t-M_s) | \mathcal{F}_t] \bigg| \mathcal{F_s} \bigg] + \sum_{k=1}^{i} \mathbb{E} \bigg[ \mathbb{E} [ (M_{\tau_{i}}-M_{\tau_{i-1}}) | \mathcal{F}_t ] \bigg| \mathcal{F}_s \bigg]\\ &= \mathbb{E} [ M_s | \mathcal{F}_s ] + \mathbb{E} [ (M_t-M_s) | \mathcal{F}_s ] + \sum_{k=1}^{i} \mathbb{E} [ (M_{\tau_{i}}-M_{\tau_{i-1}}) | \mathcal{F}_s ]\\ &=P_s^i \qquad (Q.E.D) \end{aligned} \end{equation} \]
我们令 \[ \begin{equation} g^k_t = \mathbb{E} [ (M_{\tau_k}-M_{\tau_{k-1}}) | \mathcal{F}_t ] \end{equation} \] 并且我们注意到 \(g^k\) 与 \(g^{k-1}\) 有循环迭代的关系 \[ \begin{equation} \begin{aligned} g^{k+1}_t &= \mathbb{E} [ (M_{\tau_{k+1}}-M_{\tau_{k}}) | \mathcal{F}_t ] \\ &= \mathbb{E}\bigg[ \mathbb{E}[M_{\tau_{k+1}}-M_{\tau_{k}} | \mathcal{F_{\tau_1}}] \bigg| \mathcal{F}_t\bigg] \quad &\text{iterated conditioning} \\ &= \mathbb{E}[g^{k}_{\tau_1} | \mathcal{F}_t] \quad &\text{definition of }g_{\tau_1}^k \end{aligned} \end{equation} \] 因此这个martingale还可以表示成一个更加简洁的形式: \[ \begin{equation} \begin{aligned} P_t^i &= \mathbb{E} [ M_t | \mathcal{F}_t ] + \sum_{k=1}^{i} \mathbb{E} [ (M_{\tau_{i}}-M_{\tau_{i-1}}) | \mathcal{F}_t ] \\ &=M_t + \sum_{k=1}^{i}g^i_t\\ g_t^{1} &= \mathbb{E}[(M_{\tau_1}-M_t) | \mathcal{F}_t]\\ g_t^{i+1} &= \mathbb{E}[g^{i}_{\tau_1} | \mathcal{F}_t] \end{aligned} \end{equation} \] 从 Eq.(9) 我们发现,这个martingale序列的本质就是对中间价 \(M_t\) 进行修正,使得其满足martingale的性质,如果我们把修正的项数取到无穷大,就得到了Micro-Price,当然它也是一个martingale under filtration \(\mathcal F_t\)。
那当我们 \(t\) 时刻掌握的信息与未来的价格变化 \(M_{\tau_{i+1}}-M_{\tau_{i}}\) 是无关的时候是什么样子呢?此时用条件期望表示的修正项全部都是0,也就是The Micro-Price等于mid price。这也解释了为什么中间价不是一个好的微观价格,因为使用中间价并没有用到与未来收益有关的信息,这意味着你将自己的微观结构建模在了一个naive的风险中性概率测度上(50% percent up and down)。而换句话说,当你拥有了一些与未来的回报(也就是价格变化)具有相关性的变量(也就是所谓的高频因子)时,micro-price能够保证,你基于这一组因子所修正出来的价格仍然是一个martingale under the information you considered。
A simple Example
有一个大家都well known的因子叫订单不平衡: \[ \begin{equation} I_t = I(Q^a_t,Q^b_t)=\frac{Q^b_t}{Q^b_t+Q^a_t}\in(0,1) \end{equation} \] 这个因子趋0时,价格往下的压力会变大,反之价格网上压力会变大,也就是说\(\mathbb{E}[M_\infty-M_t|I_t] > 0\)。随后作者用Finite State Markov Model对这个well known alpha下的micro-price做了一个计算,以此为例来教大家怎么用自己的private alpha去构造micro-price。在此之前,我们得回顾一下使用imbalance对中间价进行correction的一种naive的方法,也就是将best bid \(P^b_t\) 和best ask \(P^a_t\) 加权一下,我们管他叫weighted mid price: \[ W_t=I_tP^a_t+(1-I_t)P^b_t = M_t+I_t-\frac{1}{2} \] 这种方法虽然简单,但不是一个很好的correction,因为要让 \(W_t\) 成为一个martingale,我们需要做一个非常不合理的假设:
Theorem 2. 当以下条件满足时,weighted mid price是一个martingale,并且\(P^{micro}_t=W_t\) :
- 最优买卖的spread固定为1tick
- 订单不平衡 \(I_t\) 在[0-1]区间时是布朗运动 (almost surely)
- \(I_{\tau_1^-}=1\) 时,中间价往上走一个tick,也就是 \(M_{\tau_1}-M_{\tau_1^-}=1\) ,此时\(I_{\tau_1}\)有0.5概率取到 \(\epsilon\in(0,1)\), 0.5概率取到 \(1-\epsilon\)
- \(I_{\tau_1^-}=0\) 时,中间价往下走一个tick,也就是 \(M_{\tau_1}-M_{\tau_1^-}=-1\) ,此时\(I_{\tau_1}\)有0.5概率取到 \(1-\epsilon\), 0.5概率取到 \(\epsilon\)
Proof:这里直接贴原文的证明过程了,我们将上述假设代入 Eq. (8),得到一阶修正为 \[ \begin{equation} \begin{aligned} g^1_t = g^1(I_t) &= \mathbb{E}[(M_{\tau_1}-M_t) | I_t]\\ &= \frac{1}{2}\cdot\mathbb{P}[I_{\tau_1}=1|I_t]-\mathbb{P}[I_{\tau_1}=0|I_t] \\ & =I_t-\frac{1}{2} \quad \text{hitting time of Brownian Motion} \end{aligned} \end{equation} \] 二阶修正为 \[ \begin{equation} \begin{aligned} g^2_t = g^2(I_t) &= \mathbb{E}[g^1(I_{\tau_1})|I_t]\\ &=\mathbb{E}[I_t-\frac{1}{2}|I_t]\\ &=\frac{1}{2}\epsilon-\frac{1}{2}(1-\epsilon)-\frac{1}{2} \end{aligned} \end{equation} \] 令 \(\epsilon\to0\),于是2阶修正为0,高阶修正也为0,此时有 \(P^{micro}_t=W_t\) is a martingale。
从这个假设的阐述就能知道它是基本不可能成为一个martingale,因此weighted mid price是一个bad correction,这个例子彰显了the Micro-price是如何的好。