📘

从关联规则切入市场隐性结构

◍ 从关联规则切入市场隐性结构

在 MT5 里做价格行为挖掘,多数人盯的是单根 K 线或指标交叉,却忽略了品种间、时段间的共现关系。关联规则要解决的正是这类问题:当 A 事件出现,B 事件以多大概率紧随其后。 原文给出的系列文章背景是 2022 年 9 月发布于 MetaTrader 5 社区、阅读量 1 428 次的技术帖,作者 Dmitriy Gizlyk 把神经网络与关联规则结合,说明这类方法在零售交易者圈子里已有实盘讨论基础,而非纯学术玩具。 本小节只铺底:后续会拆解 Apriori 与 FP-Growth 两种算法如何把『欧元动、黄金跟』这类经验直觉,转成可回测的支持度与置信度数字。外汇与贵金属波动受杠杆与消息驱动,高风险,任何共现规律都只在特定行情阶段有效,需自行在 MT5 历史数据里验证。

「从超市篮筐到K线:关联规则能挖什么」

无监督学习这两年在量化圈走热,核心原因是历史 tick 和逐笔成交数据量膨胀,人工标注成本扛不住。前几篇我们拆过聚类与降维,这一节换条线:关联规则挖掘(Association Rule Mining)。 它最早是超市用来做市场篮子分析的——找出「买啤酒的人常顺手拿尿布」这类商品组合。现在这套逻辑被搬进不少非零售场景,包括交易。 思路直接平移:把每根 K 线或每段行情窗口看成一只「购物篮」,里面装着同时出现的指标状态或价格波动特征。跑关联算法,可能挖出「美盘开盘后金价站上 MA20 且 RSI<30,随后 4 小时内反弹概率偏高」这类隐含组合。外汇与贵金属杠杆高、滑点跳空频繁,这类规律只作概率参考,实盘前务必在 MT5 用历史数据自测。

关联规则怎么从噪声里捞信号

关联规则属于数据挖掘里最基础的一类方法,核心是在大样本里找出数据之间「经常一起出现」的关系。它最早来自零售 POS 流水分析:不再只看总销量,而是看顾客把哪些具体商品放进了同一个篮子。

  • 年 IBM 的开发组给出第一个算法,之后整族算法都建立在两个门槛参数上。第一个是最小支持率 MinSup,以 1 为底,表示某条规则出现次数占样本总业务数的比率。低于 MinSup 的规则被视为随机,直接丢弃。

组合爆炸是实打实的问题:3 个项 a、B、C 不考虑顺序就能拼出 7 个子集,项数一多,穷举重算频率在 MT5 历史样本里根本跑不动。算法用了抗单调属性——若单项 A 的频率已小于 MinSup,那所有含 A 的集合频率必然更小,所以只算单项频率就能砍掉绝大部分噪声集。 第二个参数是最小置信度 MinConf,也是 1 为底的分数。一条规则分前因和后果,格式是「前因为真时,后果通常也真」。置信度 = 规则执行次数 / 前因出现次数,只有 ≥ MinConf 才留进规则数组。注意后果概率从不是 100%,外汇与贵金属市场用这套筛关系时,样本偏差会导致规则失效,属高风险玩法,结论都只是「倾向」而非确定。

◍ 用 10 笔交易跑通 Apriori 的剪枝逻辑

Apriori 由 Agrawal 与 Srikant 在 1994 年提出,核心是靠「抗单调性」反复扫库找高频形态再提规则。把它套到一份 10 笔业务、5 项的小样本上,设最小支持率 0.3、最小置信度 0.7,能看清每一步怎么砍数据。 先转二元表:A 只出现 2 次,支持率 0.2 直接出局;B 0.6、C 0.7、D 0.8、E 0.4 留场。二项候选 BC/BD/BE/CD/CE/DE 扫完库,支持率分别是 0.5/0.4/0.3/0.6/0.4/0.3,全过线。 三项候选里 BDE 支持率仅 0.2 被剔;到四项阶段,唯一候选 BCDE 因子集 BDE 已死,按抗单调性其支持率不可能超 0.2,低于门槛,搜索停止。规则生成阶段用「形态支持率 ÷ 前因支持率」算置信度,例如 E->C 与 BD->C 置信度都是 1.00,而 D->B 只有 0.50 被丢。 别把扫描次数当小事。Apriori 每轮候选都要全表重扫,样本从 10 笔扩到实盘 tick 级数据库时,IO 开销会非线性膨胀,这也是它虽简单却在生产环境少用的原因。下一节要说的算法把遍历压到常数次。

「FP-成长如何用两遍扫描压住样本量」

FP-成长(频繁模式增长)解决关联规则挖掘里反复扫库的老问题:训练样本只被完整迭代两遍,此后算法不再回碰原始数据库。第一遍统计每项支持率,剔除低于 MinSup 的项,剩余项按支持率降序排成序列,例如 D(0.8)→C(0.7)→B(0.6)→E(0.4)。 第二遍建 FP 树:每笔事务只保留排好序的频繁项,从根(支持率最高)向叶(最低)建路径,节点计数器首轮置 1(或 1/N,N 为样本量)。后续事务若路径重合就累加计数器,不重合才开新分支。沿样本推进时新分支越来越少,树能把样本压缩到可全驻 RAM 的程度,这是它区别于 Apriori 的关键性能点。 规则判定完全在 FP 树上做。从叶往根走,取最低支持率项(如上例 E=0.4)回溯所有路径:DCBE(0.2)、DCE(0.1)、CBE(0.1),路径入选看「该项支持率 / 前一节点支持率」是否 ≥ 最小置信度。上例 E 的三条路径均不满足 MinSup,两条还破置信度,故无法由 E 出规则,删 E 叶后继续。 下一个叶是 B,路径 DCB(0.4)、B(0.1)、CB(0.1);选定路径后各项新支持率按「路径出现次数 / 原样本总数」重算,本例得 C(0.5)、D(0.4),顺序和数值都可能较初始树改变。据此建私有树,其分支为规则前因、B 为后果,建完即从原树删 B 叶——因叶节点删除不影响上层因果路径,树随之缩减,后续项搜索量下降。 只能对「非根节点」项出规则;根节点(如序列首项 D)无前因可参考,算法不为它生成规则。外汇与贵金属市场数据若套此框架做形态关联,需注意过拟合与样本非平稳风险,回测结论仅具概率意义。

下一篇才动真格写代码

这一节只交代了来龙去脉:前面聊的非监督学习里,关联规则挖掘是另一类问题,Apriori 和 FP-成长两种算法过了理论,但同型算法还有不少,一篇文章塞不下。 真正落地的部分留到后续——下一篇会用 MQL5 实际搭出关联规则挖掘算法,并拿实际交易任务测它的绩效效率。也就是说,当前这段还停留在纸面,开 MT5 验证要等代码出来之后。 外汇和贵金属市场高波动、高杠杆,这类挖掘算法即便上线也只是概率层面的辅助,别当成信号圣杯。

◍ 延伸阅读与版权边界

这一节列的是同作者和同站点的关联技术文,基本都围绕 MQL5 下的神经网络与数据处理:数据聚类(第十四至十六部分)、降维(第十七部分)、关联规则挖掘的无候选算法,以及 Ichimoku 交易系统设计和决策树分类等。对想自己跑模型的交易者,这些标题就是现成的验证入口——开 MT5 搜对应文章名,照着贴代码就能复现聚类或 LSTM 预测的实验环境。 原文标注由用户撰写、MetaQuotes 不对准确性负责,且明确禁止全部或部分转载。做贵金属或外汇策略时记住:这类第三方实现未经审计,回测好看不等于实盘能跑,杠杆品种的高风险不会因为用了神经网络就消失。 顺带一提,文末那套登录/注册表单和信号复制广告不是技术内容,只是站点留存入口;真要动手,从「该作者的其他文章」里挑一篇开干比填邮箱有用。

常见问题

可用关联规则把历史K线按涨跌状态离散化,统计品种间同涨同跌的组合频率,频率高的组合就是隐性联动结构。
支持度看组合出现次数是否够多,置信度看前件出现时后件发生的概率;两者都低的基本是噪声,别拿来下单。
可以,小布能直接对持仓品种做关联扫描,把高支持度组合和置信度结果推到对应页面,省去手动算的过程。
会,阈值设太高容易误杀低频但有效的模式,建议先用10笔交易跑通逻辑再放宽参数观察。
FP-成长只扫两遍数据、不反复生成候选项,样本大时更稳;想认真挖结构就值得,不然用基础统计也够用。