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

64 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 卡尔曼策略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` 来决定使用哪种模式,并相应地调整入场和出场逻辑。