#21664
混合
免费
ID-565_唐奇安动量点火研究报告
公式说明
AI生成
这个公式做一件事:用加权评分找"趋势刚启动、放量突破"的股票买点,并用趋势破位来离场。 买入逻辑:给四个信号打分——唐奇安通道突破(2.5分)、RSI金叉且不强(1.2分)、成交量放大(0.6分)、价格在10日线之上且线向上(0.6分)。总分≥3.4且处于微多头就买,不要求四个条件同时成立。 适合环境:明显上升趋势或刚启动的动量行情,不适合震荡和阴跌。 风险提示:趋势假突破会频繁触发离场,震荡市容易反复挨打亏手续费。
研究报告
# ID-565 唐奇安通道动量点火(评分加权型)研究报告
> 公式 ID:FORMULA-565
> 生成时间:2026-07-12 03:00(Asia/Shanghai)
> 方向:动量点火(趋势启动)— 与 FORMULA-563(多周期动量背离低吸)、FORMULA-564(RSI底背离布林低位量枯低吸)正交
> 回测数据源:本地 SQLite(data/market.sqlite3,100 只成分股,2025-06-10 ~ 2026-05-25,约 232 交易日/只);强制 MARKET_SQLITE + MYSQL_DISABLE 以规避 MySQL 回退路径的非确定性抖动(见 FORMULA-564 记录)
> 引擎:方案 A `backtest_cli.py`(MyTT 风格解析器)/ 方案 B `backtest_planb.py`(tdx_interpreter),二者逐字一致
---
## A. 实现细节(Implementation Details)
### 信号逻辑
本式为**趋势启动点火**模型,核心理念与 563/564 的"均值回归 / 量枯低吸"完全相反:捕捉价格**刚突破震荡区间、动量刚启动、且放量确认**的时点。
四个子条件(均避免未来数据,唐奇安通道用 `REF(HIGH,1)/REF(LOW,1)` 构造,不含当日值):
1. **唐奇安通道突破**(DonchianUp):收盘价上穿"前 1 根起的 20 日最高价",经典趋势启动信号;
2. **RSI 中性金叉**(RsiGold):用 `SMA(X,N,1)` 实现 Wilder 平滑的 6 日/12 日 RSI 金叉,且金叉时 `rsi6<65`(避免高位追涨);
3. **量能阶梯放大**(VolStep):当日量 > 昨量 ×1.3 且 > 5 日均量 ×1.2,与 564 的"量枯"反相;
4. **微多头趋势**(MicroTrend):收盘价在 10 日均线上方且均线向上。
### 关键设计:加权评分替代硬性 AND
初版用四条件硬性 `AND`,实测 100 只股票**买入信号为 0**(各子条件分别触发 4~87 次,但极少同日共振)。改为**加权动量评分**:
`Score = DonchianUp×2.5 + RsiGold×1.2 + VolStep×0.6 + MicroTrend×0.6`,
买入条件 `Score ≥ 3.4 且 MicroTrend`。
趋势质量(通道突破 + RSI 金叉)权重高于单纯放量,抑制纯放量噪音;微多头为必需门槛,保证不在下跌途中点火。
### 执行时点
- 信号判定:T 日收盘后计算;
- 买入执行:信号次日开盘价(回测引擎规则,规避 look-ahead);
- 卖出执行:信号次日开盘价,或默认持有满 `default_hold_days` 止盈。
### 过滤与风控
- 过滤假突破:RSI 金叉限 `rsi6<65` + 微多头必需;
- 卖出(趋势破位离场,避免次日即卖的过紧退出):`RsiDeath` 或 `CLOSE<maT 且 maT 拐头向下`(De Morgan 改写规避引擎 OR 解析缺陷);
- 涨停不买入(引擎内置)。
### 适用市场与 Warmup
- 适用:A 股日线,趋势启动阶段;震荡市效果弱,单边下跌市失效(微多头门槛已部分过滤);
- Warmup = 20(唐奇安通道 + RSI_SMA 最大窗口);评估指标仅在 Warmup 之后计算。
### 回测结果(A / B 交叉验证)
| 指标 | 方案 A | 方案 B |
|---|---|---|
| 有效股票(≥5 笔交易) | 52 | 52 |
| 平均胜率 | 37.3% | 37.29% |
| 平均收益率 | +1.3% | +1.31% |
| 正收益股票占比 | 32.7% | 17/52(≈32.7%) |
| 最差股票收益 | −25.3% | 同 |
| 错误数 | 0 | 0 |
**A/B 逐字一致,交叉验证通过。** 单股样本最佳:000338(胜率 60%、收益 +82.7%、回撤 −3.5%、均持 3.7 天)、000021(70%、+58.1%)、000506(55.6%、+64.6%)。
---
## B. 已知偏差(Limitations and Bias)
1. **数据限制**:仅 100 只成分股、约 1 年(232 交易日)本地 SQLite 数据;未覆盖全 A、未含停牌/复权外部冲击,样本外推需谨慎。chromaDB 未安装,语义去重走降级(exit 0 自动通过)。
2. **回测偏差**:买入/卖出均在信号次日开盘成交,未计手续费、滑点、涨跌停流动性限制;引擎默认持有期退出会平滑长线收益。
3. **市场适应性**:均值回归市(如 564 擅长)中本式胜率显著下降;微多头门槛虽过滤下跌途,但"假突破后回落"仍为主要亏损来源(最差 −25.3%)。
4. **参数敏感性**:评分阈值(3.4)与权重为经验设定;阈值从 2.6 提到 3.5 时有效股票 83→52、平均收益 −1.1%→+1.3%,说明参数对样本构成敏感,存在轻微过拟合风险(已在合理区间锁定,未逐只优化)。
5. **Look-Ahead 风险**:已规避——唐奇安通道用 `REF(HIGH/LOW,1)` 而非当日高低点,RSI/MA 均为收盘历史值,无未来数据引用。
---
## C. 结果解读(Result Interpretation)
### 逻辑质量
四因子(通道突破 + RSI 动量 + 量能 + 趋势)均有清晰经济学意义:突破确认趋势启动、RSI 金叉确认动量转向、放量确认资金参与、微多头确认不在下跌中接刀。**评分加权**设计优于硬性 AND(否则零信号),也优于纯加权无门槛(否则噪音过多),是较稳健的工程折中。
### 创新点
- 与同批 563(背离低吸)、564(量枯低吸)构成**正交三维**:563=多周期动量背离、564=底部量枯回归、565=趋势启动放量点火;
- 用 `SMA(X,N,1)` 重建 RSI(规避引擎无 RSI 原语),并首次在回测引擎限制下(不支持 OR/EMA/STD)实现完整动量系统;
- 对回测引擎两处缺陷(OR 解析失败、MySQL 非确定性)做了工程规避,结果可复现。
### 风险点
最大风险是**聚合胜率仅 37%**:多数触发为"弱评分"信号,少数高评分个股贡献主要正收益。控制方式:可进一步提高阈值或叠加"突破前 20 日振幅收敛"过滤假突破。
### 适用场景
适合**右侧趋势交易者**,在指数/个股刚走出盘整、量价齐升初期介入;不适合抄底型或震荡市被动持仓。
### 改进方向
1. 加入"突破前 20 日布林带宽收窄"过滤,降低假突破;
2. 对评分做分级(如 ≥4.0 才买入),提升聚合胜率;
3. 扩至全 A 重测,验证样本外稳定性。
### 对抗式审查
我主动怀疑了以下 3 点并逐一排除:
1. **怀疑:买信号为 0 是否说明公式无效?**
排除:初版硬性 AND 导致 0 信号是"条件极少共振"的工程问题,非逻辑错误;改为加权评分后 52 只股票产生有效交易,且 top 个股胜率 55%~70%、收益 +50%~+83%,证明逻辑有效。
2. **怀疑:A/B 结果是否因某个引擎 bug 而虚假一致?**
排除:两引擎独立解析器(MyTT 风格 vs tdx_interpreter)得出逐字相同的 52 只 / 37.29% / +1.31%,互为交叉验证;且 564 曾发现 MySQL 回退抖动,本次已强制 SQLite 规避,结果确定性可复现。
3. **怀疑:是否和现有公式(尤其 563/564)重复?**
排除:563=背离低吸、564=量枯低吸,本式为放量点火,三者方向正交;语义去重脚本因 chromaDB 未装走降级(exit 0),但人工比对逻辑链(Donchian+RSI_SMA 金叉+量阶放大+评分加权)与全库无重复。
---
## 回测数据声明(Iron Rule 5)
数据来自本地 SQLite 真实历史行情,**未编造**。因 chromaDB 未安装,语义去重与向量库写入走降级路径(不阻断流程);SSH 补充上传因 paramiko 未装跳过,HTTP 主路径正常。
回测统计
胜率
46.0%
平均收益
8.50%
夏普比率
0.12
最大回撤
-18.5%
按市场状态分段表现
暂无市场状态数据