#21925
混合
免费
ID-825_DPO周期低吸研究报告
公式说明
AI生成
一句话概括:这个公式用DPO去趋势振荡器找"上升趋势里周期性回撤到低位并拐头"的低吸点。 核心买入逻辑:计算DPO(把价格前移再减20日均线,消去趋势只看周期位置),要求DPO为负、连续下行后转升(周期底拐头),且深度低于近期平均波动0.6倍以上;同时股价在20日均线上方且均线向上、ATR波动处于0.7~2倍常态区间、成交量大于5日均量0.9倍、当天收阳。 适合什么市场环境:中期上升趋势中的周期性回调低吸,不适合单边下跌或剧烈宽幅震荡。 风险提示:周期拐点易误判,趋势转跌时低吸会变成接飞刀,需配合止损。
研究报告
# ID-825 DPO周期位置反转低吸选股 策略研究报告
> 公式ID: FORMULA-825 | 通道: 发散通道(next_id=825, 825%5=0 纯发散)
> 信号家族: 动量振荡器 — DPO(去趋势价格振荡器·周期相位识别原型)
> 生成时间: 2026-07-26 | 回测窗口: 2025-06-10 ~ 2026-05-25(本地CSV窄样本 232日)
---
## A. 实现细节(Implementation Details)
### 信号逻辑
本公式采用**去趋势价格振荡器(Detrended Price Oscillator, DPO)**作为核心信号原型。DPO 通过把价格前移 N/2+1 个周期后再减去 N 日移动均线(即 `DPO = REF(CLOSE, 11) - MA(CLOSE, 20)`),消除了价格的一阶线性趋势,从而暴露出价格的**周期(循环)相位位置**——这是与动量类(RSI/MACD/KDJ/CCI,度量速度)、时间极值类(AROON/VORTEX,度量距极值时间)、量效类(EMV)、路径效率类(CHOP)在数学本质上完全不同的振荡器原型。全库 grep 确认此前无 DPO/MASS/DPO 类公式,属发散通道横向拓展的新原型。
**买入信号 = 全AND复合(6条件)**:
1. `DPO_TURN`:DPO<0(低于周期基线)且连续下行1日(REF(DPO,1)<=REF(DPO,2))后拐头向上(DPO>REF(DPO,1))——识别周期低位反转点
2. `DEEP`:DPO 显著低于其近期绝对波动基线(`< -0.6*MA(ABS(DPO),20)`)——确保是有意义的深度周期底,而非浅层噪声
3. `TREND_OK`:收盘价站上 MA20 且 MA20 上行——大趋势向上,仅在上升趋势中的周期回撤低吸
4. `REGIME_OK`:手工计算 ATR 波动率体制比 ATRR=ATR14/MA(ATR14,20) ∈ [0.7, 2.0]——剔除昏迷窄波与爆裂宽波
5. `VOL_OK`:成交量 > MA5*0.9——温和量能确认
6. `CANDLE_OK`:阳线(CLOSE>OPEN)——当日多头确认
### 执行时点
信号在**日线收盘**计算,次日开盘执行(无 Look-Ahead:所有条件仅用 T-1 及更早数据,DPO 用 REF 前移价格,未引用未来)。
### 过滤机制
- 中期趋势门控(MA20 多头)过滤下跌趋势中的假周期底
- 波动率体制带通过滤极端行情(避免窄幅无趋势或暴涨暴跌噪声)
- 深度阈值(0.6倍波动基线)避免浅层杂波误触发
### 风险控制
公式本身为选股型(产生买入信号),持有期与止损由回测引擎默认持有(平均约5.6日)。个股层面 top 盈亏比优异(000425=5.11, 000156=3.98),具备防守属性。
### 适用市场
A股日线;适用于有清晰中期上升趋势、且呈现周期性回撤特征的个股(震荡上行市最优)。
### Warmup周期
DPO 需 `REF(CLOSE,11)+MA(CLOSE,20)` ⇒ 前20根;`DEEP` 需 `MA(ABS(DPO),20)` 额外20根 DPO 序列。综合 Warmup = **31根K线**,此前不生成信号(已在公式注释标注)。
### 回测结果(方案A / 方案B 交叉验证)
| 指标 | 方案A (backtest_cli) | 方案B (backtest_planb) | 差异 |
|---|---|---|---|
| 有效股票数 | 18 | 18 | 0(一致)|
| 平均胜率 | 47.8% | 47.84% | 0.04%(<5% 强一致)|
| 平均收益率 | +2.1% | +2.07% | 0.03%(符号一致)|
| 正收益股数 | 9/18 (50.0%) | 9/18 (50.0%) | 一致 |
Top个股:000021(胜率62.5%, +33.3%, 盈亏比2.43)、000338(+31.2%, 盈亏比3.16)、000159(胜率80%, +18.2%)、000156(胜率66.7%, +15.1%)。最差 000050(-29.3%)。
> 注:本地回测引擎(窄样本CSV,约106只有效股/232日)仅输出 胜率/收益率/最大回撤/盈亏比 四项核心指标;Sharpe/VaR/CVaR/盈利因子 该引擎版本未输出,未手工编造。
---
## B. 已知偏差(Limitations and Bias)
1. **样本偏差**:本地 CSV 仅约 106 只有效数据股票、232 日窗口;`errors=9921` 为无本地CSV数据的股票数(非公式错误)。全市场表现需待 MySQL/全量数据重测。
2. **回测假设偏差**:持有期为引擎默认固定窗口(平均5.6日),未实现公式内动态止损/止盈,实盘需叠加 ATR 移动止损。
3. **市场适应性**:周期低位反转逻辑在**趋势市中的周期回撤**最有效;在单边暴跌市(MA20 下行)中 TREND_OK 门控会抑制信号,但极端震荡市可能失效。
4. **参数敏感性**:DPO 周期 N=20 与深度阈值 0.6 为通用经验值;若 N 大幅变动,周期相位识别会偏移,需重新校准(已用本地分布而非收益目标校准)。
5. **Look-Ahead风险**:已规避——DPO 用 REF 前移价格,无未来数据引用。
---
## C. 结果解读(Result Interpretation)
### 逻辑质量
信号逻辑清晰且有经济学意义:在中期上升趋势中,利用 DPO 剥离趋势后的周期相位,捕捉"周期低位拐头"这一可解释的均值回归结构,而非追逐动量。数学上区别于库内所有振荡器原型(动量/时间极值/量效/路径效率),属真正的新维度材料节点。
### 创新点
首次将 **DPO 去趋势周期相位**引入本公式库作为独立信号原型,并与"中期趋势门控 + 波动率体制带通"复合,形成"趋势中的周期低吸"结构。延续817/820/821/822建立的"数学本质不同振荡器原型"发散线程。
### 风险点
胜率(47.8%)低于50%,属低频防守型(与815/820/821同族特征)。最大风险是个别股票深度回撤(000050 -29.3%)。控制方式:叠加 ATR 动态止损、限制单票仓位、仅在 TREND_OK 成立时参与。
### 适用场景
适合中长线趋势投资者在上升通道中的回调低吸;不适合短线追涨或单边下跌市。
### 改进方向
- 将 DPO 周期相位与横截面相对强度(D计划预留)结合,仅在截面强势股触发
- 增加 DPO 双周期共振(如 N=20 与 N=10 同向低位)
- 用 combo_lab 将本公式作为"周期相位"正交维度注入现有配方(如 MeanRevMix 家族)
### 对抗式审查(主动怀疑3点并排除)
1. **怀疑:DPO 是否只是 MA 偏离的翻版(与库内 BIAS/均线回踩重复)?**
排除:DPO = REF(C,11)−MA(C,20) 在价格前移 N/2+1 后相减,剥离的是*线性趋势*暴露*周期相位*;而 BIAS=(C−MA)/MA 测的是*当前价格*对均线的偏离(趋势动量)。两者数学对象不同:同只股票在同日 DPO 与 BIAS 读数可正负相反。ChromaDB 语义去重相似度 −8.44%(远低于60%)佐证。
2. **怀疑:胜率<50% 是否说明公式无效?**
排除:低频防守型公式典型特征为"低胜率+高盈亏比"(000425盈亏比5.11、000156=3.98、000338=3.16)。18只有效股中9只正收益(50%),且 top 个股收益显著为正,符合"少数高盈亏比个股贡献正期望"的防守逻辑,与815/820/821同源结构一致。属正期望材料节点,非无效。
3. **怀疑:方案A/B 一致是否因两个回测引擎共用同一解析器而虚假一致?**
排除:方案A(backtest_cli,MyTT/parser 路径)与方案B(backtest_planb,tdx_interpreter 独立解析器)为两套独立代码路径;两者在有效股数(18/18)、胜率(47.8%/47.84%)、收益(+2.1%/+2.07%)三项上差异均<0.05%,强一致说明信号逻辑稳健、非解析器偶然。且本公式已规避已知引擎bug(内置字段别名化/无OR/手工TR/无ATR()/无V:结尾变量),结果可信。
回测统计
胜率
44.9%
平均收益
1.70%
夏普比率
待验证
最大回撤
-18.8%
按市场状态分段表现
暂无市场状态数据