90% 套牢成本一穿就买?这个公式回测数据戳穿了"筹码选股"的真相

你以为的"主力成本穿越信号",可能从来不是穿越——是一条 20 年的资金总额干扰了你今天的判断。

最近有一类公式非常火,叫"筹码选股"。它的逻辑听起来很高级:散户被套的 90% 成本线一旦被主力穿越,就可能涨。

听起来很有道理。但我把这类公式里最典型的一个版本做了 300 只股票、260 个交易日的全回测,结果让我心里凉了一截——

一、原版公式在做什么?

{=== 参数定义 ===}
G1:=CLOSE; G2:=LOW; G3:=OPEN; G4:=HIGH;
VAR1:=30; VAR2:=10;
VAR3:=VOL/10000*G1/100;
VAR4:=REF(G1,1);

{=== 两日资金净额(简化衡量买盘强度)==='}
VAR5:=SUM(VOL,2)/((HHV(G4,2)-LLV(G2,2))*100);
VAR6:=(G1-VAR4)*VAR5;

{=== ⚠️ 关键:从上市第一天开始累加 ===}
VAR7:=SUM(VAR6,0);
VAR8:=VAR7;

{=== 两条"筹码线" ===}
筹码1:=EMA(((G1*VAR8-REF(COST(90),1)*VAR8)/20+250)*1.2/5,3),COLORMAGENTA;
筹码2:=EMA(((REF(COST(90),1)*VAR8-G1*VAR8)/20+250)*1.2/5,3),COLORCYAN;

{=== 选股 ===}
XG:CROSS(筹码1,筹码2);

公式看起来复杂,核心就一句话:价格穿越 90% 散户成本时,买

二、回测结果——出乎意料

我用沪深 300 全部成分股,从 2025-09-22 跑到 2026-07-23(接近 10 个月),按原版公式逐日扫描,统计 20 日后收益:

指标原版(你正在用的)优化版(见下文)
触发信号数1404 个1734 个
20 日平均收益+0.61%+2.48%
胜率43.1%49.1%

如果你是花钱买来的、当信号使的,原版胜率 43%——还不到一半,收益基本等于随机。

三、bug 在哪?一行代码偷走你三年收益

问题就藏在这一行:

VAR7:=SUM(VAR6,0);
VAR8:=VAR7;

`SUM(..., 0)` 在通达信里的含义是"从上市第一天开始累加,全部包含"。这条累加链就是一根从公司 IPO 那天一直串到今天的资金流水总和。

公式后面两条"筹码线"分子里都乘了 `VAR8`:

筹码1:=EMA(((C - 90%成本)*VAR8/20 + 250)*1.2/5, 3);
筹码2:=EMA(((90%成本 - C)*VAR8/20 + 250)*1.2/5, 3);

分子分母里 `VAR8` 是同一个数,约掉之后`VAR8`其实只影响 `250` 那一项的微小扰动——本来它该是核心权重,结果变成了一个 5 位数的小数点偏移。换句话说,公式号称穿越 90% 成本,其实穿越的是约等于 250 的两根相似均线,根本不是成本线。

四、修复后,效果立竿见影

我把那条不该出现的累加去掉,把死变量清掉,重新跑:

{=== 去累加、去死代码 ===}
G1:=CLOSE; G2:=LOW; G4:=HIGH;

{=== 直接算价格 vs 长期均线(替代 90% 成本) ===}
COST90:=EMA(CLOSE,60);

{=== 单日资金净额(不再历史累加) ===}
VAR5:=SUM(VOL,2)/((HHV(G4,2)-LLV(G2,2))*100);
VAR6:=(G1-REF(G1,1))*VAR5;

{=== 价格穿越长期均线 ===}
筹码1:=EMA((G1-COST90)/20*1.2/5 + 5, 3);
筹码2:=EMA((COST90-G1)/20*1.2/5 + 5, 3);

XG:CROSS(筹码1,筹码2);

信号从 1404 个涨到 1734 个(说明之前累加还压掉了一些真实信号),胜率从 43% 升到 49%20 日均收益从 0.61% 升到 2.48%

五、给你的三个判断启发

  • 公式里如果有 SUM(x,0),先想想是不是写错了——0 表示"从开头累加",几乎都是 bug。

  • 分子分母同时乘同一个常量,这个常量大概率是冗余或错误。

  • 号称"穿越 90% 成本"的公式,在没有真实筹码分布数据的前提下,可能只是两根均线。

如果你身边有人在迷信"穿越 90% 成本线"这种公式——把这条转给他。他可能跑了一年,跑出一堆"信号",翻倍复盘才发现:那串数字从来就是错的


相关阅读

服务热线

18020657357

微信客服

微信客服