QIANXIAODOU · STRATEGY RESEARCH

A/B 分档路由 · 个股用 B30 · ETF 用 A30

# A/B 分档路由 · 个股用 B30 · ETF 用 A30

2026-09-13 定版 · 全市场 3555 只(2020-02→2026-09)+ 22 只 ETF(2018-06 起)· 持有 30 日 · 灾难线 −30% · 成本双边 0.15%

> 2026-09-13 定版 · 全市场 3555 只(2020-02→2026-09)+ 22 只 ETF(2018-06 起)· 持有 30 日 · 灾难线 −30% · 成本双边 0.15%

KPI个股→B30净公平 Calmar 1.23(含状态仓位)每笔 +4.21% · 胜率 56.0% · 灾难线仅 3.8%
KPIETF→A30ETF 上完胜 B30每笔 +2.8% vs B30 +1.85%;跑赢死拿 16/21 vs 14/21
KPI口径修正已交付公式B 漏了清洗条件信号 12,548→57,139(4.5×),每笔 +4.21%→+3.20%
KPI接入每日扫描已就绪`python3 /root/.hermes/scripts/ab_daily_scan.py scan`
01
路由表
SECTION 01

## 01|路由表

标的类型策略买入条件(副图同口径)卖出仓位
个股B30 筹码跳升获利筹码 ≤30 + 单日跳升 ≥8pp + 量比 ≥1.0 + 主力清洗转进场持有 30 日到期卖;成本 −30% 灾难线单席 = 总资金/20 × 系数(牛 1.0 / 防守 0.7)
ETFA30 低位回升获利筹码 ≤30 + 环比回升 >0 + 量比 ≥1.2 + 主力清洗转进场同上同上

为什么不是反过来:

·ETF 上 B30 明显更差:22 只 ETF 里 A30 每笔 +2.8%、B30 每笔 +1.85% —— 指数的筹码不会一天跳 8 个百分点,「跳升≥8pp」条件在 ETF 上很少触发(B30 只有 121 轮 vs A30 的 235 轮)
·个股上 B30 更强:净公平 Calmar 1.23 vs A30 0.97;B30 信号少而精(12,548 笔 vs 30,446 笔),把仓位集中在最强时点;A30 信号太多,20 席一年只能装约 162 笔,97% 的信号用不上
02
口径修正(三处,必须知道)
SECTION 02

## 02|口径修正(三处,必须知道)

#问题影响处置
1上一篇公式B 漏了「主力清洗转进场」信号从 12,548 → 57,139(4.5 倍),每笔 +4.21% → +3.20%,Calmar 1.23 → 0.42本版公式B 已补上 `QL_A5>REF(QL_A5,1)`
2「当日筹码 ≤30」vs「前日筹码 ≤30」两种写法混用过前日口径信号 +2,924 个(当日口径 100% 落在前日口径内),每笔 +3.58%、Calmar 0.46统一用「当日 ≤30」(头条口径,已验证)
3组合曲线是否含状态仓位(牛1.0/防守0.7)含权重 Calmar 1.21;不含 0.86(B30×30日)生产口径含状态权重

诚实说明:我在 9/12 晚间的「B30 vs A30 具体差别」「风格分档」「ETF 测试」三份分析里用了「前日 ≤30」的变体,与头条 B30(当日 ≤30)不是同一口径。本报告已用正确口径重算全部数字;两份旧报告的相对结论(A30 逐笔质量更好、B30 组合更强)不变,但绝对数字以本报告为准。

03
四个口径的全市场对照(同一份数据)
SECTION 03

## 03|四个口径的全市场对照(同一份数据)

口径信号点轮次胜率每笔去尾10%−30%触发CAGR(中位)回撤Calmar
B30 当日(生产采用)14,22712,54856.0%+4.21%+2.78%3.8%21.1%-26.6%0.8
B30 前日(旧分析用)17,15114,95354.6%+3.58%+2.23%4.0%14.1%-29.9%0.46
B30 当日无清洗(误交付版)108,42957,13954.1%+3.2%+1.85%3.3%12.9%-31.7%0.42
A30(公式A)49,12630,44657.6%+4.0%+2.97%5.1%19.7%-29.1%0.69

注:本表 Calmar 为不含状态权重的净公平口径(随机分配×60 取中位);bt47 口径(含状态权重)下 B30 当日 = 1.23、A30 = 0.97

04
ETF 上四个口径对照(22 只,未复权)
SECTION 04

## 04|ETF 上四个口径对照(22 只,未复权)

口径覆盖 ETF轮次每笔胜率跑赢死拿
A30(生产采用)21 只235+2.8%51.9%16/21
B30 当日(个股口径)21 只121+1.85%47.1%14/21
B30 前日21 只144+1.15%45.8%13/21
B30 当日无清洗21 只347+0.88%49.9%17/21

分组表现(A30):防御红利最稳(每笔 +2.86%、胜率 69.0%、跑赢死拿 5/6);宽基次之(每笔 +4.93%);医药消费最弱(+0.69%)。

05
每日扫描接入
SECTION 05

## 05|每日扫描接入

脚本:`/root/.hermes/scripts/ab_daily_scan.py`

命令作用
`python3 ab_daily_scan.py scan`扫当前池(默认读生产持仓清单 `scan_holdings.json`),输出每只标的的信号状态
`python3 ab_daily_scan.py update`仅更新 K 线缓存(腾讯前复权,分段拉取避开 ETF/次新股的 640 根截断)
`python3 ab_daily_scan.py scan --pool `用自定义池(格式同 scan_holdings.json)

行为:

·自动识别 ETF 与个股(代码前缀)→ 分别套 A30 / B30,不需要配置
·数据源复用生产链路(`holdings_daily_scan.update_one` → `/tmp/etf_daily/*.csv`),口径与生产完全一致
·仓位系数取自 `risk_overlay`(上证 20 日 >+2% 牛 1.0 / <−4% 防守 0.7)
·持仓状态、到期卖出(30 日)、−30% 灾难线都写在输出里;状态存 `/root/.hermes/state/ab_scan_last.json`

2026-09-11 收盘实跑(8 只持仓):状态=牛/系数1.0,买入信号 0 个 —— 8 只全部不满足入场条件(英杰筹码 44.1、量比 1.00、清洗未;半导体设备 ETF 筹码 9.8、量比 1.19、清洗未)。

06
选股公式(通达信,复制即用)
SECTION 06

## 06|选股公式(通达信,复制即用)

个股 · B30(筹码跳升)

### 个股 · B30(筹码跳升)

```

QL_HLP:=WINNER(CLOSE)*100;

QL_JJ:=QL_HLP-REF(QL_HLP,1);

QL_LB:=V/REF(MA(V,5),1);

QL_A1:=REF((LOW+OPEN+CLOSE+HIGH)/4,1);

QL_A2:=SMA(ABS(LOW-QL_A1),13,1)/SMA(MAX(LOW-QL_A1,0),10,1);

QL_A3:=EMA(QL_A2,10);

QL_A4:=LLV(LOW,33);

QL_A5:=EMA(IF(LOW<=QL_A4,QL_A3,0),3);

XG:QL_HLP<=30 AND QL_JJ>=8 AND QL_LB>=1 AND QL_A5>REF(QL_A5,1);

```

ETF · A30(低位回升)

### ETF · A30(低位回升)

```

QL_HLP:=WINNER(CLOSE)*100;

QL_JJ:=QL_HLP-REF(QL_HLP,1);

QL_LB:=V/REF(MA(V,5),1);

QL_A1:=REF((LOW+OPEN+CLOSE+HIGH)/4,1);

QL_A2:=SMA(ABS(LOW-QL_A1),13,1)/SMA(MAX(LOW-QL_A1,0),10,1);

QL_A3:=EMA(QL_A2,10);

QL_A4:=LLV(LOW,33);

QL_A5:=EMA(IF(LOW<=QL_A4,QL_A3,0),3);

XG:QL_HLP<=30 AND QL_JJ>0 AND QL_LB>=1.2 AND QL_A5>REF(QL_A5,1);

```

下载版(UTF-8 BOM,避免中文乱码):[选股公式_AB分档_v2_20260913.txt](http://47.113.231.110/选股公式_AB分档_v2_20260913.txt)

07
局限
SECTION 07

## 07|局限

·ETF 用未复权数据(腾讯 qfq 对 ETF 只给 640 根);分红品种真实收益略高,两边同口径不影响相对结论
·变体对照只做了 60 次随机分配,Calmar 差异小于 ±0.1 的部分不可区分
·「个股用 B30」的优势来自 20 席口径下的实测;放大到 50 席以上时 B30 的信号量可能不够填满席位(需另测)
·灾难线 −30% 触发率 B30 3.8%、A30 5.1%,均为历史触发率,不代表未来

脚本 /root/ths_analysis/winner_test/{bt60_variants,bt61_etf_variants,make_report26}.py · 扫描器 /root/.hermes/scripts/ab_daily_scan.py · 生成 2026-09-13

Hermes Agent · 水墨·报纸风研究报告 · 2026-09-13 01:44