4.3 KiB
4.3 KiB
#策略研究 #量化交易 #DeepSeek
基于ADX、ATR、RSI、布林带的组合策略设计
以下策略综合四个指标的特性,通过趋势过滤、信号共振、风险控制三阶段设计,兼顾趋势跟踪与震荡行情捕捉,结合多篇实战案例优化而成。
一、核心逻辑框架
-
趋势判断(ADX主导)
- 趋势强度:ADX >25时判定为趋势市,ADX <20时为震荡市。
- 趋势方向:
- 多头趋势:+DI > -DI且ADX >25,价格位于布林带中轨上方。
- 空头趋势:-DI > +DI且ADX >25,价格位于布林带中轨下方。
-
入场信号(多指标共振)
- 趋势市:
- 多头:价格回调至布林带中轨附近(偏离中轨≤1%),RSI在40-60区间(未超买),ADX持续上行。
- 空头:价格反弹至布林带中轨附近(偏离中轨≤1%),RSI在40-60区间(未超卖),ADX持续上行。
- 震荡市:
- 买入:价格触及布林带下轨 + RSI <30 + ATR值低于近期均值(波动收缩)。
- 卖出:价格触及布林带上轨 + RSI >70 + ATR值高于近期均值(波动扩张)。
- 趋势市:
-
风险控制(ATR主导)
- 止损:
- 初始止损:入场点 ±1.5倍ATR(动态适应波动率)。
- 移动止损:盈利达2倍ATR后,调整至布林带中轨或EMA20下方。
- 止盈:
- 趋势市:价格突破反向布林带外侧(如上轨突破后回调至中轨)。
- 震荡市:价格回归布林带中轨时平仓。
- 止损:
二、参数设置与动态优化
| 指标 | 参数建议 | 动态调整逻辑 |
|---|---|---|
| ADX | 周期14日,趋势强度阈值25 | 牛市上调至30,熊市下调至20。 |
| RSI | 周期14日,超买阈值70,超卖阈值30 | 高波动市场(ATR扩大)时放宽阈值(如超买75/超卖25)。 |
| 布林带 | 周期20日,标准差倍数2 | 趋势市收窄至1.5倍标准差(减少假突破),震荡市放宽至2.5倍。 |
| ATR | 周期14日,用于计算止损止盈幅度 | 根据市场波动率调整倍数(如低波动用2倍ATR,高波动用1倍)。 |
三、策略执行流程
-
筛选标的:
- 优先选择ADX >20且布林带收窄(波动率低)的品种。
-
信号触发:
# 示例代码(基于Pandas) # 计算指标 data['adx'] = ta.ADX(data['high'], data['low'], data['close'], timeperiod=14) data['atr'] = ta.ATR(data['high'], data['low'], data['close'], timeperiod=14) data['rsi'] = ta.RSI(data['close'], timeperiod=14) data['upper'], data['middle'], data['lower'] = ta.BBANDS(data['close'], timeperiod=20, nbdevup=2, nbdevdn=2) # 生成信号 data['long_signal'] = ( (data['adx'] > 25) & (data['close'] > data['middle']) & (data['rsi'].between(40, 60)) & (data['close'] - data['middle']).abs() / data['middle'] <= 0.01 ) data['short_signal'] = ( (data['adx'] < 20) & (data['close'] >= data['upper']) & (data['rsi'] > 70) & (data['atr'] > data['atr'].rolling(10).mean()) ) -
仓位管理:
- 单笔风险≤2%总资金,根据ATR计算头寸:
仓位 = 2%账户净值 / (1.5 * ATR)。
- 单笔风险≤2%总资金,根据ATR计算头寸:
-
退出机制:
- 趋势反转:ADX连续3日下降或+DI/-DI交叉反向。
- 时间止损:持仓5日未达目标则强制平仓。
四、策略优势与注意事项
| 优势 | 风险与应对 |
|---|---|
| 趋势与震荡双适配 | 震荡市假突破:需结合成交量验证(如量能突破5日均值1.5倍)。 |
| 动态参数提升适应性 | ADX滞后性:增加短期均线(如MA5)作为趋势辅助确认。 |
| 多维度过滤假信号 | RSI钝化:在强趋势中禁用超买超卖信号,仅用中轨回调逻辑。 |
总结:该策略通过ADX划分市场状态,RSI+布林带捕捉价格拐点,ATR管理风险,形成闭环交易逻辑。建议回测时重点优化ADX阈值与ATR止损倍数的组合,并增加行业板块共振过滤(如选择ADX共振上升的板块)以提升胜率。