Files

64 lines
3.5 KiB
Markdown
Raw Permalink Normal View 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` 来决定使用哪种模式,并相应地调整入场和出场逻辑。