量化择时:基于经验模态分解的希尔伯特-黄变换
part2部分是算法的介绍,抛开代码部分,其实就是所有人都能看得懂字面解释
Part2算法
在了解了基础的数理知识和学习了将实信号转换为复信号的处理方法之后,掌握的方法之后就要寻求问题的目标,现在我们就要回过头来讲对时间序列短期股指信号的处理方法。一开始就提到了时间序列短期股指是一个非稳态序列。这些股指数据在任意的时间点上,都包含了多个不同的波动形式,所以我们简单的上文中提到的希尔伯特变换不能完全表现数据频率的特性,所以我们需要通过希尔伯特-黄变换来对其进行处理,从中获取稳态的、频率合适的信号。其中我们提到的经验模态分解就是作为希尔伯特-黄变换的基础部分被提出来的。
1、经验模态分解:
经验模态分解(Empirical Mode
Decomposition,缩写EMD)是由黄锷(N. E. Huang)于1988年创造性地提出的一种具有自适应性质的信号处理方法,可适用于非线性、非平稳信号的分析处理。EMD是依据数据自身的时间尺度特征来进行信号分解,所以不需要预先设定任何的基函数来对目标信号进行处理。
EMD的提出伴随着另一个函数的提出——本征模函数(Intrinsic Mode Function,缩写IMF)。在物理学上认为,若一个瞬时频率有意义,那么这个瞬时频率的函数必须是对称的,且局部的均值为零,并且具有相同的过零点和极值点数目。本征模函数定位为在该函数上,任意一点的瞬时频率都是有意义的,所以我们可以认为任何的一个信号都是可以由若干个本征模函数组成,即若干个本征模函数之间的相互重叠,就会形成了复合信号。所以本征模函数也就必然地满足瞬时频率的函数的特性——在整个时间范围内的本征模函数,局部的极值点和过零点数目相等,或者最多相差一个(可能相差在两个极值点间的过零点),且在函数上的任意时刻,局部的均值为零。
EMD所做的就是将这些本征模函数从信号中分解出来。根据本征模函数的性质,通过EMD分解出来的本征模函数应该符合以下的条件:
(1)信号至少有两个极值,一个极大值和一个极小值。
(2)信号的局部时域特性是由极值点间的时间尺度唯一确定
(3)如果信号没有极值点,但是有拐点,则可以通过对信号进行一次或者多次微分求得极值,然后再通过积分来获得结果。
接下来对满足条件的时间序列股指做EMD分解过程如下:
(1)将时间序列 P ( t ) P(t) P(t)上所有的极大值点并用Spline插值(三次样条插值函数,是通过一系列的记录所描绘的值点的一条光滑曲线)拟合形成序列的上包络线(包络线在几何学上的定义是跟某一曲线族的每条线都有至少一点相切的一条曲线;因为与所有的曲线均相切,所以顾名思义就是将曲线族都包络圈住的一条曲线,在这里的上包络线就是指对所有的极大值点进行包络的Spline插值);
(2)同样对所有的极小值点也通过Spline插值拟合形成序列的下包络线(同理对所有极小值点进行包络的Spline插值);
(3)将我们所得的上包络线和下包络线的均值记作ml,将原时间序列 P ( t ) P(t) P(t)减去拟合所得的上下包络线的均值ml,得到一个新的序列 X ( t ) X(t) X(t),即 P ( t ) = X ( t ) − m l P(t)=X(t)-ml P(t)