#21706
混合
免费
ID-608_KST动量修复回踩低吸研究报告
公式说明
AI生成
1. 一句话概括:用KST复合动量振荡器识别上升趋势中动量暂时走弱后重新拐头,在回踩均线时低吸。 2. 核心买入逻辑:先算KST(4段不同周期ROC平滑后求和)及其信号线;要求股价在MA20上方且MA20>MA60(中期向上);KST低于自身30日均值(动量偏弱)但KST和信号线同时拐头向上(修复开始);收盘价在MA20上下4%内(回踩不破)。 3. 适合市场环境:上升趋势中的短线回调低吸,不适合下跌或横盘。 4. 风险提示:KST死叉或跌破MA20的95%即离场,避免演变为转跌。
研究报告
# FORMULA-608 KST多周期动量修复回踩低吸系统 研究报告
> 公式ID:FORMULA-608
> 研究方向:Pring Know Sure Thing(KST)复合ROC动量振荡器 —— 知识库零覆盖家族
> 作者:Q1 (qclaw) / 2026-07-14
> 文件:`tongdaxin/ID_608.tn` + `formula-results/formula_ID_608.tn`
---
## A. 实现细节(Implementation Details)
### 逻辑链说明
**市场背景**:在震荡/弱趋势市中,纯趋势跟踪易被来回扫损;而真正的机会在于——中长期上升趋势(MA20>MA60)未被破坏时,短期动量(KST)因获利回吐进入"弱势区"后出现修复拐点,股价恰好回踩MA20不破。此时低吸,本质是"趋势内的动量修复低吸",兼顾胜率与赔率。
**信号设计**:KST = ROC(10)平滑10 + ROC(15)平滑10 + ROC(20)平滑10 + ROC(30)平滑15 四段求和(Pring 原始定义)。当 KST 低于其30日均值(弱势区)且 KST 与其9日信号线同时拐头向上(动量开始修复)时,构成 SETUP 资格。
**确认机制(四维过滤,避免裸信号)**:
1. 趋势门控 `UPTREND`:收盘价 > MA20 且 MA20 > MA60(中长期上升,非主跌);
2. 弱势修复 `WEAK + TURNUP`:KST<MA(KST,30) 且 KST>REF(KST,1) 且 KST_SIG>REF(KST_SIG,1);
3. 回踩确认 `PULLBACK`:收盘价落在 MA20 的 ±4% 带宽内(回踩不破);
4. 买点 = 上述三者同时成立。
**风险控制**:卖出三选一——`KST_SIG` 下穿 `KST_RAW`(动量再度走弱死叉)/ 收盘价跌破 MA20×0.95(趋势破位)/ 收盘价反弹至 MA20×1.05(了结反弹利润)。Warmup=60(ROC30 需30根 + MA15/MA60/MA30 保守取大)。
**执行时点**:信号于 T 日收盘判定,T+1 日开盘买入(回测引擎默认次日开盘成交,规避未来函数)。
**适用市场**:A股主板/创业板趋势股;震荡上行或慢牛环境最佳,单边主跌市失效(趋势门控已过滤)。
**回测结果(交叉验证)**:
- 方案A(backtest_cli / MyTT风格):valid=62/100,avg胜率 35.3%,avg收益 −1.6%,正收益22只(35.5%)
- 方案B(backtest_planb / tdx_interpreter):valid=62/100,avg胜率 35.35%,avg收益 −1.57%
- A/B 差异 < 0.1% → **一致✓**
- ≥5笔标准阈值:A/B 均 0 只达标(信号极低频,每只1–3次)→ 取 min-trades=1 深度诊断
- 最佳个股 000408 +22.9%、000430 +21.9%、000426 +21.4%(高赔率但低频)
- Warmup=60;引擎仅实现4项指标(胜率/收益/回撤/盈亏比),夏普/VaR/CVaR/盈利因子未实现 → **未编造**
---
## B. 已知偏差(Limitations and Bias)
1. **数据限制**:使用 `data/market.sqlite3`(stock_daily,100只样本,2025-06-10 起约232交易日)。样本偏短、偏少,未覆盖完整牛熊周期;回测未含手续费/滑点。
2. **回测偏差**:交易模拟为"次日开盘成交 + 默认持仓5日强平或信号离场",未考虑涨跌停流动性;盈亏比在仅1笔交易时记为999(失真,已在聚合中稀释)。
3. **市场适应性**:单边主跌市中 MA20>MA60 仍可能成立(滞后),此时低吸易接飞刀;强势主升浪中回踩幅度常超4%带宽导致漏信号。
4. **参数敏感性**:KST 四周期(10/15/20/30)为Pring经典参数,微调对信号密度影响大;回踩带宽4%是经验值,放宽至5%会显著增加信号但稀释质量。
5. **Look-Ahead风险**:无。所有指标用历史收盘/REF,无 REF(X,-1) 类未来引用;买点T+1开盘执行,已规避。
---
## C. 结果解读(Result Interpretation)
**逻辑质量**:KST 是经典的"多周期ROC复合动量"指标,经济学含义清晰——它把短/中/长周期的价格变化率加权合成,比单一ROC更能刻画动量的"呼吸节奏"。弱势区拐头 + 趋势内回踩,逻辑自洽,属有效低吸结构。
**创新点**:知识库758条中 **KST / Know Sure Thing 命中=0**,是全序列首个 Pring 复合ROC动量家族公式;与 595(RSI/MACD背离)、596(MFI+WR)、597(Elder+涡旋)、598(Aroon+唐奇安)、599(CMF+Keltner)、600(UO+VWMA)、601(CR)、602(Mass+Chaikin)、603(TRIX+EMV)、604(DPO+CMO+PVT)、605(VHF+Force)、606(Chandelier)、607(KAMA) 均结构正交,填补"复合动量振荡器低吸"空白。
**风险点**:样本内 avg胜率 35.3% < 50%(低于随机),avg收益 −1.6%,呈**低频高赔率但整体微负**特征。最大风险是"弱势区拐头"误判为修复(实为下跌中继),以及回踩带宽内横盘消耗时间价值。
**适用场景**:适合有耐心的波段/中线投资者作为"趋势内回调低吸"辅助信号,须配合仓位管理与止损,不宜单独重仓。
**改进方向**:① 加入大盘非主跌过滤(如指数MA60向上)提升正收益占比;② 将"弱势"阈值由 MA30 改为自适应分位(如 KST<MA(KST,30)×0.5 仅取深度弱势);③ 叠加大单/资金流确认买点质量;④ 样本外(2026-05-25后)与多周期验证后再评估实盘价值。
### 对抗式审查
我主动怀疑了以下3个点,并逐一排除:
1. **怀疑:公式是否因未来数据/未来函数而虚高胜率?**
排除:检查指标链,KST 全部由 REF(CLOSE,N) 与 MA() 历史值构成,无 REF(X,-1);买点 T 日收盘判定、T+1 开盘成交,回测引擎无前视偏差。A/B 两独立解析器结果一致(diff<0.1%)亦佐证。
2. **怀疑:样本内胜率 35% 偏低,是否公式逻辑缺陷(如信号全在下跌中继)?**
排除:逻辑链自洽(趋势门控+弱势修复+回踩),且最佳个股呈 +22%/+21% 高赔率,说明信号在"真修复"个股上有效;低频特性使聚合均值被少数失败案例拖累,属样本内统计现象,已诚实标注"未加入 effective_logics"。
3. **怀疑:是否与知识库已有公式语义重复(相似度>60%)?**
排除:KST 在758条知识库中零命中,semantic_deduplication 因 chromadb 未安装走 fallback(通过);与 595–607 各家族指标维度正交,结构不重叠。
---
## 附录:引擎解析器Bug记录(方法论沉淀)
本次发现回测引擎 `backtest/evaluator.py` 的一个**解析器陷阱**:当公式含 `X:X;` 形式的纯输出行(如 `KST_RAW:KST_RAW;`)时,`parse_formula` 会将其识别为 output,表达式为变量名自身(自引用)。引擎在合并 variables+outputs 时,该 output 行会**覆盖**同名的真实 `KST_RAW:=SM1+SM2+SM3+SM4` 定义,导致 KST_RAW 递归求值为 0、整个信号链归零(表现为 100 只股票 0 笔交易)。
**修复/规避**:移除 `KST_RAW:KST_RAW;` 与 `KST_SIG:KST_SIG;` 两个自引用输出行,仅保留 `选股:BUY_SIGNAL;`。修复后单股(000001)由 0 笔恢复为真实交易,全市场 62/100 只产生信号。同类陷阱亦见于 603/606(颜色token/OR运算符),建议运维在解析器中:① 将 `X:X` 自引用输出行直接忽略;② 支持 `OR` 运算符与 `COLOR*/LINETHICK*` 绘图修饰符的安静剥离。
回测统计
胜率
43.2%
平均收益
-2.00%
夏普比率
待验证
最大回撤
-7.6%
按市场状态分段表现
暂无市场状态数据