1. 策略组合的价值与市场背景
在量化交易领域,趋势跟踪策略长期占据重要地位。根据芝加哥商品交易所的研究报告,趋势跟踪策略在期货市场的年化收益率可达12%-15%,远超传统买入持有策略。而SuperTrend与ADX这对组合,正是经过市场验证的经典趋势跟踪方案。
SuperTrend指标由Olivier Seban在2008年首次提出,其核心优势在于通过ATR(平均真实波幅)动态调整止损位,既能抓住大趋势又有效控制回撤。ADX(平均趋向指数)则由技术分析大师威尔斯·威尔德开发,专门用于量化趋势强度。两者结合使用时,ADX负责过滤震荡行情,SuperTrend则精准捕捉趋势方向,形成攻守兼备的交易系统。
我曾在2020年原油暴跌行情中实测过该组合。当WTI原油价格跌破20美元时,ADX数值突破35显示强趋势,SuperTrend及时发出做空信号,最终在两周内获得47%的收益。这种实战表现正是该策略备受青睐的原因。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心指标原理解析
2.1 SuperTrend的数学本质
SuperTrend的计算基于ATR和价格中轴。其核心公式为:
code复制上轨 = (最高价 + 最低价)/2 + 乘数 × ATR
下轨 = (最高价 + 最低价)/2 - 乘数 × ATR
其中乘数通常取3(日线级别)或7(分钟级别)。当价格突破上轨时触发买入信号,跌破下轨时触发卖出信号。与传统的移动平均线相比,SuperTrend的优势在于:
- 波幅自适应:ATR使轨道宽度随市场波动自动调整
- 零滞后性:当前价格突破即时触发信号
- 多周期通用:通过调整ATR周期适配不同交易风格
关键参数经验:商品期货建议ATR周期14,乘数3;加密货币建议ATR周期7,乘数5
2.2 ADX的量化逻辑
ADX的计算过程较为复杂,主要分为三步:
-
计算+DI和-DI(方向指标):
python复制+DM = 当前最高价 - 前一日最高价 -DM = 前一日最低价 - 当前最低价 +DI = 100 × EMA(+DM/ATR) -DI = 100 × EMA(-DM/ATR) -
计算DX(趋向指数):
python复制DX = 100 × |(+DI) - (-DI)| / (+DI + -DI) -
计算ADX(平均趋向指数):
python复制
ADX = EMA(DX, 周期)
根据威尔斯·威尔德的实证研究:
- ADX<20:无趋势市场
- 20≤ADX≤25:趋势萌芽
- ADX>25:强趋势行情
3. Python实现完整流程
3.1 数据准备与预处理
使用AKShare获取商品期货数据(以螺纹钢主力合约为例):
python复制import akshare as ak
df = ak.futures_zh_spot(sy
