经验模态分解法介绍·综合运用
📊

经验模态分解法介绍·综合运用

(3/3)·只会算 IMF 不算真会 EMD,这一篇把算法接进图表、复盘与附录踩坑一次讲透

案例拆解 第 3/3 篇
很多人把 EMD 跑完就直接拿第一条 IMF 当信号,结果在外汇贵金属这种高噪声盘面上被假周期反复打脸。分解出的分量只是数学构造,不代表真实驱动,忽略残余项等于主动丢掉一半信息。先把分量对应关系搞清,再谈策略,不然只是精致的自娱自乐。

◍ EMD 在报价处理里的三种实战用法

EMD 本属希尔伯特-黄变换的前置步骤,但抛开瞬时频率谱不谈,它在 MT5 里最直观的用途是平滑序列和剥离趋势。拿 USDCHF 日线任取 100 根开盘价做分解,得到 4 个 IMF 加残差;丢掉第 1 个高频 IMF、将其余分量叠回残差,曲线明显变顺。若连前两个 IMF 都舍掉,平滑程度还会进一步加深。 另一路用法是基于 IMF 做预测外推。对每个 IMF 与残差分别跑 10 步线性外推再相加,就能拼出原序列的前瞻路径。图 7 用 USDCHF H4 演示时,主动弃掉第 1 个 IMF 的预测,高频噪声对结果的干扰被压住——不过这篇没做预测力回测,外汇品种 H4 周期下这种简化外推仅作方法示意,实盘高风险。 趋势剔除则更灵活:把残差或残差叠加末尾几个 IMF 视为趋势项,剔除时除最后 1~几个分量外全加起来即可。EURUSD 日线例子中,排除残差、首末 IMF 后求和,既去趋势又带轻度平滑。XAUUSD H4 取 150 根做分解(图 9 各分量自动缩放),可见 CEMDecomp.mqh 的参数设定能直接出可视图,贵金属报价同样适用此流程,但杠杆品种波动剧烈,分解仅辅助判形。

EMD 分解出的分量不是物理过程本身

经验模态分解(EMD)与希尔伯特-黄变换(HHT)本是为非静态、非线性数据设计的,但这不表示它们不能用于处理线性或静态序列。 多数分解算法把序列拆成若干分量,这些分量只是某种合成形式,并不等于生成原始数据的初始物理过程;EMD 也不例外。你绝不该认为 EMD 筛出的 IMF 反映了真实背后的物理机制,它们只是帮你看清输入序列结构、便于进一步分析的代理成分。 文中给出的 CEMDecomp 类实施仍需更多测试与改进,谈不上理想版本;其核心目的只是让你熟悉 EMD 方法及其在 MQL5 中的落地特点。随文附带的 CEMDecomp.mqh 与 EMDecomposition.zip(含完整测试案例)可直接在 MT5 里跑通验证。 外汇与贵金属市场属高风险领域,任何分解工具都只是概率层面的结构观察,不能据此直接推导价格方向。

「CEMD 类实现的附件与实时局限」

原文 2012 年 6 月 28 日发布,附录在 7 月 5 日补入,附带 CEMD_2.mqh(33.03 KB)与 emdecomposition.zip(89.17 KB)等文件,其中 CEMD 类给出另一种 EMD 分解路径,可在 MT5 的 Include 目录直接引用验证。 评论区有交易者指出 EMD 非因果:实时每增加一个 t+1 数据点,历史 IMF 分量几乎全变,甚至 IMF 数量都变,这使样本外回测若混入了未来数据就会失效,外汇与贵金属波动下这种重构偏移可能放大滑点风险。 想落地只需把 CEMD_2.mqh 丢进 MetaEditor 编译,接一组 XAUUSD 的 M5 收盘价跑一遍,对比追加新 K 线前后 IMF1 的差异;若偏差超过你策略容差,这类分解就倾向只做离线研究而非实时信号。

让小布替你跑这套
这些诊断小布盯盘的 AIGC 已内置,打开对应品种页即可看到 EMD 分量与残差的可视化,把重复劳动交给小布,你专注决策。

常见问题

可通过自定义指标调用分解结果,将各 IMF 与残差输出为独立缓冲区,挂在主图下方副图显示,便于对照价格行为。
端点效应与筛分停止准则会影响包络拟合,边界处尤其敏感,属正常现象,建议用较长样本并观察分量稳定性而非单次结果。
可以,小布盯盘对应品种页已内置 AIGC 诊断,会标出当前主导 IMF 与残差结构,省去手动核对的功夫。
倾向有用,贵金属跳空频繁,边界失真会污染前两段 IMF,用镜像延拓类处理可降噪,但高频环境仍要警惕过拟合。