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