简化版量化系统-架构视角


明白。下面我将把“最新版本的决策模型设计”完整合并进你之前的系统需求文档中,并按你认可的系统架构视角重新输出一份 「可直接作为 Spec Kit 输入的完整需求文档」

说明

  • 这是需求文档(PRD / Spec),不是代码,也不是纯架构图
  • 面向对象:AI 编程 / 量化系统 / 回测引擎
  • 决策模块(模块 4)会严格基于你最终确认的完整规则 + 动态评分体系
  • 不纠结实现细节,但规则必须“可落地、可量化、可回测

📘 智能趋势交易系统 — 需求规格说明书(Spec Kit 输入版)

一、项目目标(Project Objective)

构建一个以中长期趋势为核心、短期动量择时为触发、风险优先控制的量化交易系统,支持:

  • 美股 / 港股 / A 股(逻辑通用,参数可配置)
  • 多阶段信号(预警 / 确认 / 执行)
  • 避免追高、避免假突破、避免情绪化交易
  • 可回测、可评分、可持续优化

二、系统总体架构(System Architecture Overview)

系统由 4 个核心模块 组成,模块解耦、数据单向流动:

[1] 数据拉取与清洗
        ↓
[2] 股票池筛选模块
        ↓
[3] 特征加工模块
        ↓
[4] 决策模块(核心)

三、模块 1:数据拉取与清洗模块

3.1 功能职责

  • 拉取并维护以下数据:

    • 日线 OHLCV
    • 复权因子
    • 财务基础数据(PE、ROE、营收、利润等)
    • 公司基本信息(行业、上市时间)

3.2 数据要求

  • 时间粒度:日线(必须)

  • 数据完整性:

    • 自动检测缺失 K 线
    • 异常成交量 / 价格跳变标记

3.3 输出

  • 标准化行情表
  • 标准化财务表
  • 数据质量标记字段(供后续模块使用)

四、模块 2:股票池基础筛选模块(独立、定时运行)

4.1 模块定位

决定“哪些股票有资格进入策略系统”,不负责买卖时机

4.2 运行机制

  • 定时任务(每日 / 每周)
  • 股票池增量更新

4.3 基础筛选规则(示例,可配置)

硬性过滤(必须满足)

  • 上市时间 ≥ 2 年
  • 日均成交额 ≥ 市场最低流动性阈值
  • 非 ST / 非退市风险股

可选质量因子(不直接决定买卖)

  • ROE > 行业中位数
  • 营收 / 利润非持续负增长
  • 行业非系统性衰退期

4.4 输出

  • EligibleStockPool

  • 每只股票附带:

    • 行业
    • 基础财务标签
    • 流动性等级

五、模块 3:特征加工模块(Feature Engineering)

5.1 模块职责

将原始行情数据加工为可直接用于决策的特征变量

5.2 核心特征列表(必须)

趋势类

  • EMA5 / EMA10 / EMA20 / EMA50 / EMA200
  • EMA 斜率(Slope)

动量类

  • EMA5 / EMA10 距离百分比
  • 收盘价相对 10 日高点位置

成交量

  • Volume(5D)
  • AvgVolume(20D)
  • 成交量放大比

位置类

  • 当前价相对 EMA200 百分位
  • 52 周区间位置

5.3 输出

  • 每只股票每日一行 Feature Vector
  • 明确字段命名,供决策模块直接调用

六、模块 4:决策模块(核心模块,重点)

这是系统的“大脑”
负责:信号判断、阶段区分、风险过滤、评分输出


6.1 决策模块总体设计

决策模块采用 三层结构

趋势过滤层(能不能做)
    ↓
信号触发层(有没有机会)
    ↓
动态评分层(值不值得做)

6.2 第一层:长期趋势过滤(Trend Filter)

目标:只在“系统性安全区”内寻找机会

规则(必须全部满足)

Close > EMA200
AND
Slope(EMA200, 20D) ≥ 0

设计意图

  • 防止在个股熊市 / 系统性下跌中频繁试错
  • 不要求价格远离 EMA200(已放宽你之前指出的过严条件)

6.3 第二层:短期动量信号触发(Entry Signal)

6.3.1 预警信号(PRE_ALERT)

目的:提前发现“可能即将启动”的个股,避免追涨

EMA5 / EMA10 distance ≤ 0.3%
AND
Slope(EMA5, 5D) > 0
AND
Close ≥ Recent10DHigh - 2%

信号解释

  • EMA 粘合 + 上行 → 动能在蓄力
  • 接近高点但未突破 → 避免假突破后的追高

6.3.2 确认信号(CONFIRM)

EMA5 crosses above EMA10
AND
Volume(5D) ≥ AvgVolume(20D)
AND
Close > Recent10DHigh

信号解释

  • 均线交叉确认方向
  • 成交量放大 → 真实资金参与
  • 有效突破而非影线假突破

6.4 第三层:动态位置评分系统(Dynamic Position Scoring)

不直接下单,用于“是否值得参与 + 仓位大小”

6.4.1 评分维度

维度 指标 说明
趋势强度 EMA50 / EMA200 中期趋势质量
动量健康 EMA5-EMA10 距离 是否过热
位置安全 距 52 周高点 是否高位
成交量确认 Volume Ratio 是否真实突破

6.4.2 示例评分规则(结构化)

IF Price > EMA50 THEN +20
IF EMA50 > EMA200 THEN +20
IF EMA5/EMA10 distance < 0.5% THEN +20
IF Price within 10% of 52W High THEN -20
IF Volume(5D) > 1.5 × AvgVolume(20D) THEN +20

6.4.3 评分输出

  • Score ∈ [0, 100]

  • 建议用途:

    • ≥70:主力关注
    • 50–70:轻仓试探
    • <50:仅观察,不交易

七、交易执行建议(非强制)

决策模块只输出信号和评分,不强制下单

  • 建议支持:

    • 分批建仓
    • EMA10 / EMA20 失守减仓
    • EMA50 / EMA200 破位清仓

八、评测与验证要求(必须支持)

8.1 回测维度

  • 年化收益
  • 最大回撤
  • 胜率 / 盈亏比
  • 不同市场周期表现(牛 / 震荡 / 熊)

8.2 对照组

  • Buy & Hold
  • 简单 EMA 交叉策略
  • 定投指数

九、跨市场适配说明(你之前的问题)

  • 系统逻辑:通用

  • 需要调整的只有参数

    • EMA 距离阈值
    • 成交量放大倍数
    • PRE_ALERT 宽松度

港股 / A 股 不需要改设计,只需要参数集



posted @ 2026-01-03 15:22  向着朝阳  阅读(96)  评论(0)    收藏  举报