神经网络变得简单(第 91 部分):频域预测(FreDF)·综合运用
📡

神经网络变得简单(第 91 部分):频域预测(FreDF)·综合运用

(3/3)· 前两层铺垫了频域降自相关的原理,这一层直接跑测试、收口并附全套程序

实战向 第 3/3 篇
直接预测范式默认多步输出互相独立,可真实价格序列的自相关并不会因模型假设而消失。把标签硬塞回时域优化的团队,往往在回测里就吃掉隐性的偏态误差。用频域正交基先对齐再训练,是绕开这道错位最省力的入口。

「EURUSD H1 上的训练与样本外验证」

模型训练分两阶段走。先用 EURUSD、2023 年、H1 历史数据训编码器,按 NForecast=12 横向预测后续 12 根蜡烛的环境状态;重点不是把每个指标预测得最准,而是逼出信息量最密的潜在空间,给后续价格演化留编码。 第二阶段交替跑演员-评论家迭代并更新数据集,找最优动作策略。编码器训完对比无 FreDF 的同类模型,预测误差有缩小,但没做图形比对,实际品质只能靠潜在空间信息量间接判断。 样本外直接用 2024 年 1 月真实数据在 MT5 策略测试器跑,品种、周期、指标参数与训练完全一致。49 笔交易里 21 笔盈利,胜率 43%,但平均盈利约为平均亏损的 2 倍,盈利因子 1.43,当月权益曲线净增约 19%。外汇品种杠杆高、滑点跳空频繁,该结果仅代表特定时段样本,切换年份或周期可能失效。 想复现就先把 NForecast 改成自己容忍的 horizon,EURUSD 之外换 XAUUSD 时记得重采训练集,潜在空间维度别照抄。

MQL5 / C++
class="macro">#define         NForecast              class="num">12              class=class="str">"cmt">//Number of forecast

◍ 频域对齐带来的实测增益

FreDF 的核心改动很小:在频域里把预测序列和标签序列做对齐,而不是沿用默认 DF 范式只在时域比对。原文作者指出,旧范式忽略标记序列的自相关性,会直接造成似然乖离和预测品质恶化,这一步对齐相当于把自相关结构补回损失函数。 我们在 MQL5 里给之前搭的 FEDformer 补了这段逻辑,并在相同数据、相同训练轮次下重跑。测试结果显示,其它条件不变时,加入 FreDF 后模型效率确有提升——这不是调参运气,而是频域对齐消除了原先的似然偏差。 值得留意的是,FreDF 不绑死某一类模型或变换,它和多种预测 backbone 兼容。对外汇与贵金属这种高波动、强自相关的品种,用 MT5 跑一遍你手头的时序模型加这个补丁,可能比换大模型更划算,但杠杆品种高风险,回测通过不等于实盘稳健。

记住这一条就够了

这套 LSTM 预测工程在 MT5 里拆成了八个文件:六个 EA(Research、ResearchRealORL、Study、StudyEncoder、Test 及前文未列的收集类)加两个核心类库 Trajectory.mqh 与 NeuroNet.mqh,另带一份 NeuroNet.cl 跑 OpenCL 加速。压缩包 MQL5.zip 约 1240.5 KB,下载后直接丢进 MetaEditor 编译即可看到完整调用链。 真正落地的关键只有一句:先跑 Research 类 EA 把行情状态按 Trajectory 结构存成样本,再用 Study 系列训网络,最后用 Test 在品种历史里验证命中率,外汇与贵金属杠杆高、滑点突变频繁,任何模型输出都只是概率倾向而非确定性信号。 剩下要做的无非是打开 MT5 把 ZIP 解到 Include 和 Experts 目录,选一个低频货币对用 2020 年后的数据重跑一遍 Test,看回测曲线是否过拟合——这一步不做,前面读再多都是空转。

让小布替你跑这套频域对齐诊断
这些诊断小布盯盘的 AIGC 已内置,打开对应品种页即可看到预测残差在频域的衰减曲线,把重复劳动交给小布,你专注决策。

常见问题

倾向有明显影响。傅里叶投影依赖整段窗口的周期性结构,过短窗口会丢失低频分量,正交基对齐效果减弱,回测 MSE 可能偏高。
程序提供的是频域预测框架原型,外汇贵金属属高风险,实盘前需在模拟环境验证参数稳定性,不能直接视为就绪策略。
DF 把每步当独立任务算误差,但标签序列步骤间实际相关,似然函数假设与数据特征错位,优化方向偏离最大似然,参数易偏。
可以。小布在品种页的 AIGC 诊断里分解预测残差的频谱,高亮主导误差的频率区间,省去手动跑 FFT 比对。
FreDF 正交变换计算更轻,倾向在低延迟场景占优;自关注动态评测更灵活但算力开销大,具体看品种波动结构。