在MQL5中相关性分析的要素:皮尔逊卡方独立性检验和相关比率(基础篇)
📘

在MQL5中相关性分析的要素:皮尔逊卡方独立性检验和相关比率(基础篇)

第 1/2 篇

◍ 用皮尔逊和卡方给品种关系定性

在 MT5 里做相关性分析,先得认清楚两种常用武器:皮尔逊相关系数和卡方独立性检验,外加一个相关比率(correlation ratio)用来补皮尔逊只看线性的短板。皮尔逊衡量两列连续变量的线性共动,卡方独立性检验则针对分类变量,判断两个品种状态分布是否独立。 相关比率 η 能捕捉非线性单调或分组关联,比如黄金与美指在避险段的阶跃式联动,皮尔逊给不出这种结构。实际写指标时,若样本来自不同波动 regime,单看皮尔逊 r 会低估真实依赖,建议同时输出卡方 p 值和 η。 外汇与贵金属杠杆高、跳空频繁,这类统计关系随时可能因央行事件断裂,结论只代表历史样本窗口内的概率倾向,不能直接当方向押注。开 MT5 新建自定义指标,把双品种收盘价序列喂进下列函数即可自测。

「相关系数在价格增量上的盲区」

讨论价格增量之间的依赖关系时,单纯算一个相关系数很容易让人误判。相关系数只刻画线性关联,对非线性结构无能为力;更麻烦的是,当样本分布偏离正态时,即便系数接近 0,也不能断言两者独立。 以股票价格或贵金属 tick 增量为样本,这类序列往往厚尾、非正态。此时零相关不等于无依赖,直接用 Pearson 相关系数筛品种配对会漏掉大量非线性耦合。 要回答“是否真独立”,得先定义独立性检验标准。后续会用到皮尔逊卡方独立性检验,同时引入一种能提示非线性相关存在的数值特征,作为相关系数的补充判据。

用分布函数拆穿价格增量的耦合

把两段行情的价格对数增量看作二维随机变量 (X, Y),其联合分布 F(X, Y) 通常拿不到解析形式。要验证「两者独立」这个零假设 H0,本质就是检验 F(X, Y) 是否等于边缘分布的乘积 F(X)*F(Y);只要联合分布明显偏离乘积结构,独立性就被证伪。 实战里 X 和 Y 可以是一只欧系货币对与黄金的价格对数增量,也可以是同一品种相邻两期的增量。MT5 里用 MathLog 取价格对数再做差分,就能构造这两个序列,之后跑 Copula 或卡方检验看偏离度。 外汇与贵金属杠杆高、跳空频繁,增量分布常带厚尾,独立性假设在很多时段会直接破裂,切忌默认两段行情互不干扰。

◍ 用列联表跑卡方独立性检验

皮尔逊卡方独立性检验不仅能处理离散变量,连续变量只要先做区间分组也能用。做法是把 X 分成 i 个互不重叠区间 A1…Ai,Y 分成 j 个区间 B1…Bj,二者交叉出 i*j 个单元格,所有落点计数后写成列联表。 表里几个量要分清:nij 是实际落入 Ai∩Bj 的观测对数,ni. 是第 i 行合计,n.j 是第 j 列合计,N 是总样本量。检验统计量 CHI2 = Σ((实际-期望)^2 / 期望),自由度 v=(i-1)(j-1)。 期望频数按独立假设推算:若 X、Y 独立,则 P(Ai,Bj)=P(Ai)·P(Bj),两边乘 N 后得到单元格期望 Expected = (ni. * n.j)/N。也就是说,某格期望命中数等于该行合计乘该列合计再除以样本总量。 在显著性水平 α 下,若算出的 CHI2 超过自由度为 v 的卡方分布临界值,就拒绝独立原假设,认为两变量可能有关联。实际频数和期望差得越大,非独立的概率倾向越高。外汇与贵金属市场数据用此法前先分组,高杠杆品种误判关联会带来高风险,建议在 MT5 用历史 tick 先小样本验证分组边界。

常见问题

用皮尔逊相关系数算它们价格增量的线性关联,再跑卡方独立性检验看分布是否耦合,两者都显著才算真相关。
收盘价包含趋势累积,掩盖了单根K线的增量关系;应在价格增量上算相关,才能暴露短期联动盲区。
小布可自动对选中品种跑皮尔逊与卡方检验,直接标出耦合品种和独立品种,省去手写统计代码。
把两品种价格增量按涨跌区间分箱,频数填入行列交叉表,套卡方公式即可;样本超30格基本能出结论。
相关比率不要求线性,能抓曲线依赖;皮尔逊只测直线,遇到U型联动会误判为无关。