指标同源性:20 个指标里有几个是独立的
加上第三个指标,信号占比只从 37.3% 变成 36.8%,超额一点没变
"多指标共振"是最有说服力的说法之一:均线金叉 + MACD 转正 + RSI 站上 50——三个独立的指标同时看多,总不会都错吧?
我们把它做成实验。三个条件逐个叠加,看每一步带来什么:
| 条件 | 信号占比 | 10 日超额 |
|---|---|---|
| ① MA20 上方 | 49.4% | +0.125pp |
| ①+② 加 MACD_DIF > 0 | 37.3% | +0.222pp |
| ①+②+③ 再加 RSI14 > 50 | 36.8% | +0.222pp |
加上第三个指标,信号占比只从 37.3% 降到 36.8%,超额一个小数点都没变。
第三个条件几乎没有排除掉任何东西——因为它和前两个,本来就是同一件事。
这一节把 20 个常见指标放进同一个相关矩阵和 PCA 里,算清楚:你以为的多条证据,到底是几条。
你想确认外面是不是在下雨,于是查了三个来源:天气预报 App、手机自带天气、浏览器搜索天气。
三个都说下雨。你放心了——三重确认。
但这三个来源,可能都是从同一个气象数据源抓的。你以为查了三遍,其实只查了一遍,查了三次。
一、20 个指标的相关矩阵
我把四节讲过的指标全部标准化后放在一起:MA 乖离(4 个周期)、MACD(DIF/柱)、RSI(3 个周期)、KDJ(K/J)、ATR 比、布林位置、布林带宽、历史波动、相对成交量、OBV 斜率、量价相关、动量(20/60 日)——共 20 个,50 只标的,192127 个观测。
指标对数 400,平均绝对相关 0.437,中位 0.428
|相关| > 0.8 的指标对:23 对
|相关| > 0.9 的指标对:5 对
相关度最高的 10 对:
| 指标 A | 指标 B | |r| |
|---|---|---|
| RSI14 | RSI24 | 0.962 |
| RSI6 | BOLL 位置 | 0.942 |
| MA60 乖离 | MACD_DIF | 0.925 |
| ATR 比 | 历史波动 20 | 0.914 |
| RSI6 | RSI14 | 0.904 |
| KDJ_K | KDJ_J | 0.897 |
| RSI14 | BOLL 位置 | 0.893 |
| MA10 乖离 | MA20 乖离 | 0.877 |
| MA60 乖离 | RSI24 | 0.876 |
| RSI6 | KDJ_K | 0.865 |
同族指标高度相关不奇怪(RSI14 与 RSI24 是 0.962,理所当然)。真正值得注意的是跨族的那几对:
- RSI6 ↔ 布林带位置:0.942——一个是"动量指标",一个是"波动指标",在教科书里分属不同章节。但它们测的都是"当前价格相对近期分布的位置"
- MA60 乖离 ↔ MACD_DIF:0.925——一个是"趋势偏离",一个是"两条 EMA 之差",数学上本来就是近亲
- ATR 比 ↔ 历史波动 20:0.914——两种波动度量,想也知道
这解释了 p2.2 和 p2.3 那个"巧合":RSI 与布林带给出同一个方向的结论,不是两条独立证据互相印证,是同一条信息被数了两遍。
二、PCA:真实的信息维度有几个
| 主成分 | 解释方差 | 累计 |
|---|---|---|
| PC1 | 51.8% | 51.8% |
| PC2 | 15.2% | 67.0% |
| PC3 | 10.0% | 77.0% |
| PC4 | 5.2% | 82.2% |
| PC5 | 4.1% | 86.3% |
| PC6 | 3.6% | 89.8% |
| PC7 | 3.0% | 92.9% |
| PC8 | 2.1% | 95.0% |
- 解释 80% 方差:4 个主成分
- 解释 90% 方差:7 个主成分
- 解释 95% 方差:8 个主成分
第一主成分一个人就占了 51.8%。20 个指标里,有一半以上的变化,是同一个东西在动。
你以为在用 20 条独立证据,信息维度其实只有个位数。
🔧 动手做:加第三个"确认"指标,到底有没有用?(6 分钟)
"多指标共振"听着很稳:趋势 + 动量 + 量能都确认才出手。跑 python indicator_redundancy.py,亲手加上第三个指标看看。
你会看到(实测):20 个指标 400 个配对,平均绝对相关 0.437,有 23 对相关性超过 0.8——它们大量重复。所以加上第三个"确认"指标后,信号占比只从 37.3% 变成 36.8%,超额收益一点没变。
想明白:大多数技术指标是同一批价格的不同变换,彼此高度相关——PCA 一算,真实的信息维度远小于指标个数。"三个指标共振"给你的不是三份独立证据,只是把门槛抬高了一点,证据还是那一份。多指标叠加的安全感,基本是错觉。
三、共振实测:证据变多了,还是只是门槛变高了
| 条件 | 信号占比 | 10 日均值 | 基准 | 差值 | t 值 |
|---|---|---|---|---|---|
| ① MA20 上方 | 49.4% | 0.683% | 0.558% | +0.125pp | 3.80 |
| ② MACD_DIF > 0 | 49.1% | 0.634% | 0.558% | +0.076pp | 2.26 |
| ③ RSI14 > 50 | 49.0% | 0.664% | 0.558% | +0.106pp | 3.17 |
| ①+② 同时 | 37.3% | 0.779% | 0.558% | +0.222pp | 5.87 |
| ①+②+③ 三重共振 | 36.8% | 0.780% | 0.558% | +0.222pp | 5.84 |
两个观察:
第一,①+② 确实有提升。从单个指标的 +0.076~+0.125pp,提升到 +0.222pp。两个指标叠加,信号更强了。
第二,加第三个指标,什么都没发生。信号占比 37.3% → 36.8%(只排除了 0.5% 的样本),差值 +0.222pp → +0.222pp(小数点后三位都没变),t 值甚至略降。
第三个指标不是"锦上添花",它是"什么也没做"。
原因就在第一节那张相关表里:RSI14 与 MA/MACD 高度同源。当 MA20 上方且 MACD_DIF > 0 时,RSI14 > 50 几乎必然成立——它排除不掉任何东西。
而你为它付出了什么?
- 多一个参数要维护(RSI 的周期、阈值)
- 多一个实现分歧的入口(p2.2:Wilder vs 简单均值,信号次数差 2.7 倍)
- 多一份"我做了充分验证"的心理确认——这是最贵的一项
"共振"给你的是心理上的确认感,不是统计上的新信息。
而在 P3.4 你会看到更糟的一面:每多一个指标,你的参数搜索空间就乘上一个维度。20 个指标各配 3 个参数,搜索空间是天文数字——在那么大的空间里,你必然能找到一组"历史上很赚"的组合,而它几乎肯定是噪声。
四、那该怎么办
不是"只用一个指标"。而是:
- 先算相关矩阵——把 |r| > 0.8 的指标合并成一个,别重复计数
- 跨族选取——要用多个指标,就从不同主成分方向上选(比如一个价格位置类 + 一个波动类 + 一个量能类),而不是三个都是价格位置的不同写法
- 报告独立维度数,而不是指标个数——"我用了 12 个指标"不是卖点,"这 12 个指标覆盖了 5 个独立维度"才是
- 每加一个指标,先证明它排除掉了什么——像本节这样,看信号占比和超额有没有真的变化
📌 免责:本课为技术教学,所有统计为历史模拟,不构成投资建议;标的为沪深300 成分股按代码序取样,非精选。
这一节回答了前四节留下的疑问:
- 平均绝对相关 0.437,23 对指标 |r|>0.8,5 对 >0.9
- 跨族同源最惊人的一对:RSI6 ↔ 布林带位置 = 0.942——教科书里分属两章,测的却是同一件事
- PCA:PC1 独占 51.8%,20 个指标只需 7 个主成分就能解释 90% 方差
- 共振实测:加第三个指标,占比 37.3%→36.8%,超额 +0.222pp→+0.222pp,边际贡献为零
所以 p2.2 与 p2.3 那个"两个指标给出同一结论"的巧合,不是互相印证,是重复计数。
四条处方:算相关矩阵合并同源、跨族选取、报告独立维度数、每加一个指标先证明它排除了什么。
下一节离开技术指标,进入基本面因子:估值、盈利、成长、健康四大类。而它们全部要建在 p1.7 那张 PIT 表上——否则你算出来的每一个因子值,都提前知道了业绩。
🔎 来源与核验· 4 条,点开核对
