3.5 KiB
3.5 KiB
卡尔曼策略(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' (均值回归模式):
- 哲学: 价格的极端偏离是不可持续的,终将回归均值。
- 入场: 价格向上/下极端偏离(超买/超卖) -> 做空/做多。
- 出场: 当价格回归至卡尔曼线时获利了结。
- 人格1: 'TREND' (趋势模式):
关键参数
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来决定使用哪种模式,并相应地调整入场和出场逻辑。