👇我的小册 54章教程:(小白零基础用Python量化股票分析小册) ,原价299,限时特价2杯咖啡,满100人涨10元。
大家好,我是菜哥,累积原创Python内容860+篇
作为一个资深的量化爱好者,说实话学Python不做点量化其实很亏的。因为目前量化领域第一语言就是python ,上次写了一篇关于"量化策略里面的“常青树” SuperTrend 策略,一篇文章告诉你用Python怎么实现!" ,很多同学给我留言,对这个非常感兴趣其实我们有专门的社群的详细看文末。
大家留言比较多的就是:
“这个指标在趋势行情里很好用,一到震荡就不行了。”
这句话对,也不完全对。
对的是:SuperTrend 本质是趋势跟随工具,天生怕震荡。
不完整的是:不是 SuperTrend 不行,而是你让它在不该工作的行情里硬上。
真正成熟的量化系统,很少只靠一个指标解决所有问题。而 SuperTrend 最大的短板,恰恰可以用另一个老牌指标补上 —— ADX。
一、核心思路:先判断“有没有趋势”,再谈“怎么跟趋势”
在量化里,有两个完全不同的问题:
现在有没有趋势?
如果有趋势,我该怎么跟?
大多数新手会犯的错误是: 直接跳过第 1 步,拿着 SuperTrend 就开始交易。

大家可以看一下在这个图上面是一个supertrend的交易回测图,下面是一个adx指标,当adx指标大于黑色的线的时候,行情就是比较活跃的,是一个趋势行情,相对而已跑supertrend会比较有利。
二、ADX + SuperTrend 的指标逻辑拆解
ADX全称叫(Average Directional Index)并不关心涨还是跌,它只关心一件事:多空是否已经分出胜负?
它来自一整套结构:
+DI:多头动能
-DI:空头动能
ADX:多空差距的“强度平滑值”
经验上非常常用的区间是:
ADX < 20:震荡行情
ADX 20~25:趋势酝酿
ADX > 25:趋势行情
简单说,就是ADX 不到 20,别做趋势策略。
三、ADX如何通过Python 来实现演示代码
下面给大家一个案例,看看如何通过Python来计算这个adx指标:

这段代码我简单解释一下:
代码输入的df就是就是我们的股票或者其他金融数据,比如一开始取出最高价、最低价和收盘价,然后通过相邻 K 线的变化,分别计算多头方向的推动力(plus_dm)和空头方向的推动力(minus_dm)。接着用条件判断,只保留多空中更强的一方,弱的一方直接归零,避免震荡时的噪音干扰。
后面这一步计算的是 真实波幅 TR,它综合了当日高低波动以及和上一根收盘价的跳空情况,再对 TR 做周期平均,得到 ATR,用来衡量当前市场的波动强度。随后用多头和空头推动力除以 ATR,得到 +DI 和 −DI,代表多空力量的相对强弱。
最后通过计算两者差距的比例,并再次平滑处理,得到 ADX 数值。ADX 越高,说明趋势越明显;越低,说明行情越震荡。
四、实战中应该怎么用
在实盘里面应该怎么用呢,其实很简单
先看 ADX :ADX < 20 ,大概率是震荡行情,放弃趋势策略
再看 SuperTrend:顺势持仓,不逆势折腾
减少交易频率:趋势策略不怕少,就怕乱
真正的实盘除了上面的指标组合,还设计到参数的调整和回测的优化,而且不同的品种参数还不太一样,当然还有仓位的管理和资金风险的控制,头寸的控制。但是至少你通过这个指标还是可以过滤出哪些是趋势行情,哪些是震荡行情,可以帮你避一些坑!
当然除了adx还有一些其他的指标也可以过滤,后面我们继续写一篇介绍,如果有兴趣的话,可以留言支持一下。


如果果你觉得这篇文章有帮助,别忘了点赞、关注、收藏哟,你的支持是我原创的动力~
对了,如果你也对Python量化编程感兴趣,可以跟我们交流!
关注下方👇🏻公众号,回复【小助手】获取学习手册
另外下面是一个量化小白的入门小册,有兴趣的可以看看,合适了再下手哈!买了之后有我们专门的量化交流群可以讨论。

364



被折叠的 条评论
为什么被折叠?



