- Published on
Fractional EMA Kalman Filter [D7]
- Authors

- Name
- CoresightQuant
NOTE
本文为公开交易策略的技战术复盘,聚焦方法逻辑、交易场景与风险边界。
分数阶EMA卡尔曼滤波:一种自适应状态估计的新尝试
在技术分析中,对价格序列进行平滑处理是最常见的预处理手段。移动平均线、布林带、MACD等经典指标,本质上都在回答同一个问题:如何从充满噪声的价格中提取有意义的趋势?然而,传统线性平滑方法往往在“灵敏”与“稳定”之间难以取舍。今天要介绍的“分数阶EMA卡尔曼滤波”是一种实验性的平滑与状态估计工具,它将现代控制理论中的卡尔曼滤波与分数阶指数移动平均相结合,试图在震荡市中保持克制,在趋势市中迅速响应。下面,我们将从原理解析、优缺点、历史脉络等多个角度,逐步拆解这一有趣的策略。
策略解读
这段描述虽然简短,却包含了三个关键概念:分数阶EMA、卡尔曼滤波框架、自适应方差与残差控制。我们可以将这一工具理解为一个“带有动态校验的智能平滑器”。
传统EMA只用一条指数加权曲线来追踪价格,其平滑程度完全取决于一个固定系数。卡尔曼滤波则不同,它把价格视为带有噪声的观测值,并试图估计一个隐藏的“真实状态”——例如价格的内在趋势水平。卡尔曼滤波会结合当前观测和上一时刻的预测,计算出最优的加权方式,这个加权系数叫做“卡尔曼增益”。正常情况下,卡尔曼增益由噪声方差的大小决定。问题是,金融市场的噪声并不是恒定的:震荡市噪声大,趋势市噪声小。如果噪声参数固定,滤波器就会在行情切换时反应迟钝。
分数阶EMA的加入,让预处理阶段多了一个可调节的“记忆尺度”。普通EMA的权重衰减是整数阶的,而分数阶EMA可以通过非整数阶参数,让历史价格的记忆长度变得更长或更短,从而更好地匹配不同时间尺度下的市场自相关特征。这种预处理后的信号送入卡尔曼滤波后,能够进一步减少高频噪声。
此外,策略中提到的“自适应方差逻辑”与“残差控制”是核心。残差就是实际观测值与滤波器预测值之差。如果市场一直横盘,残差会呈现出类似白噪声的特征,滤波器会认为当前观测号信息量不足,于是降低增益,令输出曲线变得平缓;一旦价格单边运行,残差会连续同方向偏离,滤波器会识别出这种“非随机”结构,从而增大对观测数据的信任,迅速调整状态估计值,使其跟住趋势。
D7这个名称可能是某种版本号或参数标识,但它并不重要。重要的是,这种混合方法代表了一种趋势识别的新思路:不是简单地在均线上做快慢线交叉,而是用状态估计器动态地对待市场的不确定性。
名词解释
- 卡尔曼滤波:一种递归的线性状态估计方法,由鲁道夫·卡尔曼在1960年提出。它利用系统状态方程和观测方程,在每一步融合先验预测和新的观测,从而在噪声环境中对隐含状态给出最小均方误差估计。该滤波不需要保存全部历史数据,计算效率高。
- 指数移动平均(EMA):一种对时间序列进行加权平滑的方法,越近的数据权重越大,权重按指数衰减。与简单移动平均相比,EMA对最近价格变化的反应更快,因此被广泛用于技术指标中。
- 分数阶EMA:将分数阶微积分思想引入指数移动平均。常规EMA的递推公式中,权重序列的衰减特性相当于一阶(或整数阶)系统;分数阶EMA则允许权重衰减的阶数取非整数值,从而更灵活地控制历史信息的记忆长度。它可以被理解为介于不同时间尺度之间的平滑器。
- 自适应方差逻辑:在滤波器中动态调整噪声方差或过程方差的一种机制。比如当市场突然波动加剧时,它增大观测噪声的估计值,减少对当前价格的信赖;反之,当价格平稳时,它置信于观测。这使得滤波器可以在不同市场状态下自动切换行为。
- 残差:在滤波框架中,残差是指当前观测值与滤波器给出的预测值之差。残差中包含新的信息,残差过大或形成连续同号的结构,往往代表原模型假设失效或市场状态发生转变。
- 状态估计:状态是指系统内部不可直接测量的属性,比如“价格的潜在趋势水平”、“瞬时动量”等。状态估计就是利用一系列观测数据去推断这些属性的最可能值。卡尔曼滤波就是一种高效的状态估计器。
- 方向性结构:指价格走势中存在持续的上涨或下跌动力,而非无序波动。这种结构通常由动能、资金流或基本面变化驱动,是趋势跟踪系统所追求的目标。
策略思路讲解
要理解这一策略,不妨把它拆成三层:输入层、滤波层、控制层。
输入层:分数阶EMA预平滑
原始价格信号往往包含大量微观噪声和跳空。如果直接把价格送入卡尔曼滤波器,状态估计会经常被噪声干扰。因此,策略先对价格进行分数阶EMA处理。分数阶EMA可以看作一个“可调记忆的预滤波器”,它比普通EMA多了一个阶数参数α。当α接近0时,其行为接近原始价格;当α较大时,它像一条更长周期的均线。这个参数的意义在于,使用者可以根据不同交易品种的“记忆特性”——比如自相关系数——手动或寻优地设定记忆长度,而不是像普通EMA那样只能接受固定的衰减速度。
滤波层:卡尔曼框架
经过预平滑后的序列被当作观测z。状态x定义为“滤波后的趋势值”,它可以是一条平滑曲线。状态转移模型可以设为简单的随机游走,即认为趋势值不会突然跳变,t时刻的趋势值约等于t-1时刻的趋势值加上一个随机过程噪声。观测方程则把状态映射到观测空间,并叠加观测噪声。卡尔曼滤波每步会做两件事:先根据状态转移预测下一时刻的状态及误差协方差;再根据观测残差更新状态估计值。更新权重由卡尔曼增益决定,增益大小取决于过程噪声与观测噪声之比。如果过程噪声大,说明趋势容易变化,滤波器会更看重新观测;如果观测噪声大,说明价格信号不可靠,滤波器会更依赖预测。
控制层:自适应方差与残差监控
固定噪声参数的卡尔曼滤波器在真实市场中很难用。该策略引入自适应逻辑:每当获得新的残差,便估计残差的近期方差。如果近期残差方差大,说明当前观测噪声高,于是调高观测噪声R,这样增益自然下降,滤波输出变得更平滑;如果残差出现“非随机”形态——比如连续多天残差同号且数值大——则意味着趋势性结构已经出现,此时调低观测噪声R(或调高过程噪声Q),让滤波器快速追逐价格。D7中的“残差控制”还可能包括:当残差绝对值超过某个阈值时,强制重置状态协方差矩阵,以消除错误记忆。
这种“震荡抑制、趋势跟随”的行为,与经典自适应均线(如KAMA)的理念相似,但卡尔曼滤波提供了更为严谨的概率框架。它输出的不是一个简单平均值,而是一个带有置信区间的状态估计值。交易者可以据此构建入场信号:当滤波后的趋势值方向向上且状态置信度增加时做多,反之做空。也可以将滤波值本身用作移动止损的参考线。
优点
- 兼顾平滑与响应:大多数均线鱼与熊掌不可兼得。卡尔曼滤波通过动态增益,在震荡期压低波动,在趋势期放大反应,这比固定参数的均线更智能。
- 理论基础扎实:卡尔曼滤波是最小均方误差意义下的最优线性滤波器,能够量化不确定性;分数阶EMA又为预处理提供了物理与信号处理层面的依据。
- 自适应性强:通过残差反馈,噪声方差能够随市场环境自动变化,减少了人工频繁调参的负担,对不同波动率的品种有一定普适性。
- 信息丰富:不但提供平滑趋势值,还能给出状态估计误差的协方差,从而辅助判断趋势的可靠性,例如用协方差作为仓位管理的参考。
- 实验性与创新性:将分数阶微积分与现代滤波理论结合,为技术分析工具库提供了新的维度,对于研究者来说富有探索价值。
缺点
- 参数众多且敏感:分数阶阶数、过程噪声与观测噪声初值、自适应方差的滑动窗口长度等,都对结果影响很大,调参如同走钢丝,容易过拟合历史数据。
- 计算复杂度高:尽管卡尔曼滤波本身是递归算法,但分数阶EMA往往需要记忆长串历史权重,且卡尔曼的协方差矩阵更新涉及多次矩阵运算,在大周期图表上还好,高频交易中则可能延迟较高。
- 线性高斯假设约束:标准卡尔曼滤波假定状态转移与观测都是线性的,噪声服从高斯分布。金融价格具有尖峰厚尾、跳空、杠杆效应等非线性特征,这会导致估计偏离真实。
- 可解释性差,难以维护:普通交易者很难理解“状态协方差”和“分数阶”的含义,使用起来更像黑箱。一旦回测结果不佳,也不清楚该修改哪个参数。
- 特定行情下失效:在突发性跳空前,残差信息尚未进入更新,滤波器会滞后;而在长时间窄幅震荡中,自适应方差会把增益压得过低,导致真正的趋势出现时响应已经太慢。
起源年份考证
需要说明,以下是对“该类方法”整体脉络的考证,而非针对D7这个具体版本的发布时间的考证。
- 卡尔曼滤波理论:1960年,鲁道夫·E·卡尔曼发表了著名论文《A New Approach to Linear Filtering and Prediction Problems》,首次提出卡尔曼滤波。这是现代控制与信号处理的奠基性成果。
- 指数移动平均进入技术分析:EMA的概念源于统计学与电子工程中的指数平滑方法,20世纪40年代已用于统计质量控制。技术人员在70年代广泛使用,例如1978年J. Welles Wilder Jr.在《New Concepts in Technical Trading Systems》中普及了各类平滑指标。
- 分数阶微积分在金融中的应用:分数阶微积分的历史可以追溯到17-18世纪,但直到20世纪70-80年代,Mandelbrot等人将分数布朗运动引入金融随机过程后,分数阶思想才开始在金融领域生根。分数阶EMA这种具体表达,则更多地出现在21世纪后的数字信号处理与量化研究文献中。
- 卡尔曼滤波应用于金融预测:1980年代起,经济学家和计量学家开始使用状态空间模型(与卡尔曼滤波高度相关)来估计股票价格、利率和汇率。到1990年代,随着量化交易发展,卡尔曼滤波被用于均值回归和趋势追踪。
- 分数阶EMA与卡尔曼滤波结合的公开策略:这种组合在公开交易社区中属于较新尝试,从算法特征推断,大约流行于2015年至2020年之间。由于公开社区中许多策略以实验性、探索性目的发布,D7可能只是某个作者系列中的第七个版本,其确切发布日期无法考证。
因此,本策略的思想根源可追溯到1960年的卡尔曼滤波,以及更古老的分数阶微积分概念,而二者在交易工具中的结合,则很可能出现在2010年代之后。
改进建议
- 引入波动率校准:不要只用残差方差来调节噪声,可以加入已实现波动率(如ATR、真实波动幅度)作为辅助,当ATR快速上升时,主动增加观测噪声,避免滤波器在巨大波动中失控。
- 使用非线性滤波扩展:将标准卡尔曼滤波替换为无迹卡尔曼滤波或粒子滤波,这些方法能处理非线性的价格突变和厚尾噪声,提高状态估计的鲁棒性。
- 多尺度分数阶输入:同时使用两个不同阶数的分数阶EMA作为两个观测通道,让滤波器兼顾短期与中期信息。比如一个α接近0.3,另一个α接近0.7,然后通过融合两个观测来得到更稳定的趋势判断。
- 加入趋势确认引擎:在滤波值之上叠加一个方向性指标,如平均趋向指数(ADX)或方向化运动指数,只有当滤波值方向和趋势强度同时达到阈值时才发出信号,以减少震荡期的假信号。
- 参数优化与滚动测试:使用遗传算法或贝叶斯优化搜索参数空间,但务必采用滚动前推窗口进行样本外测试,避免静态区间的过拟合。参数稳定胜于参数最优。
- 设计残差跳变防护:当残差绝对值超过一定标准差时,不要立即将其视为新趋势,而是先降低协方差矩阵的置信度并启动一个“观察期”,观察期结束后若残差结构仍持续,再提高响应速度,这可以屏蔽错误跳空。
- 与多资产状态建模结合:如果交易者管理多个相关品种,可以扩展为多元卡尔曼滤波,估计各资产之间的协整关系,使趋势判断更加全面。
总结
分数阶EMA卡尔曼滤波是一个“够新、够深、也够硬”的策略思路。它用分数阶EMA对价格进行预平滑,用卡尔曼滤波做状态估计,又用自适应方差和残差控制动态调整滤波器的行为,试图在趋势跟踪中同时获得“安静”和“敏感”的优良品质。这条道路在理论上是站得住脚的,因为卡尔曼滤波给出了最优线性估计的数学保证,分数阶EMA则提供了记忆长度上的额外自由度。然而,它的参数敏感、模型假设较强、计算复杂度较高,这些短板意味着它并不适合直接用于挂单交易,更适合作为研究原型或辅助工具。
对于普通交易者而言,理解该策略的核心价值,并不在于照搬一个所谓“D7”的公式,而在于学会一种思想:用状态估计和不确定性管理替代简单的平均线。如果你能掌握这种“动态信任”的思路,无论最终选用何种工具,都会对市场噪声与趋势之间的关系有更深刻的领悟。市场由亿万交易者构成,其波动并非白噪声,卡尔曼滤波与分数阶微积分的结合,或许正是我们在噪声与秩序之间寻求平衡的一个隐喻。任何策略的优秀表现,都离不开全面的回测、严格的止损和足够长的样本期。实验性的工具,需要实验性的耐心。