希尔伯特变换是一种广泛用于信号处理领域的算法,将其应用在价格上可以得到有价值的频率和周期信息。本篇报告基于VMD改进原始的HT模型,并结合机器学习算法在指数上构建择时和轮动策略,取得了较佳的效果。
-
希尔伯特变换是一种广泛应用于信号处理领域的线性变换,将其应用在价格信号上,能够得到价格的瞬时相位和瞬时幅度。
基于瞬时相位,可以得到价格当前所处的周期位置和趋势,进而可以构建预测模型。基于希尔伯特变换的HT择时模型在沪深300上的年化收益9.71%
,跑赢沪深300指数,回撤相对较低,但是整体效果仍待提升。
-
由于希尔伯特变换要求输入信号是窄带稳态信号,而价格是非稳态、非线性的时间序列,因此单纯基于希尔伯特变换对价格信号进行处理可能存在一些问题。
Norden E. Huang博士提出了希尔伯特-黄变换(HHT),本质上HHT就是在希尔伯特变换前对信号进行经验模态分解(EMD)
,将信号分解为一组本征模态函数,每组IMF都代表着信号中不同尺度的振荡模式。随后,通过对这些IMFs进行希尔伯特变换,可以获得信号的瞬时频率和瞬时幅值,从而得到信号的希尔伯特谱。从回测结果来看,
基于HHT模型的效果要略优于HT模型,年化收益达10%以上
,盈亏比有所提升。
-
此前我们假设瞬时相位和价格周期之间存在着静态的映射关系,然而金融市场具有复杂性和多变性,尤其A股市场中博弈氛围较为浓厚。
因此,基于分类算法构建瞬时相位和价格涨跌之间的动态映射。结合机器学习算法进行动态跟踪后
,策略效果显著提升,
年化收益达到15%,最大回撤降至34%
。
-
HHT模型中的EMD也存在不足,如端点效应、模式混淆和计算复杂度较高等。针对EMD的局限性,一种改进方法——变分模态分解(VMD)被提出。
VMD是一种自适应、完全非递归的模态变分和信号处理的方法, 克服了EMD的端点效应和模态分量混叠问题。
另外,VMD可以降低复杂度高和非线性强的时间序列非平稳性,分解获得多个不同频率尺度且相对平稳的子序列。基于VMD的改进HHT模型,并结合二分类算法构建的
MHHTML择时策略年化收益近18%
,赔率也有所提高。
-
考察MHHTML模型在其他指数上的效果
:策略在中证1000上年化收益近16%,中证500上年化收益超19%,在国证成长上的年化收益超19%,回撤25%左右,在国证价值上的年化收益达16%,回撤约30%。
-
考察MHHTML周频策略的效果:
周频策略在沪深300上的年化收益超过17%,年均只有3次信号调整,适合中低频调仓。在中证500和中证1000上的表现也较为优异,年化收益均超17%。国证成长和国证价值上的年化收益也在16%以上,且换手相对较低。
-
调整分类算法的输入和输出,基于MHHTML模型可以构建指数轮动策略。
大小盘轮动策略年化收益均约15%,相对基准超额净值较为稳健,年均换手20次左右。成长价值风格轮动日频策略年化收益约14%,周频策略约12%,超额收益稳定,且年均换手较低。
-
MHHTML
在个股和多资产指数上
构建选股或择时策略也能取得较好效果。
*
风险提示:政策和市场环境可能发生变化,模型可能失效。
谱分析(Spectral Analysis)是一种信号处理技术,主要用于研究信号的频率成分。谱分析可以揭示信号中不同频率成分的强度或功率分布情况,主要用于电信号处理、声音工程、振动分析、图像处理等领域。
股票市场价格作为一种包含不同周期频率成分的信号,我们也可以通过谱分析的方法将其分解,并分析不同频率成分所隐含的信息。接下来,我们将基于一种谱分析方法——希尔伯特变换,来对股票市场价格进行处理,并尝试解析有价值的信息,构建交易策略。
在金融市场中,价格波动通常表现出一定的周期性,即资产价格随时间变化表现出的重复性模式。这些模式可以是短期的日内周期,也可以是中期的日间周期或长期的趋势周期。价格周期的存在表明市场并非完全随机,而是存在一定的规律性和可预测性。价格周期反映了市场参与者的集体行为以及市场内外部因素的影响,理解价格周期对于识别市场趋势、预测价格变动以及制定有效的交易策略非常重要。
那么,如何识别价格周期和趋势呢?典型方法有宏观基本面分析、技术分析、频谱分析、时序预测模型和深度学习等。在这些方法中,由于频谱分析可以分解出价格运动的幅度、频率和相位,对于周期识别无疑是较为适用的。下面,将基于频谱分析中的希尔伯特变换方法,理解和识别价格运动的周期。
希尔伯特变换(Hilbert Transform, HT)是一种线性变换,其作用是将一个实值信号转换为一个复数信号,广泛应用于信号处理领域。对于给定的时间序列x(t),希尔伯特变换产生的复数信号可以表示为
其中,j是虚数单位,x ̂(t)是x(t)的希尔伯特变换结果。希尔伯特变换的数学表达式可以通过积分形式给出:
其中,P表示柯西主值,这是因为积分在t=τ处是奇异的,需要采用主值的方式来处理。
解析信号z(t)可以分解为幅度和相位的形式:
其中,A(t)是信号的瞬时幅度,而θ(t)是瞬时相位,其分别可以通过如下方式计算:
基于希尔伯特变换得到的瞬时相位,可以识别价格周期和当前所处的趋势。
相位θ(t)取值范围为[-π,π],当θ(t)∈[0,π/2]即信号位于复平面的第一象限时,价格可能处于上升早期或刚刚从底部开始回升;当θ(t)∈[π/2,π]即信号位于复平面的第二象限时,表明价格上升趋势持续,但可能即将到达顶部区域;当θ(t)∈[-π,-π/2]即信号位于复平面的第三象限时,表明价格开始从高位回落,进入下降趋势;当θ(t)∈[-π/2,0]即信号位于复平面的第四象限时,表明价格持续下跌,但可能接近底部。
然而,直接在资产价格上应用希尔伯特变换存在一些问题:由于希尔伯特变换需要原始信号是窄带稳态信号,而价格本身是非稳态、非线性的时间序列,并且包括多种频率成分,直接对价格数据应用希尔伯特变换可能得到错误结果。正确的做法是:首先对价格信号进行预处理和分解,得到单一频率的稳态信号,然后再应用希尔伯特变换进行分析处理。
经验模态分解(Empirical Mode Decomposition, EMD)是一种信号处理技术,可以将复杂时间序列分解成多个具有单一频率成分的本征模函数(Intrinsic Mode Functions, IMF)和一个剩余趋势项(Residual Trend)。每个IMF都是一个本征模,具有单一的瞬时频率,这使得EMD非常适合分析非线性和非平稳信号,进而能够让后续的希尔伯特变换分析更加精确。
EMD 的分解过程包括以下步骤:
·
识别局部极值:找出原始信号中的所有局部极大值和极小值。
·
插值形成包络线:在所有局部极大值之间进行插值形成一个上包络线;在所有局部极小值之间进行插值形成一个下包络线。
·
计算中间包络线:计算上包络线和下包络线的平均值,形成中间包络线。
·
筛选过程:从原始信号中减去中间包络线,得到第一个近似的IMF。
·
停止准则:重复步骤1-4,直到得到的近似IMF满足停止准则。通常的停止准则是IMF中相邻极大值和极小值之间的平均值趋近于0,且IMF中相邻极大值和极小值之间的标准差小于某个阈值。
·
重复提取:从剩余信号中重复上述步骤,直到剩余信号成为一个单调函数或满足停止准则。
·
最终分解:最终得到一系列IMF和一个剩余趋势项(Residual Trend),后者通常是一个单调函数或一个非常缓慢变化的趋势。
假设原始信号为x(t),第i个IMF为IMF_i (t),剩余趋势项为r(t)。EMD的目标是将x(t)分解为:
其中,N是分解得到的IMF的数量。
以沪深300指数价格为例,基于EMD可以将价格分解为9个IMF,分别为从高频到低频的IMF信号,分别可以对应价格的短、中、长维度的周期。
EMD具有多项优点:
1)自适应性:EMD 不需要预先设定基函数,而是根据信号自身特性自适应地分解。
2)非线性和非平稳信号处理:EMD 特别适合处理非线性和非平稳信号。
3)多尺度分析:EMD 可将信号分解成不同尺度的IMF,便于多尺度分析。
但同时,EMD也存在一些局限:
1)端点效应:在信号的起始和结束部分可能存在边界效应。
2)模式混淆:当信号中存在相近频率的成分时,可能会发生模式混淆。
3)计算复杂度:EMD 的计算量较大,特别是对于较长的时间序列。
针对EMD的局限性,Dragomiretskiy和Zosso在2014年提出了一种改进方法——变分模态分解(Variational Mode Decomposition,VMD),VMD是一种自适应、完全非递归的模态变分和信号处理的方法,其自适应性表现在根据实际情况确定所给序列的模态分解个数,随后的搜索和求解过程中可以自适应地匹配每种模态的最佳中心频率和有限带宽,并且可以实现IMF的有效分离、信号的频域划分,进而得到给定信号的有效分量,最终获得变分问题的最优解,进而能够避免EMD中的一些问题,如端点效应和模态混叠。
VMD的整体框架是变分问题,假设每个模态是具有不同中心频率的有限带宽,目标是使每个模态的估计带宽之和最小,因此该算法可分为变分问题的构造和求解。
VMD的优点:
1)克服了EMD方法存在端点效应和模态分量混叠的问题(通过控制带宽来避免混叠现象),同时具有更坚实的数学理论基础。
2)可以降低复杂度高和非线性强的时间序列非平稳性,分解获得包含多个不同频率尺度且相对平稳的子序列,适用于非平稳性的序列。
VMD的缺点:
1)最大的局限性是边界效应和突发的信号。这与基于L2平滑阶段的使用密切相关,该阶段过度惩罚了域边界和内部的跳跃。
2)要求预先定义模态数K,与聚类和分段算法具有相同的缺点。
传统的频谱分析方法如傅里叶变换和小波变换等假设信号是线性的并且是平稳的,但现实世界中的许多信号并不满足这些假设。例如,在地震学、气象学以及金融市场上,信号往往是非线性的且随时间发生变化,这就使得传统频谱分析方法无法准确地捕捉到这些信号的动态特性。为了克服这些问题,美国国家大气研究中心(NCAR)的Norden E. Huang博士和他的团队提出了希尔伯特-黄变换(Hilbert-Huang Transform,HHT),并发表在《Proceedings of the Royal Society of London A》杂志上。这种方法结合了经验模态分解(EMD)和希尔伯特谱分析(HSA),旨在解决非线性、非平稳信号的分析问题。HHT能够将信号分解为一组本征模态函数(IMFs),每组IMF都代表着信号中不同尺度的振荡模式。随后,通过对这些IMFs进行希尔伯特变换,可以获得信号的瞬时频率和瞬时幅值,从而得到信号的希尔伯特谱。
将价格数据经HHT变换后得到相位θ(t),可以基于二分类算法如Logistic回归、朴素贝叶斯、决策树、KNN、SVM、XGBoost等机器学习方法构建相位和涨跌幅的映射关系,进而依据当前相位对未来涨跌幅进行预测。
首先,直接基于预处理后的价格数据进行希尔伯特变换(HT),再根据得到的相位结果作出择时判断。
根据前文所述,当相位θ(t)∈[0,π/2]即信号位于复平面的第一象限时,价格可能处于上升早期或刚刚从底部开始回升;当θ(t)∈[π/2,π]即信号位于复平面的第二象限时,表明价格上升趋势持续,但可能即将到达顶部区域。总之,当θ(t)>0时,我们认为当前指数处于上升趋势。
其次,在HT的基础上,引入EMD即基于HHT构建择时策略
:将指数收盘价通过EMD分解为不同频率的IMF_i序列,提取次高频的IMF_2或IMF_3序列(最高频的IMF_1代表噪声)。接着,将提取的IMF_3经过希尔伯特变换得到相位θ(t)序列。最后,通过相位θ(t)来判断指数当前所处的周期进而作出择时判断。
然而,不同时间指数的周期模式可能有所区别,因此不同时间的相位对应指数所处的周期位置也可能并不完全一致。如何动态刻画和精确描述上涨趋势所对应的相位呢?接下来,通过机器学习算法(逻辑回归、支持向量机、朴素贝叶斯),基于相位和未来涨跌幅的历史数据来拟合两者关系,再根据当前相位θ(t)对未来指数趋势做出预测。
为了对比不同算法下的择时策略表现,下面我们将分别采用HT(希尔伯特变换)、HHT(HT+EMD)、HHTML(HHT+MachineLearning)、MHHTML(Modified HHT+MachineLearning)构建择时策略,考察策略回测效果。
以沪深300为例,将沪深300收盘价通过希尔伯特变换分解为幅度和相位,根据前面的分析,当相位处于[0,π]的范围时,价格处于上涨趋势,此时择时信号应为看多。但是要注意,对一个实值信号进行希尔伯特变换时,得到的虚部实际上是原信号经过了π/2相位延迟的结果。在根据相位判断指数所处周期位置时,需要考虑相位延迟的因素。因此,实际上,当相位处于[-π/2,π/2]的范围时,价格处于上涨趋势,此时择时信号应为看多。由于信号为日频,故我们将成交价格设为次日收盘价。另外,由于价格是非稳态序列,希尔伯特变换适用于窄带平稳信号,因此需要对价格数据进行预处理,即平滑(去噪)和差分(去趋势)。
从回测结果来看,HT模型年化收益9.71%,跑赢沪深300指数,回撤相对较低,但是整体效果仍待提升。
由于希尔伯特变换要求输入的数据必须是平稳的,上节的做法是平滑+差分,但是更标准的做法应当是通过EMD将价格序列分解为稳态单一频率的IMFs,再取合适的IMF进行希尔伯特变换。接下来,我们直接将指数价格序列输入到EMD中,分解得到IMFs,取代表中高频的IMF3作为输入进行希尔伯特变换。
从结果来看,基于HHT模型的效果要略优于HT模型,年化收益达到10%以上,盈亏比有所提升,但是整体效果仍待改进。
实际上,由于金融市场的复杂性和可变性特征,价格的相位和所处周期趋势的映射关系可能并不固定,即相位和周期趋势的关系是动态变化的。因此,我们需要引入能够刻画两者关系的模型,来动态跟踪不同市场环境下相位和周期的映射关系。这里,我们应用机器学习算法(Machine Learning)来解决该二分类问题:将过去M日 的相位信号作为X,未来1日涨跌幅作为Y,输入二分类器训练,再将当日相位输入训练好的模型得到预测结果,分类器每隔5日重新训练。
经过机器学习算法定期训练后,策略效果显著提升,年化收益达到15%,最大回撤降低至34%。
最后,尝试基于VMD的改进HHT模型,结合二分类算法构建择时策略(Modified Hilbert-Huang Transformation with Machine Learning,MHHTML)。效果大幅提升,年化收益提升至近18%,赔率也有所提高。
下面,我们考察MHHTML模型在其他主要指数上的回测效果。首先来看在不同市值宽基指数上的效果:策略在中证1000上年化收益近16%,在中证500上年化收益超19%。
策略在国证成长上的年化收益超19%,回撤25%左右,在国证价值上的年化收益达16%,回撤约30%。
考虑到日频信号的交易频率过快,交易次数过多带来的交易损耗会对策略实际效果产生影响。因此,接下来考虑MHHTML模型在周维度上的效果。策略设定基本与此前保持一致,唯一不同点是在训练相位和未来涨跌关系的模型时,我们将未来1日涨跌替换为未来5日涨跌。
周频策略在沪深300上的年化收益超过17%,上涨胜率相对较高,一年平均只有3次信号调整,相对日频信号大幅降低,适合中低频仓位调整。
周频策略在中证500和中证1000上的表现也较为优异,年化收益均超17%。国证成长和国证价值上的年化收益也在16%以上,且换手相对较低。
最后,考察MHHTML模型在除A股的其他资产(港股、美股、商品、利率债等)上的表现:
上一章我们根据VMD算法、希尔伯特变换和二分类机器学习算法构建了单一指数上的择时策略。下面,在此基础上,尝试构建在不同风格指数上的轮动策略。策略设定与之前基本保持一致,唯一不同点在于:此前训练分类器时采用二分类模型,分类结果无非标的指数“涨”或者“跌”,而对于多个指数之间的比较,可以采用相对涨跌来刻画,例如构建大小盘指数轮动策略,那么可以将相对涨跌定义为sign(沪深300涨跌幅-中证1000涨跌幅),进而转化为二分类问题。
大小盘轮动日频策略年化收益约15%,周频策略年化收益近15%,相对等权基准(沪深300和中证1000日收益均值计算得到的累计净值)超额相对稳健,一年平均换手20次左右。