一、量化交易系统的整体架构图
一个成熟的 ATS 基本由以下六层组成:
下面我们分层分析。
二、数据层:量化系统的地基
1. 你需要的数据类型
一个系统要稳定,数据必须完整、干净、可扩展。
你需要:
✔ 行情数据
分钟级行情(OHLCV)
Tick 数据(交易、买卖盘深度)
盘口数据 Level-2(高阶策略)
历史 K 线(用于训练)
✔ 因子数据(结构化数据)
技术因子
基本面因子
风险因子
宏观因子
✔ 非结构化数据(高阶量化)
新闻情绪(NLP)
社交媒体情绪
ESG 数据
Analyst report & earning call transcript
✔ 成交费用数据
手续费费率
滑点模型
交易深度
2. 数据获取方式
a. 免费/开源:
Binance API(加密)
Tushare(A 股)
Yahoo Finance(全球)
FMP API(美股)
Polygon(美股)
b. 专业数据供应商(推荐)
Bloomberg
Wind
Refinitiv
Kaiko(crypto)
Tick Data LLC
如果你要做 中低频量化 + AI 模型,开源数据基本够用;
若你做 高频 / 高频情绪 / 高频套利 → 商业数据是必须。
3. 数据清洗(Data Cleaning)
原始数据可能存在:
缺失值
异常 spike
时间错乱
跨交易所不一致
假量、假价
清洗步骤包括:
清洗后的数据存入数据库:
推荐数据库:
| 场景 | 推荐 |
|---|---|
| 中低频 | PostgreSQL / MySQL |
| 高频 | ClickHouse |
| 分布式 | BigQuery / Snowflake |
| 流式 | Kafka / Redis |
三、因子计算与特征工程层
这一层是量化策略的“大脑”。
1. 技术因子(最常用)
MA(移动平均)
RSI
ATR(波动率)
Momentum 动量
MACD
Bollinger Band
2. 统计因子
Beta
Residual return
Z-score
3. AI 特征(深度因子)
用 LSTM 或 Transformer 提取 price embedding
用 CNN 提取 K 线形态
用自编码器提取市场 latent feature
4. 因子流水线(Pipeline)
典型的 daily pipeline:
可参考 sklearn 的 Pipeline。
四、模型层:策略信号的生成
模型可分为三大类:
1. 规则策略(Rule-based)
例如:
优点:稳定、易解释
缺点:无法适应复杂市场
2. 机器学习策略(AI)
包括:
XGBoost
Random Forest
LSTM
Transformer
Temporal Fusion Transformer
CNN
输出形式:
信号(buy / sell)
价格方向(up/down)
预期收益(regression)
波动率预测(risk)
3. 强化学习策略(RL)
用 PPO/DQN 等算法自动调整:
仓位大小
加仓/减仓
风控触发
风格切换
五、回测与仿真系统(Backtest Engine)
一个优秀的回测引擎必须满足:
1. 无未来函数(no look-ahead)
模型不允许看到未来数据。
2. Tick 到分钟级成交仿真(order simulation)
包括:
买卖深度
滑点
市价/限价订单
部分成交
3. 多策略 / 多品种支持
4. 回测指标
必须输出:
年化收益率
胜率
夏普比
Calmar ratio
最大回撤
盈亏比
停机期间收益(有无过拟合)
六、交易执行系统(Execution Layer)
1. 信号到订单的转换
例如:
信号=+0.8 → 持仓=80%
信号=-1 → 开空 100%
2. 订单类型支持
市价单
限价单
冰山单
TWAP / VWAP(大单分批成交)
Smart Routing(多交易所)
3. 高频场景支持(可选)
需要:
C++/Rust 低延迟框架
WebSocket 实时订阅订单簿
七、风控系统:实盘的生命线
风控主要有三层:
1. 静态风控
最大持仓
最大杠杆
单品种最大仓位
单日最大亏损
2. 动态风控
市场波动率过高自动减仓
跟踪止损(Trailing Stop)
价格偏离预期 → 自动平仓
3. 交易所风控兼容
多账户多交易所
自动补保证金
八、监控与容灾系统
实盘最怕两个字:失控
必须具备:
1. 监控
策略收益实时监控
订单失败告警
延迟告警
数据异常告警
2. 日志
全量日志
错误日志
订单执行日志
3. 容灾
冷备份策略
多节点冗余
实时网络切换
交易失败自动重试
九、如何搭建一个可上线的系统?(可落地)
以下是一个能跑实盘的 MVP 方案:
语言:
Python(策略)
Rust / Go(交易执行)
SQL(数据)
组件:
数据库:PostgreSQL + ClickHouse
缓存:Redis
流服务:Kafka
执行:交易所 API(Binance / OKX / IB 等)
模型:PyTorch / TensorFlow
回测:自研 or zipline / backtrader
部署架构:
十、总结:一个量化系统的好坏,决定你能不能长期赚钱
真正能赚钱的量化团队,拼得不是“策略”,而是:
数据能力
系统稳定性
风控可靠性
工程化质量
自动化程度
策略好坏决定你能不能赚钱;
系统好坏决定你能不能活下去。