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