Files
NewQuant/futures_trading_strategies/MA/KalmanStrategy/KalmanStrategy.md
liaozhaorun 711b86d33f 1、新增傅里叶策略
2、新增策略管理、策略重启功能
2025-11-20 16:15:45 +08:00

3.5 KiB
Raw Blame History

卡尔曼策略Kalman Strategy

本策略文件夹包含基于卡尔曼滤波器技术的交易策略实现,主要包括以下 Python 文件:

📌 策略文件概述

1. KalmanStrategy.py

策略概述

  • 核心思想: 解决动能策略在“回调中吐出利润、震荡中持续亏损”的问题,通过动态识别市场状态,在有利的环境下交易,并使用结构化的方法进行风险管理。
  • 主要组成部分:
    • 状态过滤: 使用ATR历史分位数构建“波动率状态机”在低波动率的“震荡区”主动休眠只在高波动率的“趋势区”寻找机会。
    • 动能催化: 沿用卡尔曼滤波器估算内在趋势当价格以ATR标准化的力量“逃逸”出内在趋势时视为入场信号。
    • 结构化持仓: 使用基于卡尔曼滤波线本身的“结构化止损”,给趋势以充分的“呼吸空间”,旨在持有完整的波段,避免在健康回调中被过早洗出。

关键参数

  • kalman_process_noise: 卡尔曼滤波器过程噪声。
  • kalman_measurement_noise: 卡尔曼滤波器测量噪声。
  • atr_period: ATR计算周期。
  • atr_lookback: 用于计算ATR分位数的历史窗口。
  • atr_percentile_threshold: ATR必须高于其历史的哪个百分位才认为是“趋势区”。
  • entry_threshold_atr: 入场阈值。
  • initial_stop_atr_multiplier: 初始止损的ATR乘数。
  • structural_stop_atr_multiplier: 结构化止损的ATR乘数。
  • order_direction: 交易方向(买入/卖出)。
  • indicators: 使用的指标列表。

2. KalmanStrategy2.py

策略概述

  • 核心思想: 通过一个核心参数 strategy_mode,在两种市场范式间切换,以适应不同品种的内在“性格”。
  • 主要组成部分:
    • 人格1: 'TREND' (趋势模式):
      • 哲学: 价格的强力突破会引发自我强化的趋势。
      • 入场: 价格向上/下“逃逸”卡尔曼线 -> 做多/做空。
      • 出场: 使用结构化卡尔曼止损,让利润奔跑。
    • 人格2: 'REVERSION' (均值回归模式):
      • 哲学: 价格的极端偏离是不可持续的,终将回归均值。
      • 入场: 价格向上/下极端偏离(超买/超卖) -> 做空/做多。
      • 出场: 当价格回归至卡尔曼线时获利了结。

关键参数

  • strategy_mode: 核心参数,可选 'TREND' 或 'REVERSION'。
  • kalman_process_noise: 卡尔曼滤波器过程噪声。
  • kalman_measurement_noise: 卡尔曼滤波器测量噪声。
  • atr_period: ATR计算周期。
  • atr_lookback: 用于计算ATR分位数的历史窗口。
  • atr_percentile_threshold: ATR必须高于其历史的哪个百分位才认为是“趋势区”。
  • entry_threshold_atr: 入场阈值。
  • initial_stop_atr_multiplier: 初始止损的ATR乘数。
  • structural_stop_atr_multiplier: 结构化止损的ATR乘数。
  • order_direction: 交易方向(买入/卖出)。
  • indicators: 使用的指标列表。

📌 文件区别

KalmanStrategy.py

  • 实现了一个自适应波段策略 (AdaptiveKalmanStrategy),主要用于解决动能策略在回调和震荡市场中的问题。
  • 使用卡尔曼滤波器来识别市场状态和内在趋势并结合ATR指标进行风险管理。

KalmanStrategy2.py

  • 实现了一个双模式卡尔曼策略 (DualModeKalmanStrategy),可以在两种不同的市场模式之间切换:趋势模式和均值回归模式。
  • 通过一个核心参数 strategy_mode 来决定使用哪种模式,并相应地调整入场和出场逻辑。