跳转到内容

2 The Statistics of Price Changes

Updated: at 20:21

金融市场的 Random Walk Model 以及 stylized facts. 阅读 Trades, Quotes and Prices 的第二章。

数学,统计学,机器学习,人们总是用各种各样的办法研究金融市场。

Originally Posted at: https://clouder0.com/zh-cn/posts/price-change-statistics/

The Random Walk Model

一个相当流行的模型,是将价格变动看作是 Gaussian random walks,即 dp∼Gaussian\mathrm{d} p \sim \text{Gaussian},价格变动服从 i.i.d. 独立同分布的高斯随机变量。价格是 martingales,对明天价格最好的预测就是今天的价格,价格变动是 mean 为 0 的 Gaussian Random Variable.

Bachelier’s First Law:price variogram 关于时间 τ\tau 线性增长。

V(τ):=E[(pt+τ−pt)2]=Dτ\mathcal{V}(\tau) := \mathbb{E}[(p_{t+\tau} - p_t)^2] = D\tau

后续的很多 empirical studies 认为,价格变动应当是一个相乘的关系,或者说关于比例线性。这意味着使用 geometric Brownnian motion 来代替 Brownian motion. 实际上,从 1960 年代开始,这已经成为了金融数学领域的标准模型。

但是在较短的时间尺度上,也有 empirical evidence 认为价格变动更接近于 additive 而非 multiplicative. 一个重要的原因是,市场常常规定了最小价格变动的 ticksize.

在这本书中,因为主要考察短时间,还是会使用 additive model.

但是还是介绍一下另一种:定义 volatility σr\sigma_r:

D:=σr2p‾2D := \sigma_r^2 \overline{p}^2

其中 p‾\overline{p} 为当前价格或者某段时间的平均价格。


现在,如果价格变动并不是独立的呢?比如我们知道,一段时间内总是可能出现单边趋势或者反弹。

考虑价格序列:

pt=p0+p‾∑t′=0t−1rt′p_t = p_0 + \overline{p}\sum \limits _{t'=0}^{t-1}r_{t'}

其中 return 序列 rtr_t 是 time-stationary 的,且 mean 为 0:

E[rt]=0\mathbb{E}[r_t]=0

variance:

E[rt2]−E[rt]2=σr2\mathbb{E}[r_t^2] - \mathbb{E}[r_t]^2 = \sigma_r^2

可以用 covariance 来表达 dependence:

Cov⁡(rt′,rt′′):=E[rt′rt′′]−E[rt′]−E[rt′′]=E[rt′rt′′]\operatorname{Cov}(r_{t'}, r_{t''}) := \mathbb{E}[r_{t'}r_{t''}] - \mathbb{E}[r_{t'}] - \mathbb{E}[r_{t''}] = \mathbb{E}[r_{t'}r_{t''}]

考虑到 return series 是 time-stationary 的,这个 covariance 只与 time lag ∣t′−t′′∣|t'-t''| 有关。一个常见的考察是 autocorrelation function(ACF):

Cr(τ):=Cov⁡(rt,rt+τ)σr2C_r(\tau) := \dfrac{\operatorname{Cov}(r_t, r_{t+\tau})}{\sigma_r^2}

在 random walk 中,Cr(τ)=δτ,0C_r(\tau) = \delta_{\tau,0},其中 δτ,0\delta_{\tau,0} 是 Kronecker delta function:

δi,j={1,if i=j0,otherwise\delta_{i,j} = \begin{cases} 1, \text{if }i = j\\ 0, \text{otherwise} \end{cases}

也就是除了 τ=0\tau=0 时为 11,其他时候为 00.

对于 τ>0\tau>0,一个单边趋势往往有着 Cr(τ)>0C_r(\tau) >0,也就是价格上涨。而 mean reverting 则有着 Cr(τ)<0C_r(\tau) < 0.

volatility 本身也和我们采样的时间有关,如果我们每 τ\tau 秒采样一个价格,相应的 volatility 为:

σ2(τ):=V(τ)τp‾2\sigma^2(\tau) := \dfrac{\mathcal{V}(\tau)}{\tau \overline{p}^2}

​#TODO#​ 这个式子不知道是怎么来的。当 τ=1\tau=1 时,有 σ2(1)=σr2\sigma^2(1) = \sigma^2_r.

代入可以得到:

σ2(τ)=σr2[1+2∑u=1τ(1−uτ)Cr(u)]\sigma^2(\tau) = \sigma^2_r \left[ 1 + 2 \sum \limits _{u=1}^\tau \left(1 - \dfrac{u}{\tau} \right) C_r(u) \right]

‍

σ(τ)\sigma(\tau) 关于 τ\tau 的图像称为 volatility signature plot.

​image​

图中的例子是一个指数衰减的 ACF Cr(u)=ρuC_r(u) = \rho^u 画出的。接近直线说明价格的 autocorrelation 不强。


现在假设价格还受到一些 high frequency noise 的影响:

pt=p0+p‾∑t′=0t−1rt′+ηtp_t = p_0 + \overline{p} \sum \limits _{t'=0}^{t-1}r_{t'} + \eta_t

其中 noise ηt\eta_t 是 mean 为 0、variance 为 ση2\sigma_{\eta}^2 且与 rtr_t 无关的随机变量,但是自相关,并且 ACF 为:

Cη(τ):=Cov⁡(ηt,ηt+τ)ση2=e−τ/τηC_{\eta}(\tau) := \dfrac{\operatorname{Cov}(\eta_t, \eta_{t+\tau})}{\sigma^2_{\eta}} = e^{-\tau/ \tau_{\eta}}

其中 τη\tau_{\eta} 是 noise 的自相关时间。

The noise η\eta is often called an Ornstein–Uhlenbeck process, see, e.g., Gardiner, C. W. (1985). Stochastic methods. Springer, Berlin-Heidelberg.

可以将这个模型解读为:市场价格有时候会偏离真实价格,这个偏离是一个 random error term,在时间尺度 τη\tau_{\eta} 下会 mean-reverts. 另一种解读是,microstructure noise 来自我们对 true price 的估计不准的 error term,也就是我们的 predicted true price 总是和 true price 有一定的偏差,但这个 bias 也会 mean-reverts. 这被称为 bid-ask bounce effect.

加入这项 noise 之后,我们观察到的 square volatility 变成了:

σ2(τ)→σ2(τ)+2ση2τ(1−e−τ/τη)\sigma^2(\tau) \to \sigma^2(\tau) + \dfrac{2\sigma^2_{\eta}}{\tau} \left( 1 - e^{-\tau/\tau_{\eta}} \right)

这个额外的项在 τ=0\tau=0 时,等于 2ση2/τ2\sigma^2_{\eta}/\tau,在 τ→∞\tau \to \infty 时衰减至 0.这主要会增大短期的 volatility.


Bachelier’s first law 假设价格变动之间无关,这对应的是一根直线的 volatility signature plot.

实际上好像大部分时候确实接近一根直线。

​image​

Jumps and Intermittency in Financial Markets

Heavy Tails

很多模型假设 return 服从 Guassian Distribution,但大量研究表明,Gaussian 不是一个好的 model. 实际上的 return 具有更加 heavy 的 tails.

​image​

在较短的时间尺度上,unconditional return 的 empirical density function 可以用 stsudent’s t distribution 较好地拟合,其 PDF 为:

fr(r)=1πΓ[(1+μ)/2]Γ[μ/2]aμ(r2+a2)(1+μ)/2f_r(r) = \dfrac{1}{\sqrt{\pi}} \dfrac{\Gamma[(1+\mu)/2]}{\Gamma[\mu/2]}\dfrac{a^\mu}{(r^2 + a^2)^{(1+\mu)/2}}

其中 μ\mu 为 tail parameter,aa 则与 distribution 的 variance 有关:σ2=a2/(μ−2)\sigma^2 = a^2/(\mu - 2).
tail parameter μ\mu 被发现一般在 33 附近。

当 ∣r∣≫a|r| \gg a 时,fr(r)→aμ∣r∣1+μf_r(r) \to \dfrac{a^{\mu}}{|r|^{1+\mu}}. 当 μ→∞\mu \to \infty 时,又变成了 Gaussian distribution.

Student’s t distribution 的 tail 比 Gaussian 重得多,这意味着罕见事件并没有那么罕见。使用 Gaussian Distribution 会低估低概率事件的风险。

Volatility Clustering

我们说:returns 看上去几乎是 uncorrelated 的。但它们肯定不是 IID 的。

这里再次区分一下 uncorrelated 和 independence:uncorrelated 仅仅表明不存在线性关系,而 independence 则是不存在任何关系。

假如 return 是 IID 的,那么根据大数定律,在足够多的观察下,其 distribution 一定会向 Gaussian Distribution 收敛。但实际上 returns 几乎总是 non-Gaussian 的。

实际上,金融市场是高度 inermittent 的。有的时候市场很活跃,有的时候市场很冷清。volatility 本身也是一个 dynamic variable.

returns 可以被分解为一个与时间有关的 volatility 项 σt\sigma_t 和一个 directional component ξt\xi_t:

rt:=σtξtr_t := \sigma_t \xi_t

在这个表达中,ξt\xi_t 是具有 unit variance 的 IID random variable,也就是方向和大小是相对随机的。但 σt\sigma_t 是一个正的波动率指标。σt\sigma_t 被发现具有 long memory.

令 σt=σ0eωt\sigma_t = \sigma_0 e^{\omega_t},其中 σ0\sigma_0 是设置 volatility scale 的常量,ωt\omega_t 的 variogram 被发现可以用 Gaussian random variable 近似:

Vω(τ)=<(ωt+τ−ωt)2>≊χ02ln⁡[1+min⁡(τ,T)]\mathcal{V}_\omega(\tau) = \left < (\omega_{t+\tau} - \omega_t)^2 \right > \approxeq \chi^2_0 \ln [1+\min(\tau,T)]

其中 TT 是一个很长的 cut-off time,一般以年为单位。χ0\chi_0 设定了 log-volatility 波动的大小,经常被称为 volatility of the volatility(vol of vol). 对于大多数 assets,χ02≊0.05\chi^2_0 \approxeq 0.05.


long memory 给出的 variogram 形式和 Ornstein-Uhlenbeck log-volatility process 听不一样的。后者使用一个 relaxation time τω\tau_\omega 刻画:

Vω(τ)=χ02(1−e−τ/τω)\mathcal{V}_\omega(\tau) = \chi^2_0 \left( 1 - e^{-\tau / \tau_\omega} \right)

金融市场中的 volatility fluctuations 具有多重时间尺度。


volatility σ\sigma 和 scaled return ξ\xi 并不是独立的,过去的正收益会减小未来的 volatility,而过去的负收益会增加未来的 volatility. 这被称为 leverage effect.

τ>0,<ξtσt+τ><0\tau >0, \left< \xi_t \sigma_{t+\tau} \right> <0

但是过去的 volatility 基本上无法预测未来的 return sign:

τ<0,<ξtσt+τ>≊0\tau < 0, \left< \xi_t \sigma_{t+\tau} \right> \approxeq 0

Activity Clustering

Market Activity 往往成堆出现。

​image​

midprice change 都有这么强的 clustering 吗(

假设价格每次只能变动一个 tick θ\theta,每单位时间变动频率 φ\varphi,相应的 variance 就是:

σ2=φθ2\sigma^2 = \varphi \theta^2

一个更精确的刻画是,选择一个时间 tt 以及一小段时间 dt\mathrm{d} t,考察这段时间内 price changes 的数量 dNt\mathrm{d} N_t,当 midprice 发生了变动 dNt=1\mathrm{d} N_t = 1,否则 dNt=0\mathrm{d} N_t=0. 由此可以得到平均市场活动 φ‾\overline{\varphi} 的定义:

<dNt>:=φ‾dt\left< \mathrm{d} N_t \right> := \overline{\varphi} \mathrm{d} t

其 covariance Cov⁡[dNtdt,dNt+τdt]\operatorname{Cov}\left[ \dfrac{\mathrm{d} N_t}{\mathrm{d}t}, \dfrac{\mathrm{d} N_{t+\tau}}{\mathrm{d}t} \right] 刻画了市场波动的短期结构。

市场活动既由 long memory 影响,也由短期的波动影响。

​image​

上面对市场价格变动的描述具有局限性。比如它无法刻画价格大部分时间稳定、但少数时间剧烈变动的情况。而实际市场中的价格往往具有两种波动:高频小波动和罕见的极端波动。

假设 return 遵循 Student’s t distribution,那么在 4σ4\sigma 外的极端事件贡献了 30%30\% 的 total variance,这是相当大的一部分波动。而且很多大变动实际上也跟 news 无关,似乎是市场自发涌现的特性。

这两种事件微妙地相互联系。在时间 tt 增加的波动率,会倾向于在时间 t+τt+\tau 引发更多的市场活动。比如说一个大的 price jump 往往跟随着一段市场活跃时间。似乎存在某种 self-excitation 的现象。

Why Do Prices Move?

为什么价格会变动?为什么会出现 random walks 的表现?

直觉地考虑, 市场价格似乎是这样变化的:

但实际上,新闻的频率远远比大幅价格变动的频率低。大部分的 large price moves 似乎与 news 无关,而更像是交易活动的自发涌现。

这被称为 excess-volatility puzzle:实际上的波动率,和围绕 fundamental value 的波动相比,显著高得多。


此外,虽然消化 news 的影响、确定新的价格需要一段时间,金融市场似乎很少表现出 under-reaction(会创造趋势) 和 over-reaction(会创造 mean-reversion),使得 signalture plots 几乎是平的。

一个观点是,高度优化的执行算法和做市算法,积极地寻找 return series 中的 correlation 并加以利用。这些算法因而抹去了 signature plots 中的不规则部分。

高频算法从低频策略产生的 inefficiency 中获利,从而使 return 在任意时间尺度上都呈现出纯粹的随机性。


price efficiency 也有两种考察方式:

根据 Black 的理论,fundamental values 的锚定效用只有在 random fluctuations σT\sigma\sqrt{T} 的影响降低到至少 50% 的时候,才能在时间尺度 TT 上观察到。对于 σ=20%\sigma= 20\% 的 stock market,这需要六年的时间(?

怎么感觉这么奇怪。Whatever,这本书主要考察的是 statistical efficiency.

Overview

在各种时间尺度下,price changes 都是高度 uncorrelated 的。当然,uncorrelated 不代表 independence.

市场的交易活动会使价格自发涌现出各种表现,而并不一定依赖于外部的新闻。
quantitative volatility/activity feedback models(例如 ARCH-type models、hawkes process) 认为至少 80% 的 price variance 是由 self-referential effects 引起的。

这意味着大部分的价格变动都可以用市场本身的 microstructure view 来解释,而不依赖于宏观基本面分析。这些微观结构在各种各样的 liquidity market 都是类似的。

感觉还有很多内容没有消化,以后再回来看吧。

References to Read

‍


上一篇
3 Limit Order Books
下一篇
1 The Ecology of Financial Market