1. 策略概述
DoubleMaStrategy 是量化交易中最经典的入门策略——双均线策略。 逻辑极其简单:快线向上穿过慢线(金叉)做多,快线向下穿过慢线(死叉)做空。虽然简单,但它是理解趋势跟踪逻辑的最佳起点。
- 基类:
CtaTemplate - 核心指标:SMA (Simple Moving Average)
- 交易方式:信号触发后立即市价(或限价)成交
2. 核心参数
| 参数名 | 默认值 | 含义 |
|---|---|---|
fast_window | 10 | 快线周期 (如 10 日均线) |
slow_window | 20 | 慢线周期 (如 20 日均线) |
3. 策略逻辑详解
3.1 指标计算
策略计算了两条均线的当前值 (ma0) 和上一根 K 线的值 (ma1),用于判断交叉。
| |
3.2 交叉判断
金叉 (Cross Over):
- 上一刻:快线 < 慢线
- 当前:快线 > 慢线
1cross_over = self.fast_ma0 > self.slow_ma0 and self.fast_ma1 < self.slow_ma1死叉 (Cross Below):
- 上一刻:快线 > 慢线
- 当前:快线 < 慢线
1cross_below = self.fast_ma0 < self.slow_ma0 and self.fast_ma1 > self.slow_ma1
3.3 交易执行
策略始终保持在市场中(Always in the market),即非多即空。
金叉触发:
- 若空仓 (
pos == 0):买入开仓。 - 若持有空单 (
pos < 0):先平空单 (cover),再反手买入 (buy)。
- 若空仓 (
死叉触发:
- 若空仓 (
pos == 0):卖出开仓。 - 若持有多单 (
pos > 0):先平多单 (sell),再反手卖出 (short)。
- 若空仓 (
| |
4. 总结与思考
DoubleMaStrategy 虽然逻辑简单,但存在明显的优缺点:
- 优点:在单边大趋势行情中表现优异,能吃满整个波段。
- 缺点:在震荡市中会频繁触发金叉死叉(“左右挨打”),导致资金快速磨损。
改进方向: 通常不会直接使用裸的双均线策略,而是会加入过滤器(如 ATR 波动率、RSI 强弱、MACD 辅助)来减少震荡市的开仓次数。