🇨🇳 简体中文
🇺🇸 English
🇯🇵 日本語
Skip to the content.

MACD策略 (Moving Average Convergence Divergence)

技术实现:基于 pandas-ta 库,使用标准 MACD 指标计算

策略原理

MACD 是一种趋势跟踪动量指标,通过分析快速和慢速指数移动平均线(EMA)的差值来判断买卖时机。

核心指标

交易信号

策略参数

参数名 类型 默认值 说明
fast_period int 5 快速EMA周期(分钟级)
slow_period int 13 慢速EMA周期(分钟级)
signal_period int 4 信号线EMA周期
position_size float 0.04 每次交易的仓位比例(4%)

:默认参数针对分钟级交易优化。日线级交易建议使用标准参数(fast=12, slow=26, signal=9)。

预热要求

信号生成逻辑

1. 真正的交叉检测

策略不是静态比较 MACD 和信号线大小,而是检测真正的”交叉”事件:

2. 强度阈值过滤

柱状图绝对值必须 > 0.01,避免横盘震荡时频繁交易。

3. 信号防重复

已发出买入/卖出信号后,不会重复发出相同信号。

示例配置

基础配置

{
    "name": "macd_5_13_4",
    "strategy_type": "MACDStrategy",
    "config": {
        "fast_period": 5,
        "slow_period": 13,
        "signal_period": 4,
        "position_size": 0.04
    }
}

日线级配置(标准参数)

{
    "name": "macd_standard",
    "strategy_type": "MACDStrategy",
    "config": {
        "fast_period": 12,
        "slow_period": 26,
        "signal_period": 9,
        "position_size": 0.03
    }
}

激进配置(快速反应)

{
    "name": "macd_aggressive",
    "strategy_type": "MACDStrategy",
    "config": {
        "fast_period": 3,
        "slow_period": 8,
        "signal_period": 3,
        "position_size": 0.02
    }
}

策略优缺点

优点

缺点

优化建议

1. 背离交易

关注价格与MACD的背离,往往预示趋势反转:

2. 零轴过滤

结合MACD线的零轴位置:

3. 趋势确认

结合其他指标过滤信号:

4. 多时间框架

使用多个时间周期的MACD进行确认:

5. 动态参数

根据市场波动性调整周期:

典型使用场景

场景 1:趋势跟踪

市场状态:明显上升趋势
配置:fast=12, slow=26, signal=9
策略:金叉买入,死叉卖出
预期胜率:40-45%

场景 2:短线交易

市场状态:波动性较大
配置:fast=5, slow=13, signal=4
策略:快速进出,严格止损
预期胜率:35-40%

场景 3:趋势反转

市场状态:区间震荡
配置:fast=8, slow=17, signal=9
策略:等待背离信号,反向交易
预期胜率:30-35%

信号示例

金叉买入信号

时间: 2024-01-15 10:30:00
股票: AAPL.US
MACD: 2.30
Signal: 1.80
Histogram: 0.50 (前值 -0.20)
信号: BUY (金叉,柱状图从负转正)

死叉卖出信号

时间: 2024-01-20 14:15:00
股票: TSLA.US
MACD: -1.50
Signal: -1.10
Histogram: -0.40 (前值 0.15)
信号: SELL (死叉,柱状图从正转负)

强度不足,保持观望

时间: 2024-01-22 11:00:00
股票: NVDA.US
MACD: 0.05
Signal: 0.04
Histogram: 0.01 (前值 -0.005)
信号: HOLD (柱状图绝对值 ≤ 0.01,强度不足)

相关策略

参考资料