|
在投资中,最常见的困惑就是:现在这只股票是在走趋势,还是在震荡?如果是上升趋势,我们可以考虑持有甚至加仓; 如果是下降趋势,就要小心止损; 如果是震荡行情,贸然进出很容易被“假信号”来回收割。 那么,有没有一种量化的方法,可以客观地告诉我们: - 当前股票是在 上升趋势
- 还是 下降趋势
- 或者只是 震荡
答案是:有!而且并不复杂。 接下来我就带你用 Python + 技术指标,构建一个 趋势判断小工具。 一、三个核心指标要判断趋势,我们可以用三个指标:ADX、MACD、CCI,它们分别从不同角度帮我们识别趋势。 1. ADX —— 判断趋势强度ADX(Average Directional Index,平均趋向指标),用来衡量市场趋势的“强弱”,而不关心方向。 - ADX 高 → 趋势明显(无论上涨还是下跌)。
- ADX 低 → 行情震荡。
一般经验: 原理上,ADX 是通过价格的正向波动(+DI)和负向波动(-DI)计算出来的。简单理解就是:价格如果在某个方向上走得很坚决,ADX 就会上升。 2. MACD —— 判断趋势方向MACD(Moving Average Convergence Divergence,平滑异同移动平均线),是最常见的趋势指标。 它由快线 DIF 和慢线 DEA 组成: - DIF 向上突破 DEA → 金叉,趋势偏多。
- DIF 向下跌破 DEA → 死叉,趋势偏空。
- 同时参考 0 轴位置:在 0 轴上方金叉更有力,下方死叉更有力。
原理上,MACD 本质是 长短期均线的差值,能直观反映趋势的方向。 3. CCI —— 辅助确认趋势有效性CCI(Commodity Channel Index,顺势指标),常用于判断行情是否处于超买或超卖状态。 - CCI > +100:上涨趋势比较强。
- CCI < -100:下跌趋势比较强。
- CCI 在 -100 到 +100 之间:大概率震荡。
原理上,CCI 是比较当前价格和过去一段时间的平均价格。如果差距过大,就说明趋势正在形成。 二、为什么这三者结合更准确?单一指标经常会出错,比如: - MACD 有时会“假突破”;
- ADX 只告诉你趋势强弱,但不告诉你方向;
- CCI 波动大,容易被短期噪音干扰。
但是,当我们把它们组合起来时,就能互相补充: - ADX 负责判断“是不是趋势市”。
- MACD 负责判断“方向是向上还是向下”。
- CCI 负责确认“趋势是不是可靠”。
理论支撑点在于: - 趋势跟随理论:价格趋势一旦形成,往往会持续一段时间。
- 技术指标的多维确认:不同指标从“强度、方向、有效性”三个角度交叉验证,可以显著降低假信号。
三、量化实现:趋势打分法这里我主要是用一种我称之为 “趋势打分法” 的方式来评估股票的走势,它的思路是:综合多个常见的趋势类指标,分别从 趋势强度 和 趋势方向 两个维度来打分,最后给出一个较为直观的趋势判断。 在实际应用中,我选用了 ADX、MACD、CCI 和均线 这四类指标,它们各有分工: ADX —— 用来衡量趋势强度它只关心趋势有没有,不在乎方向。ADX 高的时候,说明市场正在走出明显趋势;低的时候,市场更容易震荡。 MACD —— 用来观察趋势方向DIF 和 DEA 的相对位置,加上柱状图的正负,可以帮助判断市场是偏多还是偏空,同时还能对趋势强弱有一定提示。 CCI —— 用来捕捉价格的偏离情况CCI 能反映价格是否进入超买或超卖区域,用它来辅助判断趋势的可靠性。 均线 —— 用来判断支撑/阻力位置我这里主要参考短期均线,结合收盘价的位置,直观地判断价格是偏强还是偏弱。
最后,把各个指标的“打分”综合在一起,就能得到: - 一个 趋势强度等级(强、中、弱);
- 一个 趋势方向(上涨、下跌、震荡)。
相比单一指标,这种“打分法”更能平衡不同维度的信息。它既能告诉你趋势走向,也能告诉你趋势力度,为选股和策略执行提供了更直观的参考。 四、效果示例为了大家便于观察,应用于后期策略的制定,我专门把状态绘制到了K线上。红色向上的三角表示上升趋势,绿色三角表示下降趋势,灰色的表示震荡。 示例1: 当前股票: ******.SZ
当前时间: 2025-09-17
收盘价: 377.1, MA20: 312.35
ADX: 41.03, DIF: 20.16, DEA: 14.44,MACD: 5.73, CCI: 192.79
方向得分: 3, 判定: 上升趋势
趋势强度得分: 5, 判定: 强趋势
示例2: 当前股票: ******.SH
当前时间: 2025-09-16
收盘价: 23.77, MA20: 24.6
ADX: 18.2, DIF: -0.34, DEA: -0.24,MACD: -0.1, CCI: -67.81
方向得分: -2, 判定: 下降趋势
趋势强度得分: 2, 判定: 中等趋势
示例3: 当前股票: ******.SH
当前时间: 2025-09-16
收盘价: 17.04, MA20: 16.86
ADX: 22.05, DIF: 0.35, DEA: 0.38,MACD: -0.02, CCI: 37.08
方向得分: 0, 判定: 震荡
趋势强度得分: 2, 判定: 中等趋势
五、怎么用、怎么实战?我们现在已经有了一个 趋势打分模型,它给每个交易日输出了: - trend(上升 / 下降 / 震荡)
- strength(强 / 中等 / 弱)
- direction_score、score(量化分数)
这些信息可以作为 交易策略的决策依据。如果想应用到炒股上,要考虑以下几个层次: 1. 定义交易规则(基于趋势信号)比如,你可以把打分结果转化成买卖点: 买入规则
- trend == "上升趋势" 且 strength == "强趋势"
- 或者 score >= 4
- 再加上成交量放大等确认条件
卖出规则
- trend == "下降趋势" 或 strength == "震荡/弱趋势"
- 或者 score <= 1
- 跌破 MA20 或者止损位
举个例子: 当趋势=上升趋势 且 分数>=4 → 买入
当趋势=下降趋势 或 分数<=1 → 卖出
2. 结合仓位管理趋势判断是方向,但仓位决定了收益和风险。你可以: - 趋势刚转强 → 建 30% 仓位
- 趋势持续增强 → 加仓至 60%-80%
- 趋势转弱 → 减仓甚至清仓
3. 与其他指标结合单一趋势指标有时会失效(假突破、假反弹)。可以考虑: - 大盘环境过滤例如只在大盘也处于“上升趋势”时做多个股。
- 板块/龙头过滤个股在强势板块里,信号成功率更高。
- 资金面结合换手率、北向资金、主力资金流向等。
4. 回测验证(量化必做)不能只凭感觉去炒股,一定要回测: 5. 实盘应用方式- 左侧交易:当信号刚出现趋势转强时提前进场,容易吃到大部分行情,但假信号多。
- 右侧交易:等趋势确认(比如连续两天得分>=4),再进场,更稳健但会少一部分利润。
换句话说:现在的工具提供了一个“趋势温度计”,告诉你股票是在升温还是降温。你要做的就是: - 把这个信号变成明确的“买入/卖出/空仓”规则;
- 用回测来证明它在历史上有效;
- 结合仓位管理和资金控制,才能真正用于实盘。
|