递减趋势检测器:识别行情下行信号的量化工具
一、什么是 Decreasing(递减趋势检测器)?
Decreasing
是由量化分析师 Kevin Johnson 提出的一个技术分析工具,用于识别一段时间内价格是否处于下降趋势。它在构建多空信号、趋势判断、动量策略中具有实用价值。
pandas_ta 提供了该指标的函数封装,便于用户快速判断某段价格是否呈现持续走低或部分回撤,并可通过精细参数配置灵活控制判断标准。
✅ 推荐中文名称:递减趋势检测器
二、核心功能与应用场景
该指标主要回答以下问题:
- 某一周期内价格是否在递减?
- 是否连续下降?
- 价格是否下降超过某个百分比?
应用举例:
- 判断价格短期是否出现回落信号;
- 辅助筛选顶部反转区域;
- 结合指标如 RSI、MACD 等辅助多因子建模;
- 识别反弹过程中中途的下跌阻力。
三、参数详解
ta.decreasing(close, length=1, strict=False, percent=None, asint=True, drift=1, offset=0)
参数名 | 类型 | 说明 | 默认值 |
---|---|---|---|
close | Series | 输入的收盘价序列 | 必填 |
length | int | 要检查的递减周期长度 | 1 |
strict | bool | 是否必须连续递减(如严格递减:每一项都低于前一项) | False |
percent | float | 是否递减超过指定百分比(如5.0表示5%) | None |
asint | bool | 是否以整数形式返回(1表示递减,0表示非递减) | True |
drift | int | 差分步长,用于判断价格的变化 | 1 |
offset | int | 结果偏移位移量 | 0 |
四、Decreasing 的三种用法
✅ 用法一:检测连续递减序列(strict=True)
import pandas_ta as ta
df['decreasing_strict'] = ta.decreasing(df['close'], length=3, strict=True)
含义:只有当连续3天的收盘价逐日降低才返回 1,否则返回 0。
✅ 用法二:允许中间起伏的递减趋势(strict=False)
df['decreasing_flexible'] = ta.decreasing(df['close'], length=5)
含义:只要第5日前的收盘价大于当前值,即使中间有波动,也视为递减期。
✅ 用法三:基于百分比阈值的递减判断(percent)
df['decreasing_pct'] = ta.decreasing(df['close'], length=10, percent=3.0)
含义:在10个交易日内价格下跌超过3%,则返回1。
五、实战案例:识别顶部下跌起点
假设我们希望在价格连续下跌3天或累计下跌5%以上时发出下行预警,可以使用如下组合逻辑:
df['decrease_signal'] = (
(ta.decreasing(df['close'], length=3, strict=True) == 1) |
(ta.decreasing(df['close'], length=7, percent=5.0) == 1)
)
该 decrease_signal
可以用于:
- 结合 RSI 形成下行确认信号;
- 作为止盈条件判断;
- 在回测策略中过滤震荡期交易。
六、配合指标组合增强趋势识别
将 递减趋势检测器
与其它指标结合,可以更精准地捕捉市场状态:
组合指标 | 用途 |
---|---|
RSI < 30 + Decreasing | 判断持续超卖区间有无进一步下行压力 |
EMA下穿 + Decreasing | 辅助识别趋势反转点 |
MACD死叉 + Decreasing | 策略型空头确认信号 |
七、图示案例:趋势反转前的信号增强
在图表上叠加 Decreasing
信号后,可以清晰看到:
- 当价格连续下跌时,信号位于顶部;
- 当上涨反弹过程中出现短暂回调,也可识别为“临时弱势”;
- 可以用作多周期策略的“入场调整工具”。
八、总结
pandas_ta.decreasing()
提供了对递减趋势的多维度控制方式,是量化策略中重要的趋势识别工具。它不仅能灵活控制是否“严格连续下降”,还能基于百分比回撤进行自定义判断,使得交易信号更具温度和现实性。