A股多因子量化交易平台

从数据到回测到实盘的完整量化流水线 —— 事件驱动架构 · 实时风控熔断 · 多因子信号 · 实盘交易引擎
面向量化开发岗位面试,展示机构级架构设计与A股实盘工程能力

1077
单元测试
96
Python模块
37
Vue组件
30K+
Python代码行
97
API端点
15
Alpha因子

架构概览

事件驱动架构 — 所有组件通过EventBus通信,所有状态通过SQLite持久化

                        ┌─────────────────────────────────────────────┐
                        │         核心架构层 (core/)                  │
                        │  EventBus · Store · StateMachine · Audit   │
                        │  Scheduler · RiskMonitor · CircuitBreaker  │
                        └──────────────┬──────────────────────────────┘
                                       │ 所有组件通过EventBus通信所有状态通过Store持久化
    ┌──────────────────────────────────┼──────────────────────────────────┐
    v                                  v                                  v
 数据层           因子引擎          Alpha模型           组合优化
 合成数据            10技术因子           IC/ICIR加权           EW/MVO/RP
 Tushare            5基本面因子          XGBoost/LightGBM     cvxpy
 Baostock           IC监控+衰减          LLM情绪因子
 PostgreSQL         图网络因子
 WebSocket L2
 实时基本面
    │                  │                    │                     │
    └──────────────────┴────────────────────┴─────────────────────┘
                                              │
                                              v
    ┌─────────────────────────────────────────────────────────────────────┐
    │                         执行与风控层                              │
    │                                                                     │
    │  回测引擎         风险管理         执行层          合规运营     │
    │  向量化月频         VaR/CVaR          TWAP/VWAP           合规导出    │
    │  Walk-Forward       Barra 10因子      Iceberg/SmartRouter  NAV计算    │
    │  蒙特卡洛           实时风控Kill       PaperBroker v2      投资者门户  │
    │  并行参数扫描       压力测试           TCA分析                        │
    └─────────────────────────────────────────────────────────────────────┘
                                              │
                                              v
    ┌─────────────────────────────────────────────────────────────────────┐
    │                        实盘交易与监控                              │
    │                                                                     │
    │  实盘交易引擎        Web界面              监控                       │
    │  AKShare实时行情     FastAPI (97端点)      Prometheus + Grafana       │
    │  Paper Trading       Vue 3 + ECharts       16面板                     │
    │  QMT/xtquant实盘     WebSocket推送         结构化日志                   │
    └─────────────────────────────────────────────────────────────────────┘
    

核心能力

从事件驱动到实盘交易,覆盖机构级量化平台所需的全部能力

能力 实现 级别
事件驱动架构 EventBus: topic pub/sub + 通配符 + 拦截器 + 死信队列 + WAL 机构级
实时风控熔断 RiskMonitor下单前检查 + 5级风险等级 + Kill Switch一键熔断 机构级
多因子信号引擎 15因子(10技术+5基本面) + ICIR加权 + ML信号(XGBoost/LightGBM) 研究级
实盘交易引擎 AKShare实时行情 → 多因子信号 → 风控预检 → Paper/QMT实盘 生产级
A股陷阱全处理 10大A股实盘陷阱:复权/停牌/ST/T+1/幸存者偏差/涨跌停/成本/手数/除权/行业 生产级
未来函数零容忍 Point-in-time IC加权 + Walk-Forward折内重算 + 合成数据真实IC水平 生产级
Barra风险模型 10因子横截面回归 + Ledoit-Wolf收缩 + 风险归因分解 机构级
IC自动衰减监控 滚动IC/ICIR + 衰减检测 + 半衰期估计 + 自适应权重 + 三级告警 机构级
跨资产接口 Instrument统一抽象,支持股票/ETF/期货/期权,per-instrument参数 机构级
LLM增强选股 财经新闻情感因子(Strategy模式) + RAG研究Agent 差异化
增强Paper Trading 延迟模拟/随机部分成交/撤单失败/L2回放/延迟套利检测 生产级
Web实时监控 Bloomberg Terminal风格仪表盘 + WebSocket实时推送 + Grafana监控 生产级

核心模块

96个Python模块,覆盖从数据到执行的完整流水线

事件驱动核心
core/
EventBus解耦所有组件,SQLite持久化全部状态,状态机管理生命周期
  • EventBus: topic pub/sub, 通配符匹配, 拦截器, 死信队列
  • Store: SQLite WAL模式, 8张表, 线程安全
  • StateMachine: 8生命周期状态, 合法转换强制校验
  • AuditLog: 三路输出(SQLite+EventBus+Logger)
  • 跨资产抽象: Instrument/AssetUniverse, 股票/ETF/期货/期权
  • Scheduler: A股开市时间检测, 自动状态切换
📊
数据层
data/
多源数据流水线,支持合成/Synthetic/Tushare/Baostock/PostgreSQL/WebSocket/Level2
  • 合成数据: 500只/5年/可复现/嵌入式Alpha
  • Baostock: 免费A股数据, 实时行情, 无需API Key
  • WebSocket: 东方财富/新浪实时行情推送
  • Level 2: 10档盘口+逐笔成交+VWAP+微观结构因子
  • 实时基本面: PE/PB/ROE/ROA, TTL缓存, 选股器
  • 数据质量: 8项检查+严重性分级+质量报告
📈
因子引擎
factors/
15个因子(10技术+5基本面) + 横截面处理 + 评估体系 + 图网络因子
  • 10技术因子: 动量/波动率/换手/RSI/MACD/振幅
  • 5基本面因子: 市值/PB/PE/ROE/资产增长
  • 处理流水线: 缩尾→标准化→中性化
  • IC评估: Rank IC/ICIR/分位数收益/衰减曲线
  • IC自动衰减: 滚动监控→自动降权→自动恢复
  • 图网络因子: PageRank/特征向量/介数/度
🧠
Alpha模型
alpha/
IC/ICIR加权 + XGBoost/LightGBM ML信号 + 市场状态检测因子
  • 3种合成: 等权/IC加权/ICIR加权
  • ML信号: XGBoost/LightGBM + Walk-Forward CV
  • SHAP可解释性: 因子贡献可视化
  • 市场状态因子: CompositeRegimeDetector
  • Point-in-time: 严格因果, 零未来函数
  • 自动重训练: 每季度自动重新拟合
🛡️
回测引擎
backtest/
向量化月频回测 + Walk-Forward验证 + 蒙特卡洛模拟 + 并行参数扫描
  • 向量化回测: 月频调仓, 日频持仓漂移
  • A股成本: 佣金0.03%+印花税0.1%+滑点
  • Walk-Forward: 滚动/扩展OOS, 折内重算信号
  • 蒙特卡洛: Block Bootstrap, 置信区间
  • 并行扫描: ProcessPoolExecutor参数网格
  • 容量估算: 参与率限制+AUM-收益曲线
🔒
风险管理
risk/
实时风控熔断 + Barra 10因子风险模型 + VaR/压力测试 + 行情状态检测
  • CircuitBreaker: 仓位/行业/亏损/回撤限额
  • 5级风险: GREEN→YELLOW→ORANGE→RED→KILL
  • Kill Switch: 一键熔断, 紧急平仓
  • Barra: 10因子横截面回归+风险归因
  • VaR/CVaR: 历史/参数/蒙特卡洛三种方法
  • 压力测试: 2008/2015/2020三大危机场景
⚙️
执行层
execution/
OMS订单管理 + TWAP/VWAP/Iceberg执行算法 + TCA分析 + PaperBroker v2
  • OMS: 订单全生命周期(PENDING→FILLED)
  • TWAP/VWAP/Iceberg: 三种机构级执行算法
  • TCA: Implementation Shortfall/VWAP分解
  • PaperBroker v2: 延迟/部分成交/撤单失败模拟
  • L2回放: 真实盘口数据回放测试
  • SmartRouter: 按ADV自动选择执行算法
💰
实盘交易
trading/
AKShare实时行情 → 多因子信号 → 风控预检 → 下单 → 实时P&L → WebSocket推送
  • SimulatedBroker: A股T+1/佣金/印花税全模拟
  • QMTBroker: xtquant实盘接口, 支持国金/华鑫等券商
  • 多因子信号: 动量+低波+RSI+MACD复合
  • 实盘试跑: 双轨执行+每日报告+SessionReport
  • WebSocket推送: EventBus→前端实时交易事件
  • 开盘前自检: 5项检查, 失败阻断发单
🤖
LLM增强
agent/
财经新闻情感因子 + RAG研究Agent,展示Agent/RAG技能到量化的迁移
  • LLMSentimentFactor: 新闻标题→情绪因子
  • Strategy模式: KeywordAnalyzer↔OpenAI
  • 30条中文财经模板: 看涨/看跌/中性
  • RAG Agent: 研报分析+因子假设+归因叙述
  • JSON本地缓存: TTL机制, 减少API调用
  • 集成Alpha Pipeline: 第16个因子

数据流

一次完整的流水线执行:python main.py run

1

数据加载

DataProviderDataPipeline (清洗/对齐/过滤ST/停牌) → prices, returns, benchmark, financials。支持合成数据 / Tushare / Baostock / PostgreSQL。

2

因子计算

FactorEngine 计算15个因子 → 横截面处理(缩尾→标准化→中性化) → IC评估。Numba JIT加速热路径。

3

Alpha信号

AlphaPipeline 因子合成(ICIR加权) → 横截面排名归一化 → 信号。支持XGBoost/LightGBM ML信号和LLM情绪因子。

4

组合优化

协方差估计(Ledoit-Wolf/EWMA) → PortfolioOptimizer (EW/MVO/RP) → 目标权重,满足纯多头/上限/行业/换手/手数约束。

5

回测

BacktestEngine 多期模拟 → 日频持仓漂移 → 调仓扣费(佣金0.03%+印花税0.1%+滑点)。可选Walk-Forward/蒙特卡洛/并行扫描。

6

风险分析与报告

VaR/CVaR → 压力测试(2008/2015/2020) → Barra分解 → 行情检测 → HTML报告(ECharts+KPI+因子+风险)。

A股实盘陷阱处理

10个A股特有的实盘陷阱,每个都有显式代码处理。面试必考。

1. 复权
Tushare前复权(qfq);合成数据生成adj_factor,计算close_adj
2. 停牌
短停牌(≤30天)前向填充;长停牌移出股票池
3. 幸存者偏差
跟踪上市/退市日期,时间点股票池构建,不偷看未来
4. 涨跌停
日收益截断±10%;涨跌停标记;成本模型额外滑点
5. ST股票
is_st标记,默认排除(±5%涨跌停/高退市风险/低流动性)
6. T+1
月频调仓天然规避;日频用shift(-1)次日执行
7. 交易成本
佣金0.03%双边 + 印花税0.1%仅卖出 + 滑点(固定/比例)
8. 手数限制
100股=1手,优化器向下取整到整手倍数
9. 除权除息
前复权将分红调整嵌入历史价格,价格连续
10. 行业漂移
取最新行业分类;动态中性化处理行业重分类

快速开始

三步启动完整量化流水线

终端
# 1. 安装依赖 $ pip install -r requirements.txt # 2. 运行完整流水线(合成数据,无需API key,约3分钟) $ python main.py run --force INFO | [1/6] 数据加载... (500只股票, 5年) INFO | [2/6] 因子计算... (15个因子) INFO | [3/6] Alpha信号生成... INFO | [4/6] 组合优化... INFO | [5/6] 回测执行... INFO | [6/6] 报告生成... INFO | 结果已保存: ./results/ # 3. 运行所有测试 $ pytest tests/ -v 1077 passed

更多命令

CLI 参考
# Baostock 实盘数据(免费,无需API key)
python main.py run --use-baostock

# 策略对比(3种优化器)
python main.py compare --optimizers equal_weight,mean_variance,risk_parity

# 参数网格搜索
python main.py sweep --optimizers equal_weight,mean_variance --frequencies monthly,weekly

# ML Alpha信号
python main.py ml train --model lightgbm
python main.py ml signal --model xgboost

# Paper Trading(默认,30天仿真)
python main.py trade --broker paper --days 60

# QMT实盘(需miniQMT + xtquant)
export QMT_PASSWORD="your_sim_password"
python main.py trade --broker qmt --days 30

# LLM研究Agent
python main.py research report

# 启动Web服务
python main.py web

技术栈

全栈生产级技术选型

Python 3.10+
核心语言
asyncio
事件驱动
Numba
6个JIT内核加速
Pandas/NumPy
数据处理
cvxpy
组合优化
XGBoost/LightGBM
ML Alpha信号
FastAPI
REST API (97端点)
Vue 3 + ECharts
Bloomberg风格仪表盘
SQLite WAL
状态持久化
PostgreSQL
生产级存储
AKShare
A股实时行情
WebSocket
实时推送
Prometheus+Grafana
监控 (16面板)
Docker
容器化部署
GitHub Actions
CI/CD
Redis/Kafka
可插拔消息队列

项目结构

96个Python模块按领域组织

文件树
quant_platform/
├── main.py                     # CLI入口
├── app.py                      # FastAPI应用
├── CLAUDE.md                   # 完整架构文档
├── BEGINNER_GUIDE.md           # 量化新手入门
│
├── core/                       # ★ 核心架构层
│   ├── events.py               # EventBus: topic pub/sub, 通配符, 死信队列
│   ├── store.py                # SQLite持久化: WAL模式, 8张表
│   ├── state_machine.py        # 状态机: 8生命周期状态
│   ├── scheduler.py            # 交易调度: A股开市时间
│   ├── audit.py                # 合规审计: 三路输出
│   ├── context.py              # 多租户上下文
│   └── instrument.py           # 跨资产抽象: 股票/ETF/期货/期权
│
├── data/                       # 数据层 (8个数据源提供者)
├── factors/                    # 因子引擎 (15因子)
├── alpha/                      # Alpha模型 (IC/ICIR/ML/Regime)
├── portfolio/                  # 组合优化 (EW/MVO/RP)
├── backtest/                   # 回测引擎 (向量化/WalkForward/MC/并行)
├── execution/                  # 执行层 (OMS/算法/TCA/PaperBroker)
├── risk/                       # 风险管理 (VaR/Barra/风控/压力/行情)
├── trading/                    # 实盘交易 (Broker/Engine/LiveRunner)
├── strategy/                   # 多策略管理 (Multi-Pod)
├── compliance/                 # 合规导出 (CSV/Excel)
├── operations/                 # 基金运营 (NAV/投资者门户)
├── agent/                      # LLM增强 (情感因子/RAG)
├── api/                        # FastAPI (97端点)
├── frontend/                   # Vue 3 (37组件)
├── monitoring/                 # Grafana (16面板)
├── utils/                      # 工具 (Numba/缓存/配置/指标)
│
└── tests/                      # 1077个单元测试
    ├── test_core/              # 核心架构 (137测试)
    ├── test_data/              # 数据层 (105测试)
    ├── test_factors/           # 因子引擎 (95测试)
    ├── test_execution/         # 执行层 (94测试)
    ├── test_trading/           # 实盘交易 (112测试)
    ├── test_risk/              # 风险管理 (51测试)
    └── ...