使用贝叶斯分类和基于奇异频谱分析的指标预测市场走势(基础篇)
「用贝叶斯与SSA给MT5做走势预判」
贝叶斯分类能把历史行情状态映射成概率分布,奇异频谱分析(SSA)则把价格序列拆成趋势、周期与噪声分量,两者结合可在MT5里做下一步走向的概率估计。 原文作者在 2017-07-17 发布的这套思路,在站内有 8243 次浏览与 38 条讨论,说明老交易者对非传统滤波方法一直有刚需。 实盘前先在策略测试器里用 2015—2017 年 XAUUSD 的 M15 数据回放:SSA 提取的前三个主分量通常能覆盖约 70% 的价格方差,剩下当噪声剔除,再用贝叶斯对‘分量扩张 / 收缩’状态贴标签训练。 外汇与贵金属杠杆高、跳空频繁,这类概率模型只给倾向信号,不开仓建议,一切以 MT5 回测与实盘验证为准。
为什么短线波动逼出了算法交易
如今算法交易在证券交易所约占 60–70% 成交量,在 FORTS 与外汇市场逼近 90%。短线波动极度活跃,传统的“买入并持有”在实盘里基本失效,主动型算法成了主流选择。 外汇与贵金属杠杆高、波动快,被动持仓一旦遇到跳空或数据行情,回撤往往超出承受范围。把交易拆成可重复的系统规则,才有可能在失败单可控的前提下提高胜率。 有一种思路是把奇异频谱分析(SSA)的预测能力,和贝叶斯机器学习结合起来做推荐系统。它不靠主观假设,纯用统计建模,优点是你清楚方法在哪段行情会失灵。 开发这类系统时,我们重点看 5 分钟到 1 小时周期。教科书里的统计方法偏爱小时、日线,因为混沌成分少;但那种尺度对个人投机几乎用不上,真正落地还是得在小周期里找边界。
◍ SSA 怎么拆价格序列并往外推
SSA 能干的活很具体:把时间序列里的趋势、周期波动和振荡这些主成分拆出来,同时把噪音滤掉;还能搜周期、用限定成分集做平滑,以及基于已分离成分预测后续走势。处理非平稳序列时它是少数还能用的统计手段,市场价格就是典型——里面混着趋势、爆发和脉冲排布,并非纯随机。 假设价格大部分时间受若干独立非随机力量驱动、只是强度和持续时长不同,就能用「不同尺度分量相加」的模型去套。直到最近,SSA 没像 FFT 那样普及,主因是缺快速算法;现在这类算法已经做出且有效性被证明,计算门槛下来了。 预测时走的是隐藏周期性路线:先把序列分出分量,按分析期内各分量的行为参数往外延展再求和。预测质量完全取决于初始分量集还原原始数据的好坏。对乱抖的混沌序列不靠谱,但在稳定因素主导、噪音偏小的价格上还算合理。 外汇和贵金属属高风险品种,波动受突发消息与主力干预大,SSA 预测只作概率参考,不能当方向定论。交易极不活跃的品种别靠统计——偶然因素和主力动作不可预知且危险。
「三指标协同把方向误判压到五到七分之一」
单独靠趋势预测价格,方向踩错的次数并不少。图例 6 里仅用 SSA 快速趋势预测,在约 1000 根 K 线的滚动回测上,短期预测指东、价格走西的反向误差相当密集,说明平滑掉高频振荡后,拐点响应天然滞后。 把 SSACD(MACD 改版,信号线用 SMA(4) 且做归一化防延迟)和 SSA 随机振荡器拉进来,规则很直接:趋势导数落在 EPS=0.25 半径内判震荡;(MACD-Signal) 大于 0 倾向涨、小于 0 倾向跌;随机指标预测值导数同理。三者在每根 bar 上独立给方向,一致才采信。 验证用了跨品种跨周期不动参数的历史片段:GOLD 的 M5/M15/H1、BRENT 的 M5/M15、Si-USD/RUB 的 M15、EUR/USD 的 M15,每个序列长约 1000 点逐根迭代预测。图例 5 到 8 的对照显示,三指标协同后,粗略方向误判数量相比单用趋势不超过协定值的 1/5 到 1/7。外汇与贵金属杠杆高、滑点突发行情多,这种组合只降低概率层面的错向,不消除风险。 落地时先把三款指标参数照原文固定:趋势版 N=256 滞后 N/3、高频限 0.25;SSACD 版 N=512 滞后 N/4、快 0.4 慢 0.6;随机版 N=256 滞后 N/4、%K 0.3 %D 0.6,预测都接 MA(3) 平滑。开 MT5 挂同一组参数跑 EUR/USD M15,数一眼图例 6 和 8 的误差带差异,比看任何说明都快。