试探性建仓量化规则


好的,我把你前面讨论的所有内容整合起来,整理成一个工程化、可落地的试探性建仓预警规则体系,从宏观结构到具体评分逻辑,都明确标注层级和执行顺序,方便直接用于实现或写入 PRD。


试探性建仓预警规则(工程化版 V0)

一、规则整体架构

层级顺序

  1. 长期趋势过滤(Trend Gate)

    • 用于剔除明显下跌趋势的股票,保证短期动量信号的方向正确。
  2. 波动分类(Volatility Class)

    • 判断股票处于高波动 / 中低波动状态,用于选择短期均线组合。
  3. 短期均线结构分析(Momentum Trigger)

    • 判断短期均线交叉、斜率等结构是否满足建仓条件。
  4. 评分与预警生成(Score & Signal)

    • 根据斜率、结构接近度打分,生成试探性建仓预警。

二、规则细节

1️⃣ 长期趋势过滤(Trend Gate)

条件 说明
Close > EMA200 股票价格在长期均线之上,表示长期趋势尚可
EMA200 Slope ≥ 0 EMA200 近 20 日斜率向上或平,防止逆势信号

可选柔性处理(降低信号丢失):

状态 处理方式
Close 略低于 EMA200(<2%) 信号分值 × 0.5
Close 明显低于 EMA200 不发预警

2️⃣ 波动分类(Volatility Class)

方案 A:V0(数据不足时使用结构性代理)

因素 分类逻辑
市值 <100 亿 → 高波动;100–500 亿 → 中波动;>500 亿 → 低波动
盈利状态 连续盈利 → 波动等级 −1;长期亏损 → 波动等级 +1;其他 → 不变

最终波动等级 = 市值分类 + 盈利调整(取 [低波动, 高波动] 范围)

方案 B:V1(数据足够时,推荐逐步替换为基于价格行为的波动指标)

Volatility = ATR(14) / Close
  • ATR = Average True Range (14 天)
  • 相对波动百分比可直接映射高 / 中 / 低波动
  • 市值/盈利可做修正因子

3️⃣ 短期均线结构分析(Momentum Trigger)

高波动股票

指标 条件 分值示例
EMA2 / EMA5 EMA2 > EMA5(上穿) 必须满足
EMA2 Slope (%) >1.2% +3
EMA2 Slope 0.6–1.2% +2
EMA2 Slope 0.3–0.6% +1
EMA2 与 EMA5 相对距离 (%) >0.8% +1

低波动股票

指标 条件 分值示例
EMA5 / EMA10 EMA5 < EMA10 且 EMA5 Slope > EMA10 Slope 必须满足
Gap = (EMA10 − EMA5)/EMA10 <0.3% +2
Gap 0.3–0.6% +1
EMA5 Slope (%) >0.4% +2
EMA5 Slope 0.2–0.4% +1

4️⃣ 分值计算与预警生成

  • 总分 ≥ 3 → 发出试探性建仓预警
  • 分值越高 → 趋势启动概率越大,可用于产品端“信号强度显示”

5️⃣ 执行逻辑(伪流程)

for each stock in stock_pool:

    # 1. 长期趋势过滤
    if Close < EMA200 or EMA200_slope < 0:
        skip  # 不生成预警

    # 2. 波动分类
    if data_available:
        Volatility_Class = calculate_ATR_based_volatility(stock)
    else:
        Volatility_Class = structural_volatility(MarketCap, Profitability)

    # 3. 短期均线规则
    if Volatility_Class == 'High':
        score = score_high_vol(stock)
    elif Volatility_Class == 'Low':
        score = score_low_vol(stock)

    # 4. 分值门槛判断
    if score >= 3:
        generate_alert(stock, score)

6️⃣ 产品/工程注意点

  1. 长期趋势优先:MA200 过滤是一级门控,避免短期动量逆势误导。
  2. 波动分类 V0/V1:V0 通过市值/盈利代理,V1 可引入 ATR/Close 做动态修正。
  3. 斜率归一化:所有斜率使用百分比形式 (EMA_today - EMA_n_days_ago)/EMA_n_days_ago,便于跨股票比较。
  4. 信号是试探性:不是自动交易信号,提供概率/分值供人工决策。
  5. 信号可分级显示:例如 3–4 分 → 弱预警,5+ → 强预警。

这套规则体系 兼顾了可落地性、工程化、未来可升级性,并将你讨论过的市值、盈利、均线交叉、斜率、MA200 长期趋势过滤全部整合进去。


如果你需要,我可以帮你把它直接写成 Python 可运行的函数版本,输入股票池和历史数据,输出每只股票的“试探性建仓分值”,并标出是否发出预警。

你希望我帮你做这个吗?

posted @ 2026-01-06 17:05  向着朝阳  阅读(43)  评论(0)    收藏  举报