量化模型

利用有限混合模型与期望最大算法设计金融压力指数


从广义上讲,我们可以将金融市场分为两种状态:牛市和熊市。牛市通常市场平稳且股价向上倾斜。熊市通常市场低迷且股价更具波动性。通常情况下,在任何一个特定的时刻,我们只能猜测目前市场所处的状态,无法真正确认到底是熊市还是牛市。本文中,我们通过使用有限混合模型来研究每日股市收益,创建金融压力指数,以确定目前市场状态。

混合模型提供了一种利用用简单分布模拟复杂分布的有效方法。高斯混合模型(Gaussian Mixture Model)是混合模型的一种,利用多个高斯分布函数的线性组合来刻画复杂分布。忽略对各个参数的依赖性,我们可以下式表达两种分布的混合:

$g(x_i)= \sum_ {j = 1} ^ 2 (\lambda_j f_j(x_i))$

其中$g()$是整体分布,$f_1()$是一个简单分布,成为一个分量(component),例如具有均值和方差的正态分布,$f_2()$是具有不同均值和不同方差的另一个正态分布。 $\lambda_1 =(1-\lambda_2)$,因此$\lambda()$可以解释为来自每个分布的概率。从理论上讲,如果我们有足够多的$f$分量,理论上我们就可以成功拟合出任意类型的分布$g$。

期望最大化算法(Expectation-maximization Algorithm)是机器学习十大算法之一,是寻找具有潜在变量的概率模型的最大似然解的一种通用的方法。我们利用R包mixtools来估计上证指数的$g$和$f$,在下面的代码中,k是分量的数量,lambda是混合比例的初始值。

> mix_mod <- normalmixEM(w0, k = 2, lambda = c(0.8, 0.2))
number of iterations= 222 
> summary(mix_mod)
summary of normalmixEM object:
          comp 1     comp 2
lambda 0.6230717  0.3769283
mu     0.0657219 -0.0400739
sigma  0.7512165  2.3425504
loglik at estimate:  -8266.57

我们得到两个分布,一个更稳定,波动更低($\lambda=~0.657$),收益率均值为正($\mu=0.751$),另一个分布波动更高($\lambda=2.342$)和收益率均值为正($\mu=-0.040$)。 另外,lambda最终在62.3%的时间内处于稳定的状态中,即牛市,而37.7%的时间观测属于动荡的状态,即熊市。

根据观察结果,我们就可以从第一个或第二个分量获得该观察结果的后验概率。 因此,我们可以通过该概率来实际确定目前市场处于哪种状态。

两种状态如下图

fsi

分布如下图

fsi

仅基于收益率数据,数值算法非常直观地区分出了这两种的状态。

我们现在可以创建自己的金融压力指数。我们通过计算在某个移动窗口内被分类为熊市的观测数量,这种方法可以简单通过波动性聚类来解释。 我们使用120天移动窗口,并将结果标准化,最后利用Sigmoid函数(Logistic 函数)映射出金融压力的概率。

最终完成的上证指数的金融压力指数如下图,其中蓝色区域代表市场处于熊市的概率。

fsi

 

 

 

本文是全系列中第6 / 11篇:系统性风险

量化模型
投资组合VaR分解方法简介
量化模型
利用R语言aggregrate函数计算年化波动率
量化模型
Omega比率:投资绩效的终极指标?
还没有评论哦,快来抢沙发吧!