黑马判势策略详解

📑 目录
  1. 策略概述
  2. 策略原理
  3. 核心参数
  4. 状态转换逻辑
  5. 策略特点
  6. 相关文件清单

黑马判势策略详解

策略概述

黑马判势策略是一种基于 EXPMA(指数移动平均线)的趋势跟踪系统,通过多周期均线交叉和 SAR 辅助判断,识别市场趋势转折点,实现趋势跟踪交易。

核心代码位于 E:\钱龙\py\量化策略\ 目录下的多个文件中,主算法为 calculateqldkaligned 函数。


策略原理

EXPMA 指数移动平均线系统

EXPMA(Exponential Moving Average)是一种加权移动平均线,对近期价格赋予更高权重,反应更灵敏于价格变化。

黑马判势策略使用多周期 EXPMA 组合来判断趋势方向:

  • 短期周期(period):用于计算短期极值,判断短期趋势
  • 加速因子(af):动态调整追踪速度
  • 极值追踪:通过 pmax(周期内最高价)和 pmin(周期内最低价)确定趋势边界

核心算法逻辑

def calculate_qldk_aligned(df: pd.DataFrame,
                           period: int = 4,
                           af0: float = 0.10,
                           step: float = 0.10,
                           max_af: float = 0.20):

算法通过状态机控制趋势转换:

  1. 状态 0(初始化):设置初始 SAR 和加速因子
  2. 状态 1(做多):SAR 向上追踪,若跌破则转空
  3. 状态 2(做空准备):切换至做空状态
  4. 状态 3(做空):SAR 向下追踪,若突破则转多

SAR 计算逻辑

p_max[i] = max(high[i-period+1...i])   # 周期内最高价
p_min[i] = min(low[i-period+1...i])    # 周期内最低价

# 做多时 SAR 向上推进
sar[i+1] = sar[i] + (p_max[i] - sar[i]) * af

# 做空时 SAR 向下推进
sar[i+1] = sar[i] - (sar[i] - p_min[i]) * af

核心参数

参数默认值说明
period4极值计算周期,用于确定价格通道
af00.10初始加速因子
step0.10加速因子步长
max_af0.20加速因子最大值

状态转换逻辑

策略通过 4 个状态管理趋势转换:

状态 0 (初始化)  ──→  状态 1 (做多初始)
                        │
                        │ 收盘价跌破 SAR
                        ▼
状态 2 (反转准备)  ──→  状态 3 (做空初始)
                        │
                        │ 收盘价突破 SAR
                        ▼
                    状态 1 (做多初始)
                    ...

做多状态

if state == 1:
    if temp_sar[i] <= c[i]:  # 收盘价在 SAR 之上
        # 继续做多,AF 递增
        if h[i] > h[i-1] and af < max_af:
            af += step
        temp_sar[i+1] = temp_sar[i] + (p_max[i] - temp_sar[i]) * af
    else:
        state = 2  # 跌破 SAR,准备反转

做空状态

if state == 3:
    if temp_sar[i] >= c[i]:  # 收盘价在 SAR 之下
        # 继续做空,AF 递增
        if l[i] < l[i-1] and af < max_af:
            af += step
        temp_sar[i+1] = temp_sar[i] - (temp_sar[i] - p_min[i]) * af
    else:
        state = 0  # 突破 SAR,准备反转

策略特点

  1. 多周期分析:通过 period 参数控制分析周期,可适应不同时间框架
  2. 动态加速:加速因子随趋势强化递增,提高跟踪效率
  3. 极值追踪:基于周期内最高/最低价确定趋势边界
  4. 双向交易:支持多空双向操作

相关文件清单

Python 实现

文件路径说明
黑马判势终稿统计.pyE:\钱龙\py\量化策略\黑马判势终稿统计.py主算法实现(calculateqldkaligned)及统计回测
黑马判势终稿收益走势.pyE:\钱龙\py\量化策略\黑马判势终稿收益走势.py收益走势分析可视化
黑马判势终稿复利统计.pyE:\钱龙\py\量化策略\黑马判势终稿复利统计.py复利效果统计
黑马判势终稿统计元宝.pyE:\钱龙\py\量化策略\黑马判势终稿统计元宝.py元宝大模型生成版统计
黑马判势终稿统计gpt.pyE:\钱龙\py\量化策略\黑马判势终稿统计gpt.pyGPT 生成版统计
黑马判势终稿统计kimi.pyE:\钱龙\py\量化策略\黑马判势终稿统计kimi.pyKimi 生成版统计
黑马判势终稿风险统计.pyE:\钱龙\py\量化策略\黑马判势终稿风险统计.py风险指标统计
黑马判势终稿 copy.pyE:\钱龙\py\量化策略\黑马判势终稿 copy.py备份版本

C++ 实现

文件路径说明
黑马判势绩效统计.c++E:\钱龙\py\量化策略\黑马判势绩效统计.c++C++ 绩效统计实现
黑马战略家.c++E:\钱龙\py\量化策略\黑马战略家.c++C++ 战略实现

Dart 手机版

文件路径说明
手机黑马判势expma_utils.dartE:\钱龙\py\量化策略\手机黑马判势expma_utils.dart手机端 Dart 实现

依赖工具

文件路径说明
method_all.pyE:\钱龙\py\量化策略\method_all.py策略目录下的工具库
tool.pyE:\钱龙\py\量化策略\tool.py基础工具函数
method_all.pyE:\钱龙\py\method_all.py根目录核心工具库