量化交易全景解析:历史、术语、策略体系、技术架构与现代 AI 方法
本文是教育性技术文章,不构成投资建议、交易建议或收益承诺。量化交易本质上是在不确定市场中用数据、模型、工程和风控管理概率,任何真实交易都可能亏损。
“量化交易”这个词很容易被误解。
很多人以为它是:
写一个策略 -> 回测赚钱 -> 上线自动交易 -> 持续赚钱
真实情况更接近:
市场假设
-> 数据工程
-> 特征/因子
-> 统计验证
-> 组合构建
-> 交易成本建模
-> 回测与样本外检验
-> 模拟盘
-> 风控闸门
-> 执行系统
-> 线上监控
-> 失效检测与迭代
量化交易不是一个指标、一个模型、一个脚本或一个交易机器人,而是一套横跨 金融理论、统计学习、数据工程、市场微观结构、软件系统、低延迟工程、投资组合、风控合规和组织流程 的复杂体系。
图 1 展示的是量化交易最核心的闭环:先提出可解释的市场假设,再把它转成可计算的因子、模型或规则,然后用严谨回测和模拟盘过滤掉错觉,最后进入有风控、有审计、有监控的生产环境。
零、先把关键词放到坐标系里
如果把量化交易的关键词混在一起,很快会变成一堆名词:
alpha、factor、IC、Sharpe、回撤、滑点、撮合、VWAP、TWAP、风险模型、贝塔中性、机器学习、强化学习、事件驱动、HFT、订单簿、回测、实盘
更好的读法是把它们放到系统坐标系里。
| 坐标轴 | 关键问题 | 典型关键词 |
|---|---|---|
| 市场对象 | 交易什么? | 股票、期货、期权、外汇、加密货币、ETF、债券、商品 |
| 数据层 | 用什么数据理解市场? | OHLCV、tick、order book、fundamentals、news、alternative data、PIT data |
| 信号层 | 预测什么? | alpha、factor、return forecast、volatility forecast、event signal |
| 模型层 | 如何从数据到信号? | 统计模型、线性回归、树模型、深度学习、强化学习、LLM/Agent |
| 组合层 | 如何把信号变成仓位? | position sizing、risk budgeting、mean-variance、Kelly、约束优化 |
| 执行层 | 如何把仓位变成订单? | market/limit order、TWAP、VWAP、POV、smart routing、slippage |
| 风控层 | 如何限制错误? | exposure、drawdown、VaR、stress test、kill switch、pre-trade risk |
| 回测层 | 如何验证策略? | event-driven backtest、vectorized backtest、walk-forward、paper trading |
| 系统层 | 如何稳定运行? | OMS、EMS、FIX、Kafka、Redis、ClickHouse、监控、审计、回滚 |
| 合规层 | 什么不能做? | spoofing、layering、wash trade、market access rule、审计记录 |
这张表里有一个重要结论:量化交易的难点不在“会不会写一个买卖规则”,而在于每一层都可能产生虚假的收益。
例如:
- 数据层可能有未来函数;
- 信号层可能过拟合;
- 回测层可能漏掉滑点;
- 组合层可能忽略容量;
- 执行层可能成交不了;
- 风控层可能没有处理极端行情;
- 系统层可能重复下单;
- 合规层可能触碰操纵市场红线。
所以一套可讨论的量化方案不能只说“我用了某个指标”。它至少要能说清楚:
universe: "沪深300成分股 / US large-cap / BTC perpetuals"
data:
frequency: "daily / 1min / tick"
point_in_time: true
adjusted: true
signal:
target: "next 5-day excess return"
neutralization: ["industry", "size", "beta"]
portfolio:
rebalance: "weekly"
max_weight: "2%"
sector_limit: "20%"
execution:
cost_model: "commission + slippage + market impact"
validation:
split: "walk-forward"
metrics: ["IC", "Sharpe", "max_drawdown", "turnover", "capacity"]
risk:
stop_trading: ["daily_loss_limit", "position_limit", "data_delay"]
这才是工程意义上的量化交易描述。
一、量化交易到底是什么?
最朴素的定义:
量化交易是把交易决策系统化、数据化、模型化和自动化,用可复现的规则或算法决定买什么、卖什么、买多少、什么时候交易、如何执行以及何时停止。
它包含几个层次。
| 层次 | 含义 | 例子 |
|---|---|---|
| 量化研究 | 用数据和模型寻找可验证的市场规律 | 因子研究、事件研究、统计套利 |
| 系统化投资 | 把投资决策写成规则并稳定执行 | 指数增强、多因子选股、风险平价 |
| 算法交易 | 用算法完成订单执行 | TWAP、VWAP、POV、智能路由 |
| 自动交易 | 策略信号自动触发订单 | 交易机器人、实盘策略进程 |
| 高频交易 | 极低延迟下利用微观结构机会 | 做市、盘口套利、延迟套利 |
这些词有交集,但不是同义词。
1. 量化交易 vs 算法交易
量化交易关注的是“如何产生投资或交易决策”。
算法交易关注的是“如何把订单执行得更好”。
例如,一个基金经理决定买入 10 亿美元某只股票,这个决策可能来自基本面研究,不一定是量化;但为了降低冲击成本,可以用 VWAP 或 POV 算法拆单执行,这属于算法交易。
反过来,一个多因子模型每天给出 300 只股票的目标权重,这是量化投资;它最终下单时也可能需要算法交易。
2. 量化交易 vs 高频交易
高频交易是量化交易的一小部分,特点是:
- 持仓周期极短;
- 对延迟极敏感;
- 使用 tick、order book、逐笔成交;
- 关注队列位置、撮合规则、交易所微结构;
- 系统常用 C++、Rust、FPGA、专线、内核调优。
大多数个人或普通团队做的不是 HFT,而是中低频量化:
- 日频多因子;
- 分钟级趋势或反转;
- 加密货币交易机器人;
- 期货 CTA;
- 统计套利;
- 组合再平衡。
不要把“自动下单”误认为“高频”。一个每天调仓一次的策略也可以完全自动化,但它不是 HFT。
3. 量化交易的核心公式
交易系统最终都在回答一个问题:
期望收益 - 成本 - 风险调整后,是否还有足够边际?
可以简化成:
expected_edge = expected_return - transaction_cost - market_impact - risk_penalty
如果 expected_edge 不显著大于 0,策略不应该交易。
这句话听起来简单,但每一项都很难:
expected_return会随市场状态变化;transaction_cost包含佣金、手续费、税费、借券成本、资金费率;market_impact与成交量、流动性、波动率、订单方向有关;risk_penalty取决于波动、回撤、杠杆、相关性、尾部风险和资金约束。
量化交易的真正目标不是预测每一次涨跌,而是在足够多次交易中,让可控风险下的正期望稳定出现。
二、量化交易历史:从现代金融理论到 AI Agent
1. 随机过程和现代投资组合理论
量化金融的早期基础不是“自动交易”,而是“如何用数学描述价格、收益和风险”。
1900 年,Louis Bachelier 在研究投机价格时引入随机过程思想。1952 年,Harry Markowitz 提出现代投资组合理论,用均值和方差描述收益-风险权衡。此后 CAPM、有效市场假说、套利定价理论、Black-Scholes-Merton 期权定价等理论逐步建立。
这一阶段的关键词是:
- return;
- volatility;
- covariance;
- diversification;
- efficient frontier;
- beta;
- risk premium;
- no-arbitrage。
这奠定了量化投资的底层语言:资产不是孤立看的,而是在收益、风险、相关性和约束下组合起来看的。
2. 程序化交易和统计套利
1970s 到 1990s,计算机和电子交易基础设施逐渐成熟。机构开始用程序执行篮子交易、指数套利、组合保险和统计套利。
统计套利的核心不是寻找单一资产的绝对方向,而是寻找相对错价:
资产 A 和 B 长期有稳定关系
当价差异常扩大
做多低估的一边,做空高估的一边
等待关系回归
这类方法推动了 pair trading、cointegration、market neutral、factor neutral 等概念进入主流。
3. 高频交易和市场微观结构
2000s 之后,交易所电子化、撮合速度提升、市场碎片化、网络专线和机房托管推动了 HFT。
这一阶段的核心问题变成:
- 盘口下一档的流动性有多少?
- 我的限价单排在队列第几位?
- 撤单是否来得及?
- 不同交易所价格是否短暂不同步?
- 订单会不会造成可观冲击?
- 是否会触发自成交或合规风险?
量化交易从“统计建模”进入“系统工程和微观结构”阶段。
4. 机器学习和另类数据
2010s 以后,数据源和建模方法快速扩张:
- 新闻和公告 NLP;
- 卫星、航运、信用卡、招聘、App 使用等另类数据;
- gradient boosting、random forest、deep learning;
- 更大规模的特征工程;
- 更细粒度的时序建模;
- 更自动化的实验平台。
但机器学习没有消除量化交易的基本难题。金融数据低信噪比、非平稳、样本少、反馈慢、容易过拟合。很多机器学习模型在 Kaggle 式问题上很强,在真实市场里却会被交易成本、容量、制度变化和尾部风险击穿。
5. AI-native quant 和 Agent 时代
2024 以后,LLM 和多 Agent 开始进入量化研究工作流。典型方向包括:
- 自动阅读研报和公告;
- 从文本中生成因子假设;
- 自动写因子代码;
- 自动跑回测和生成报告;
- 自动诊断策略失败原因;
- 把研究、开发、评估、反馈组织成 Agent 闭环。
Microsoft 的 Qlib 和 RD-Agent 代表了这种趋势:Qlib 是 AI-oriented quantitative investment platform;RD-Agent(Q) 则尝试用多 Agent 自动化因子和模型联合优化。
但这并不意味着“让 LLM 自动炒股”。更现实的定位是:LLM 是研究和工程助手,不能替代数据校验、统计检验、风控、合规和实盘审计。
三、核心专有名词:读懂量化交易的词典
1. 收益与价格
| 名词 | 含义 | 为什么重要 |
|---|---|---|
| price | 价格 | 原始价格不能直接跨资产比较 |
| return | 收益率 | 策略评估通常基于收益率 |
| log return | 对数收益 | 方便时间累加和统计建模 |
| excess return | 超额收益 | 相对无风险利率、指数或风格基准的收益 |
| cumulative return | 累计收益 | 直观,但容易掩盖回撤路径 |
| annualized return | 年化收益 | 便于跨周期比较,但对短样本很敏感 |
常见收益率:
simple_return = price_t / price_{t-1} - 1
log_return = log(price_t / price_{t-1})
在日频数据里,两者差异通常不大;在高波动、高杠杆或长周期累积时,对数收益更方便做统计分析。
2. 风险与回撤
| 名词 | 含义 | 注意事项 |
|---|---|---|
| volatility | 波动率,收益的标准差 | 不等于亏损,但常用作风险代理 |
| drawdown | 从历史高点到当前的跌幅 | 直接影响资金和心理承受能力 |
| max drawdown | 最大回撤 | 回测里很重要,但样本外可能更差 |
| VaR | 在置信水平下的潜在损失分位数 | 对尾部形态假设敏感 |
| Expected Shortfall | 超过 VaR 后的平均损失 | 比 VaR 更关注尾部 |
| tail risk | 极端事件风险 | 低频但可能致命 |
| leverage | 杠杆 | 放大收益,也放大亏损和强平风险 |
最大回撤不是一个抽象指标。它会决定:
- 投资人是否赎回;
- 策略是否触发停机;
- 杠杆是否被迫降低;
- 是否发生保证金追缴;
- 是否能活到长期优势显现。
3. Alpha、Beta、Factor
| 名词 | 含义 | 例子 |
|---|---|---|
| beta | 对系统性风险的暴露 | 市场 beta、行业 beta、利率 beta |
| alpha | 无法被已知风险暴露解释的超额收益 | 一个有效因子或策略边际 |
| factor | 用来解释或预测收益的变量 | 价值、动量、质量、低波、规模 |
| factor return | 因子组合本身的收益 | 做多高因子值、做空低因子值 |
| factor exposure | 组合对某个因子的暴露 | 风格偏离、行业偏离 |
一个策略赚钱不等于有 alpha。它可能只是:
- 长期做多市场;
- 偏向小盘;
- 偏向高 beta;
- 暴露在某个行业;
- 暴露在流动性风险;
- 承担了左尾风险。
所以量化研究会做风险归因:
strategy_return
= market_beta * market_return
+ style_factor_exposures * style_factor_returns
+ industry_exposures * industry_returns
+ residual_alpha
真正困难的是让 residual_alpha 在样本外仍然稳定。
4. IC、IR、分层收益
因子研究里最常见的指标是 IC。
IC = corr(factor_value_t, future_return_{t+1})
如果某个因子的 IC 长期为正,说明因子值越高,未来收益倾向越高。
但 IC 不是越高越好,还要看:
- 是否稳定;
- 是否集中在少数年份;
- 是否只在某些行业有效;
- 是否被极端值驱动;
- 是否扣除交易成本后还有收益;
- 是否和已有因子高度重复。
IR 可以粗略理解成 IC 的稳定性:
IR = mean(IC) / std(IC)
分层收益则把股票按因子值分成若干组:
Q1: 因子最低的一组
Q5: 因子最高的一组
long_short = Q5 - Q1
如果因子有效,通常希望看到因子分层收益大致单调,而不是只有某一组异常。
5. Sharpe、Sortino、Calmar
| 指标 | 公式直觉 | 关注点 |
|---|---|---|
| Sharpe | 超额收益 / 波动率 | 单位波动带来的收益 |
| Sortino | 超额收益 / 下行波动 | 只惩罚下跌波动 |
| Calmar | 年化收益 / 最大回撤 | 回撤调整后的收益 |
| Win rate | 盈利交易占比 | 容易误导,赔率更重要 |
| Profit factor | 总盈利 / 总亏损 | 交易系统常用 |
Sharpe 不是万能指标。一个策略可以有高 Sharpe,但隐藏尾部风险;一个趋势策略可能胜率低但赔率高;一个做市策略可能长期小赚但偶尔大亏。
所以评估必须组合看:
收益、波动、回撤、尾部、换手、容量、成本、相关性、稳定性
6. 成本、滑点、冲击
| 名词 | 含义 |
|---|---|
| commission | 佣金 |
| fee | 手续费、交易所费率 |
| tax | 印花税等税费 |
| bid-ask spread | 买一卖一价差 |
| slippage | 预期成交价与实际成交价差异 |
| market impact | 你的订单对市场价格造成的影响 |
| borrow cost | 融券或借币成本 |
| funding rate | 永续合约资金费率 |
很多回测收益都死在成本上。
假设一个日频策略年化毛收益 20%,但年换手 1200%,单边成本 5 bps:
annual_cost ~= turnover * one_way_cost
annual_cost ~= 12 * 0.0005 = 0.6 = 60%
这说明策略毛收益再漂亮,也可能被交易成本完全吃掉。中高频策略更是如此。
7. 容量和拥挤
容量是策略能承载多少资金。
一个小资金回测很好,不代表大资金能复制。原因包括:
- 标的成交量有限;
- 下单会推动价格;
- 市场冲击随规模上升;
- 同类策略拥挤;
- 因子暴露过于集中;
- 退出时流动性消失。
容量不是锦上添花,而是决定策略商业价值的核心指标。
8. 常见偏差
| 偏差 | 含义 | 例子 |
|---|---|---|
| look-ahead bias | 使用了当时不知道的未来信息 | 用当天收盘后财报做当天交易 |
| survivorship bias | 只看幸存标的 | 只用今天仍上市的股票回测 10 年 |
| selection bias | 只保留表现好的实验 | 试了 1000 个策略只展示最好的 |
| data snooping | 反复调参挖出偶然规律 | 参数在历史数据上越来越完美 |
| overfitting | 模型记住历史噪声 | 样本内很好,样本外崩 |
| regime shift | 市场机制变化 | 低利率时代策略到高利率时代失效 |
| stale data | 使用延迟或错误数据 | 行情断流但策略继续交易 |
| execution bias | 假设能按理想价格成交 | 用收盘价产生信号并按同一收盘价成交 |
量化交易里最昂贵的错误,往往不是代码报错,而是代码没有报错但研究结论是假的。
四、量化交易复杂体系图
这张图说明:你不能只问“这个策略收益怎么样”。更合理的问题是:
收益来自什么市场机制?
数据是否 point-in-time?
信号是否样本外有效?
交易成本如何估计?
组合暴露是否可控?
实盘是否能按回测逻辑成交?
系统故障时如何停止?
策略失效时如何发现?
五、数据工程:量化交易的地基
量化研究里,数据不是 CSV 文件这么简单。数据质量决定研究结论上限。
1. 市场数据
常见市场数据包括:
| 数据 | 频率 | 用途 |
|---|---|---|
| OHLCV | 日线、分钟线 | 中低频策略、技术指标 |
| tick trade | 逐笔成交 | 高频、成交建模 |
| quote | 买卖报价 | spread、流动性、微观结构 |
| order book | 多档盘口 | 做市、订单流、短周期预测 |
| auction data | 集合竞价 | 开盘/收盘策略 |
| corporate actions | 分红、拆股、配股 | 复权和真实收益计算 |
OHLCV 的 close 不等于你能成交的价格。分钟线也不能恢复真实盘口路径。越高频,越需要真实交易和报价数据。
2. 基本面和财报数据
基本面数据最大的问题是 发布时间。
如果你在回测中使用了 2024 年年报的最终修订数据,但策略假设在 2024 年年报公布前就知道这些数据,这就是未来函数。
正确做法是 point-in-time:
每个历史时点,只允许看到当时已经公开、已经进入数据库的数据版本。
基本面还要处理:
- 财报披露日;
- 修订和重述;
- 财年和自然年错位;
- 货币单位;
- 行业分类变化;
- 并购、退市、停牌;
- 会计准则差异。
3. 复权和收益计算
股票会分红、拆股、配股。价格序列必须处理复权。
常见复权:
- 前复权;
- 后复权;
- 总收益复权;
- 不复权原始价格。
不同用途要用不同价格:
| 场景 | 常用价格 |
|---|---|
| 计算历史收益 | 复权价 |
| 模拟真实下单 | 原始可交易价格 |
| 计算成交金额 | 原始价格 |
| 指数增强归因 | 总收益口径更合适 |
一个常见错误是用复权价下单,导致成交价格不真实。
4. 时间、日历和时区
金融数据最容易在时间上出错。
要处理:
- 交易日历;
- 半日市;
- 节假日;
- 夏令时;
- 跨市场时区;
- 数据发布时间;
- 盘前盘后;
- 交易所撮合时间;
- 加密货币 24/7。
如果交易美国股票、欧洲期货、亚洲市场和加密货币,时间对齐本身就是一个工程问题。
5. 另类数据
另类数据包括:
- 新闻;
- 社交媒体;
- 卫星图像;
- 航运和港口;
- 招聘;
- App 使用;
- 信用卡消费;
- web traffic;
- 公司公告;
- 供应链文本。
另类数据不是天然有 alpha。它的问题包括:
- 获取成本高;
- 样本短;
- 数据口径变化;
- 法律和隐私风险;
- 容易被过度挖掘;
- 很难建立真实可交易性。
LLM 可以帮助从文本中提取事件、情绪、实体和关系,但最终仍要经过 point-in-time 和样本外验证。
六、策略体系:量化交易有哪些主流路线?
1. 趋势跟随
趋势跟随假设价格趋势有延续性。
典型信号:
- moving average crossover;
- breakout;
- time-series momentum;
- channel breakout;
- volatility-adjusted trend。
适合:
- 期货 CTA;
- 多资产趋势;
- 中低频;
- 风险预算组合。
风险:
- 震荡市场频繁止损;
- 趋势反转时回撤;
- 多资产相关性在危机中上升;
- 参数过拟合。
2. 均值回归
均值回归假设价格短期偏离后会回到某个均衡水平。
典型信号:
- z-score;
- Bollinger Bands;
- short-term reversal;
- pairs trading;
- residual mean reversion。
适合:
- 流动性较好资产;
- 统计套利;
- 市场中性;
- 短中周期。
风险:
- 趋势行情里逆势亏损;
- 价差关系失效;
- borrow cost 和资金成本;
- 极端事件导致“均值”永久移动。
3. 多因子选股
多因子模型用多个特征解释或预测股票收益。
常见因子:
| 因子 | 直觉 |
|---|---|
| value | 便宜资产未来可能有溢价 |
| momentum | 强者恒强或趋势延续 |
| quality | 高盈利、高现金流、低杠杆公司更稳 |
| low volatility | 低波资产可能有风险调整后优势 |
| size | 小盘股可能有长期风险溢价 |
| liquidity | 流动性差资产可能需要补偿 |
| sentiment | 新闻、公告、社媒情绪影响短期定价 |
多因子核心不是把因子简单相加,而是处理:
- 标准化;
- winsorize 去极值;
- 行业中性;
- 市值中性;
- 因子相关性;
- 因子衰减;
- 换手控制;
- 风险模型约束。
4. 统计套利
统计套利寻找相对价格关系。
典型方法:
- pairs trading;
- cointegration;
- PCA residual;
- ETF 成分套利;
- index arbitrage;
- cross-sectional mean reversion。
关键问题:
- 关系是否稳定;
- 是否有经济解释;
- 做空或借券是否可行;
- 成本是否吞噬价差;
- 同类策略是否拥挤;
- 极端行情下相关性是否崩溃。
5. 事件驱动
事件驱动基于特定事件产生交易信号。
事件包括:
- 财报;
- 分红;
- 并购;
- 回购;
- 指数调仓;
- 评级调整;
- 政策公告;
- 宏观数据发布;
- 链上事件;
- 交易所上币/下币。
难点是事件时间、可交易窗口和信息泄漏。新闻发布到可交易价格之间可能只有毫秒到分钟,也可能需要天级别消化。
6. 做市和订单簿策略
做市策略同时挂买卖单,赚取 spread 或流动性返佣,同时管理库存风险。
核心变量:
- bid-ask spread;
- queue position;
- fill probability;
- adverse selection;
- inventory risk;
- cancel/replace latency;
- exchange fee/rebate;
- order book imbalance。
做市不是“低买高卖”这么简单。真正的风险是你被更有信息的一方打中:当你的买单成交时,价格可能继续下跌;当你的卖单成交时,价格可能继续上涨。
7. 执行算法
执行算法不一定预测市场方向,它解决“如何完成大订单”。
| 算法 | 目标 |
|---|---|
| TWAP | 按时间均匀拆单 |
| VWAP | 按市场成交量曲线拆单 |
| POV | 按市场成交量比例参与 |
| Implementation Shortfall | 在价格冲击和机会成本之间权衡 |
| Smart Order Routing | 在多个交易场所选择最优路由 |
执行算法的核心是降低:
- 冲击成本;
- 滑点;
- 暴露时间;
- 未成交风险;
- 被识别和被交易对手利用的风险。
8. 期权与波动率策略
期权量化关注的不只是方向,而是波动率、偏度、曲面和 Greeks。
关键词:
- implied volatility;
- realized volatility;
- volatility smile;
- delta;
- gamma;
- theta;
- vega;
- skew;
- term structure;
- volatility arbitrage。
期权策略对风险管理要求极高,因为非线性暴露会在极端行情中迅速放大。
9. 加密货币量化
加密市场和传统市场不同:
- 24/7 交易;
- 多交易所碎片化;
- CEX 和 DEX 并存;
- 永续合约资金费率;
- 链上数据;
- 交易所 API 风险;
- 流动性和风控差异大;
- 监管环境变化快。
常见策略:
- 跨交易所套利;
- 现货-永续 basis;
- funding rate;
- market making;
- 趋势和动量;
- 链上事件驱动;
- DEX/CEX 价格差。
加密量化的工程风险通常比传统市场更高:交易所宕机、API 改动、提币限制、极端插针、清算机制和安全风险都必须考虑。
七、回测:从“看曲线”到“模拟真实世界”
回测是量化交易最容易让人产生错觉的环节。
1. Vectorized vs Event-driven
| 回测类型 | 优点 | 缺点 | 适合 |
|---|---|---|---|
| vectorized | 快,适合大规模参数扫描 | 难以精细模拟订单和状态 | 日频因子、研究探索 |
| event-driven | 更接近真实交易事件 | 慢,工程复杂 | 实盘策略、分钟/tick、订单模拟 |
Vectorized 回测像一次性矩阵计算:
signals -> positions -> returns -> metrics
Event-driven 回测像交易系统重放:
market event -> strategy event -> order event -> fill event -> portfolio update
策略越接近真实交易,越需要 event-driven;策略越偏研究探索,vectorized 效率越高。
2. 成交模型
回测不能假设“想买就买到”。
成交模型要回答:
- 用什么价格成交?
- 是否有足够成交量?
- 市价单是否穿透盘口?
- 限价单是否排队?
- 是否部分成交?
- 是否会被撤单?
- 滑点如何估计?
- 冲击成本如何随订单规模变化?
一个简化但比零成本更现实的成本模型:
cost = commission
+ half_spread
+ slippage
+ market_impact(order_size / avg_volume, volatility)
3. 样本内、样本外、走步验证
回测必须拆分时间。
train period: 训练或筛选参数
validation period: 选择模型和超参数
test period: 最终样本外评估
paper trading: 实时但不下真单
small capital: 小资金实盘灰度
时间序列不能随便随机打乱,因为市场有时间结构。常用 walk-forward:
用 2015-2018 训练 -> 2019 测试
用 2016-2019 训练 -> 2020 测试
用 2017-2020 训练 -> 2021 测试
...
如果策略要频繁调参,应该把调参过程本身也纳入回测,而不是事后挑最优参数。
4. 回测报告应该包含什么?
一个健康的回测报告至少包括:
strategy: "market-neutral multi-factor equity"
universe: "large/mid cap equities"
period:
train: "2015-01-01 to 2020-12-31"
test: "2021-01-01 to 2026-05-31"
data:
point_in_time: true
survivorship_bias_free: true
corporate_actions_adjusted: true
cost:
commission: "2 bps"
slippage: "half spread + participation impact"
borrow_cost: "included"
portfolio:
max_single_name_weight: "2%"
sector_neutral: true
beta_neutral: true
metrics:
annualized_return: "12.4%"
annualized_volatility: "8.7%"
sharpe: 1.42
max_drawdown: "-9.8%"
turnover: "320% yearly"
capacity_estimate: "$150M"
worst_month: "-4.1%"
robustness:
walk_forward_pass: true
parameter_sensitivity: "stable around chosen region"
stress_periods: ["2020-03", "2022 inflation shock", "crypto crash if applicable"]
risks:
- "factor decay after 2024"
- "small-cap liquidity sensitivity"
- "high correlation with existing quality factor"
没有成本、容量、样本外和风险报告的回测,不应进入实盘。
八、组合构建与风险管理
信号不是仓位。
一个模型可能预测:
stock A expected return = 0.8%
stock B expected return = 0.6%
stock C expected return = -0.4%
但仓位还要考虑:
- 波动率;
- 相关性;
- 行业暴露;
- 市值暴露;
- 流动性;
- 最大持仓;
- 换手限制;
- 做空约束;
- 交易成本;
- 税费;
- 组合已有仓位。
1. 均值-方差框架
经典组合优化可以简化成:
maximize: expected_return - lambda * portfolio_variance
subject to: constraints
其中:
portfolio_variance = w^T Sigma w
w 是权重向量,Sigma 是协方差矩阵。
问题在于:预期收益很难估,协方差也不稳定。工程中通常会加入大量约束和稳健化:
- 权重上下限;
- 行业中性;
- beta 中性;
- 风格暴露限制;
- 换手惩罚;
- 流动性约束;
- 杠杆限制;
- long-only 或 long-short;
- 协方差 shrinkage。
2. 风险预算
风险预算不是按资金分配,而是按风险贡献分配。
例如两个资产:
A 年化波动 10%
B 年化波动 30%
如果各买 50%,B 对组合风险贡献可能远大于 A。风险平价、波动率目标、组合保险等方法都在处理这个问题。
3. 杠杆和保证金
杠杆会放大所有错误。
一个不加杠杆时最大回撤 10% 的策略,加 3 倍杠杆后不只是回撤变成 30%。因为:
- 波动拖累更强;
- 保证金约束可能迫使低点减仓;
- 流动性压力更大;
- 交易成本随规模上升;
- 极端行情可能跳过止损。
杠杆策略必须有:
- margin 监控;
- liquidation 风险模拟;
- stress test;
- 强制降杠杆规则;
- 日内和隔夜风险限制。
4. 风控分层
生产风控通常分四层。
| 层级 | 目标 | 例子 |
|---|---|---|
| 策略级 | 限制单策略错误 | 最大仓位、最大回撤、信号异常停机 |
| 组合级 | 控制整体风险 | 总杠杆、行业暴露、相关性、VaR |
| 订单级 | 防止错误订单 | 价格带、数量上限、自成交检查 |
| 系统级 | 处理技术故障 | 数据延迟、连接断开、重复下单、kill switch |
风控的原则是:策略可以错,但不能无限错;系统可以坏,但必须以可控方式坏。
九、执行与市场微观结构
量化交易最终必须和市场撮合系统交互。
1. 订单类型
| 订单类型 | 含义 | 风险 |
|---|---|---|
| market order | 立即按市场可成交价格成交 | 滑点和冲击不可控 |
| limit order | 指定价格或更优价格成交 | 可能不成交 |
| stop order | 触发条件后变成市价或限价单 | 跳空时价格不确定 |
| IOC | 立即成交剩余取消 | 适合快速探测流动性 |
| FOK | 全部成交否则取消 | 适合不可拆订单 |
| post-only | 只挂单不吃单 | 常用于做市 |
| reduce-only | 只能减仓 | 常用于衍生品风控 |
不同市场和交易所的订单语义可能不同。回测必须和实盘语义对齐。
2. 订单簿和队列
限价订单簿大致长这样:
Ask 100.05 3,000
Ask 100.04 1,200
Ask 100.03 800
-----------------
Bid 100.02 900
Bid 100.01 2,100
Bid 100.00 5,000
如果你挂买单在 100.02,不代表马上成交。你要排在已有 900 股之后,只有足够卖单打到这个价位,你才可能成交。
高频策略关注:
- queue position;
- order book imbalance;
- cancellation rate;
- trade-through;
- adverse selection;
- latency;
- matching engine rules。
3. 市场冲击
大订单会移动价格。
冲击成本通常和这些变量相关:
- 订单规模 / 平均成交量;
- 参与率;
- 波动率;
- spread;
- 交易时间;
- 市场状态;
- 是否同方向交易拥挤。
一个简化冲击模型:
impact ~= k * volatility * sqrt(order_size / daily_volume)
实际模型会复杂得多,但直觉很重要:订单越大、市场越薄、波动越高,冲击越大。
4. 合规边界
算法交易必须避免操纵市场行为。
典型红线包括:
- spoofing:没有真实成交意图的大量挂单后撤单;
- layering:多层虚假报价制造供需假象;
- wash trade:自买自卖制造交易量;
- quote stuffing:大量无意义报价干扰市场;
- momentum ignition:诱发短期价格移动后反向获利;
- insider trading:利用重大非公开信息交易。
FINRA 的算法交易监管通知明确强调,使用算法策略的机构需要覆盖风险评估、代码开发、系统测试、交易系统控制和合规监督。SEC Market Access Rule 也要求有面向市场接入的金融和监管风险控制。
对个人开发者来说,也要坚持一个原则:不要把“技术上能做”误认为“法律和市场伦理上能做”。
十、生产系统架构
图 2 是一个生产级量化交易系统的抽象架构。研究代码进入实盘前,必须经过数据、特征、策略、组合、风控、订单、执行、监控和审计的系统化约束。
1. 研究环境和生产环境
研究环境追求:
- 快速试错;
- 大规模实验;
- 可视化;
- notebook;
- 参数搜索;
- 因子分析。
生产环境追求:
- 稳定;
- 可审计;
- 幂等;
- 实时;
- 低延迟;
- 可回滚;
- 风控优先。
最大风险是研究和生产不一致:
研究里按收盘价成交
生产里只能按第二天开盘价或盘口成交
研究里数据已清洗
生产里行情可能延迟、缺失、乱序
研究里一次性计算全市场
生产里每个事件到达顺序不同
这就是为什么 NautilusTrader 这类系统强调 deterministic event-driven architecture 和 research-to-live parity。
2. OMS 与 EMS
OMS(Order Management System)管理订单生命周期:
- new;
- acknowledged;
- partially filled;
- filled;
- canceled;
- rejected;
- expired;
- replaced。
EMS(Execution Management System)负责执行:
- 拆单;
- 路由;
- 交易所连接;
- 限价策略;
- 成交反馈;
- 撤改单;
- 执行算法。
量化系统必须把“策略想要的目标仓位”和“市场真实成交状态”区分开。
3. 事件驱动架构
实盘交易通常是事件驱动:
MarketDataEvent
-> SignalEvent
-> TargetPositionEvent
-> RiskCheckEvent
-> OrderEvent
-> ExecutionReportEvent
-> PortfolioUpdateEvent
每个事件都应该可追踪、可重放、可审计。
事件驱动的好处:
- 更接近真实交易;
- 支持回放和复盘;
- 方便接入风控;
- 便于故障恢复;
- 可以统一回测和实盘语义。
4. 监控与告警
生产量化系统至少要监控:
| 类型 | 指标 |
|---|---|
| 市场数据 | 延迟、缺失、乱序、异常跳价 |
| 策略 | 信号分布、仓位变化、模型漂移 |
| 订单 | 拒单率、撤单率、成交率、重复订单 |
| 风控 | 暴露、杠杆、保证金、亏损限额 |
| 性能 | 事件处理延迟、队列长度、CPU、内存 |
| 业务 | PnL、回撤、换手、成本、容量 |
| 合规 | 自成交、异常报价、审计日志完整性 |
告警不是越多越好。好的告警应该能回答:
发生了什么?
影响什么?
需要谁处理?
是否已经自动降级或停机?
十一、现代量化技术栈
1. 研究层
常见工具:
- Python;
- pandas / Polars;
- NumPy;
- SciPy;
- statsmodels;
- scikit-learn;
- LightGBM / XGBoost / CatBoost;
- PyTorch;
- Jupyter;
- DuckDB;
- Parquet;
- Plotly。
现代趋势是从 pandas 单机探索,逐渐走向:
- columnar storage;
- lazy query;
- distributed compute;
- feature store;
- experiment tracking;
- model registry;
- reproducible pipeline。
2. 数据层
常见组件:
- Parquet / Arrow;
- DuckDB;
- ClickHouse;
- TimescaleDB;
- PostgreSQL;
- kdb+/q;
- Kafka / Redpanda;
- Redis;
- S3 / MinIO;
- Airflow / Dagster / Prefect。
不同频率适合不同存储:
| 数据频率 | 存储选择 |
|---|---|
| 日频因子 | Parquet、DuckDB、PostgreSQL |
| 分钟线 | Parquet、ClickHouse、TimescaleDB |
| tick/order book | kdb+、ClickHouse、专用二进制格式 |
| 实时流 | Kafka、Redis Streams、NATS |
3. 执行层
执行层常见技术:
- C++;
- Rust;
- Java;
- Go;
- Python 控制面;
- FIX protocol;
- REST / WebSocket;
- gRPC;
- shared memory;
- kernel bypass;
- colocated servers。
低频策略不需要过度追求微秒延迟;高频策略则完全不同。技术栈应由策略持仓周期和执行要求决定。
4. MLOps 与 QuantOps
量化生产越来越像 MLOps,但有金融特有要求。
| MLOps 概念 | QuantOps 对应 |
|---|---|
| dataset versioning | point-in-time market data snapshot |
| feature store | factor store |
| model registry | strategy registry |
| offline evaluation | backtest and walk-forward |
| online monitoring | live PnL and risk monitoring |
| drift detection | factor decay and regime shift |
| rollback | disable strategy / revert parameters |
区别是:普通 ML 错一次可能只是推荐不准;交易系统错一次可能直接造成资金损失。
十二、机器学习、强化学习与 LLM
1. 机器学习在量化中的真实角色
机器学习可以用于:
- return prediction;
- volatility forecasting;
- factor combination;
- regime classification;
- event extraction;
- order book prediction;
- execution optimization;
- risk anomaly detection。
但金融市场对 ML 很不友好:
- 信噪比低;
- 非平稳;
- 标签噪声大;
- 样本有效期短;
- 反馈慢;
- 交易成本强;
- 过拟合容易;
- 市场会适应公开规律。
所以量化 ML 更强调:
- 简单可解释 baseline;
- 样本外稳定;
- 时间序列验证;
- 特征泄漏检查;
- 成本和容量;
- 模型漂移监控。
2. 深度学习时间序列
深度学习常用于:
- multi-horizon forecasting;
- temporal convolution;
- recurrent networks;
- Transformer time-series;
- graph neural networks;
- cross-sectional stock relation modeling;
- multimodal data fusion。
它的优势是能处理复杂非线性和高维数据;劣势是可解释性差、过拟合风险高、调参成本高。
在量化里,深度模型最好先回答:
它相比线性模型、LightGBM、简单因子加权,多带来了什么稳定收益?
如果不能超过强 baseline,就不应该因为模型复杂而上线。
3. 强化学习
强化学习把交易看成序贯决策:
state -> action -> reward -> next_state
在交易里:
- state:市场状态、订单簿、仓位、风险;
- action:买、卖、持有、下单数量、报价位置;
- reward:收益、风险调整收益、成本惩罚;
- environment:历史市场或模拟市场。
它适合:
- 执行算法;
- 做市;
- 仓位动态调整;
- portfolio allocation;
- 复杂约束下的策略优化。
风险:
- 历史环境不等于真实市场;
- reward 设计会诱导错误行为;
- agent 可能学到不可交易或违规模式;
- 样本效率低;
- 样本外稳定性难验证。
FinRL 是强化学习量化方向的代表性开源项目之一,但即使使用框架,也必须严肃处理交易约束、成本、流动性和风控。
4. LLM 和 Agent 的现代位置
LLM 更适合做研究和工程助手,而不是直接做最终交易决策。
适合场景:
- 阅读研报和公告;
- 提取事件;
- 生成因子假设;
- 写回测代码草稿;
- 自动生成实验报告;
- 解释策略回撤;
- 代码审查;
- 文档和审计辅助。
不适合直接信任的场景:
- 未验证信号直接下单;
- 幻觉生成财务数据;
- 没有成本模型的回测;
- 自动绕过风控;
- 处理合规红线。
2025 年的 RD-Agent-Quant 和 2026 年的 QuantCode-Bench 都说明了同一个方向:LLM 能帮助自动化量化研发流程,但“可执行、可交易、语义对齐、样本外稳健”仍然是硬门槛。
十三、高 star 开源生态梳理
下面 star 数为 GitHub 页面在 2026-06-19 检索到的近似值。Star 不是技术质量排名,只能反映社区关注度、历史积累和生态热度。
| 项目 | Star | 类型 | 适合理解成什么 |
|---|---|---|---|
| Freqtrade | 51.6k | 加密货币交易机器人 | Python crypto bot,含回测、WebUI、Telegram、FreqAI、超参优化 |
| Qlib | 44.8k | AI-oriented quant platform | 因子、数据、模型、回测、组合和在线服务的一体化研究平台 |
| ccxt | 43k | 加密交易所 API | 多语言、多交易所的 crypto API 抽象层,不是完整策略平台 |
| vn.py | 41.8k | 中文量化交易框架 | 面向国内市场和多接口的 Python 开源量化交易平台 |
| NautilusTrader | 24k | 生产级交易引擎 | Rust-native、事件驱动、研究到实盘语义一致的多资产引擎 |
| backtrader | 22k | Python 回测框架 | 经典事件驱动回测库,教学和策略研究常见 |
| LEAN | 20k | 算法交易引擎 | QuantConnect 的开源引擎,支持多资产回测和交易 |
| Hummingbot | 18.9k | 加密做市/交易机器人 | 多 CEX/DEX 自动化交易和做市框架 |
| FinRL | 15.5k | 金融强化学习框架 | 教育、研究和 DRL trading prototype;README 推荐新项目看 FinRL-X |
| RD-Agent | 13.5k | AI R&D Agent | 包含 RD-Agent(Q),面向自动化因子和模型研发 |
| Jesse | 8.1k | 加密交易框架 | 策略、回测、优化、paper/live trading 和 ML pipeline |
| vectorbt | 8k | 向量化回测 | 用 NumPy/Numba/Rust 批量测试大量策略配置 |
| QuantStats | 7.3k | 组合绩效分析 | Sharpe、回撤、报告、tear sheet、Monte Carlo |
| pyfolio | 6.3k | 组合与风险分析 | Quantopian 生态经典工具,历史价值高 |
| Alphalens | 4.3k | 因子分析 | 因子 IC、分层收益、alpha 研究经典工具 |
| FinRL-Trading | 3.3k | FinRL-X 生产化方向 | AI-native modular infrastructure for quantitative trading |
| bt | 2.9k | 组合回测框架 | 用模块化 algo stack 构建组合策略 |
| Blankly | 2.4k | 多市场交易包 | 股票、加密、外汇策略构建、回测和部署 |
| Zipline Reloaded | 1.8k | Zipline 延续版本 | Quantopian Zipline 的现代维护分支之一 |
怎么读这张表?
这些项目不是同一层东西。
| 层级 | 解决什么 | 代表项目 |
|---|---|---|
| 交易所/API 连接 | 连接市场、拉数据、下订单 | ccxt、vn.py gateway、broker adapters |
| 回测引擎 | 模拟历史交易 | backtrader、vectorbt、bt、Zipline Reloaded、LEAN |
| 研究平台 | 数据、因子、模型、回测一体化 | Qlib、FinRL、FinRL-Trading |
| 生产交易引擎 | OMS/EMS、事件驱动、实盘语义 | NautilusTrader、LEAN、vn.py |
| 加密交易机器人 | crypto 策略、交易所、WebUI | Freqtrade、Hummingbot、Jesse |
| 绩效分析 | 指标、报告、归因 | QuantStats、pyfolio、Alphalens |
| AI/Agent 研发 | 自动化因子和模型探索 | RD-Agent |
选择开源项目时不要只看 star。更应该问:
- 支持哪些市场和资产?
- 是研究工具,还是生产交易引擎?
- 回测和实盘语义是否一致?
- 是否支持交易成本、滑点、部分成交?
- 是否能处理真实订单生命周期?
- 是否支持风控闸门和 kill switch?
- 数据是否 point-in-time?
- 是否仍活跃维护?
- 许可证是否适合商业使用?
- 是否能接入你的券商、交易所和数据源?
十四、商用量化交易平台:托管、数据、交易和生态
开源项目解决的是“工具和框架”问题,商用平台解决的通常是“数据、环境、托管、交易通道、运维和服务”问题。
商用量化平台不一定都是黑箱策略。它们大致分成五类:
| 类型 | 核心价值 | 代表 |
|---|---|---|
| 云端量化研究平台 | 数据、研究环境、回测、实盘托管一体化 | QuantConnect、JoinQuant、BigQuant |
| 券商/API 平台 | 账户、行情、订单、清算、实盘交易通道 | Interactive Brokers、Alpaca、TradeStation |
| 图表脚本平台 | 图表、指标、脚本、提醒、社区和半自动交易 | TradingView |
| 交易终端生态 | 交易终端、策略脚本、机器人市场、VPS | MetaTrader 5、NinjaTrader |
| 自托管商业平台 | 本地/云端部署、数据和交易基础设施 | QuantRocket |
1. QuantConnect
QuantConnect 是典型的“开源引擎 + 商用云平台”混合模式。它的核心执行引擎 LEAN 是开源的,同时 QuantConnect 提供云端研究、数据、回测、实盘部署、社区和策略生态。
适合:
- 想快速接触多资产量化的人;
- 需要云端回测和托管的人;
- 想用 Python/C# 写策略的人;
- 需要学习正规 backtest/live workflow 的团队;
- 希望减少数据和部署运维成本的个人或小团队。
优点:
- LEAN 开源,可以本地研究,也可以云端运行;
- 多资产支持较完整;
- 研究、回测、实盘路径比较统一;
- 社区和文档成熟;
- 对学习算法交易工程很友好。
限制:
- 深度定制底层执行或低延迟能力时,不如自建系统自由;
- 云端资源、数据和实盘部署会受套餐限制;
- 极高频、特殊市场、私有数据和特殊风控流程仍可能需要自建。
2. TradingView
TradingView Pine Script 更像“图表 + 脚本 + 提醒 + 社区”的平台。它非常适合把交易想法快速画出来、写成指标、做基础策略回测,并通过 alert/webhook 连接外部执行系统。
适合:
- 技术分析;
- 指标原型;
- 轻量策略验证;
- 图表可视化;
- 交易提醒;
- 社区分享。
优点:
- 学习门槛低;
- 图表体验强;
- Pine Script 上手快;
- 指标和脚本社区庞大;
- 非工程团队也能快速表达策略想法。
限制:
- 它不是完整 OMS/EMS;
- 回测细节、成本模型和成交模拟有限;
- 对复杂组合、跨市场数据、point-in-time 基本面、机构级风控不够;
- 自动交易通常需要 webhook、第三方服务或券商集成。
TradingView 很适合做想法原型,但不应该把它当成完整生产量化平台。
3. MetaTrader 5
MetaTrader 5 是零售外汇、差价合约和部分交易所市场里非常常见的交易终端生态。它的自动化交易基于 MQL5、Expert Advisor、Strategy Tester、MetaEditor、MQL5 Market、VPS 等组件。
适合:
- 外汇、CFD、部分期货/股票经纪商生态;
- EA 自动交易;
- 技术指标交易;
- 个人交易机器人;
- 需要交易终端和脚本生态的人。
优点:
- 终端生态成熟;
- MQL5 IDE 覆盖开发、调试、测试、优化和执行;
- 有 EA 和指标市场;
- 有 VPS 和社区生态;
- 对非专业程序员也相对友好。
限制:
- 语言和平台绑定较强;
- 复杂数据工程和机构级研究不如 Python 生态灵活;
- 回测质量依赖经纪商数据和配置;
- 不适合作为通用多资产机构研究平台。
4. Interactive Brokers API
Interactive Brokers TWS API 和 IB Gateway 更像“券商级交易通道”,而不是完整研究平台。它提供多语言 API、Web API、TWS API、FIX、订单、行情和账户能力。
适合:
- 已有研究和回测系统,需要真实交易通道;
- 多资产全球市场;
- 专业个人、家办、小型基金;
- 自建 OMS/EMS 的团队;
- 需要成熟券商和清算体系的人。
优点:
- 市场和资产覆盖广;
- API 生态成熟;
- 适合自建系统接入;
- 账户、交易、报表和保证金能力完整;
- 很多开源和商用平台都能接 IBKR。
限制:
- 研究、因子、回测需要自己建设;
- TWS/IB Gateway 运维和会话管理有复杂性;
- API 限制、权限、市场数据订阅和订单规则要认真处理;
- 不是“开箱即用的量化平台”,更像底层交易基础设施。
5. Alpaca
Alpaca 是 API-first 的券商和交易 API 平台,面向开发者提供股票、加密、期权、市场数据、paper trading、WebSocket、Broker API、Trading API 等能力。
适合:
- 开发者构建交易应用;
- 美国股票和加密策略;
- paper trading;
- API-first 的个人或初创团队;
- 需要 OAuth/Broker API 的 fintech 场景。
优点:
- API 文档和开发者体验较好;
- paper trading 方便;
- REST/WebSocket 现代化;
- 适合快速搭建交易应用或机器人;
- 对 Python/JS 等开发者友好。
限制:
- 市场覆盖和地域覆盖不如 IBKR;
- 复杂机构级交易、全球多资产和深度执行能力有限;
- 仍需要自建研究、回测、风控和监控。
6. QuantRocket
QuantRocket 是商业自托管量化平台,强调 Python、全球数据、多 backtester、云端或本地运行、live trading,并支持 Zipline、Pipeline、Alphalens、Moonshot、机器学习等工具链。
适合:
- 想要商业级数据和基础设施,但不想把策略和密钥放在第三方云平台的人;
- 想在自己服务器上运行量化研究和交易系统的人;
- 需要 IBKR、Zipline、Pipeline、Alphalens 等生态整合的人;
- 中低频股票、期货、FX 策略。
优点:
- 自托管,密钥和数据留在自己环境;
- 对 Python quant workflow 友好;
- 提供数据、研究、回测、实盘一体化能力;
- 支持多种 backtester;
- 比纯自建省大量胶水工程。
限制:
- 商业订阅成本;
- 需要自己理解部署和运维;
- 不是面向所有券商和所有市场的万能平台;
- 低延迟和特殊执行仍要单独建设。
7. TradeStation
TradeStation Developer 提供 Trading APIs 和 EasyLanguage。官方页面说明其 API 可用于股票、期权、期货的分析和执行,EasyLanguage 则是面向交易者的专有脚本语言,用于策略设计、分析、自定义和回测。
适合:
- 美国市场交易者;
- 需要券商、图表、策略脚本和 API 的用户;
- 想用 EasyLanguage 快速写规则策略的人;
- 第三方金融应用开发者。
优点:
- 券商和交易平台一体;
- API、订单、行情、账户能力相对完整;
- EasyLanguage 对非工程师友好;
- 支持股票、期权、期货。
限制:
- 平台和券商绑定较强;
- 复杂研究、数据治理、因子库、机构级风控仍需外部系统;
- 对全球多市场和自定义底层架构的自由度不如自建。
8. NinjaTrader
NinjaTrader 更偏期货交易平台和经纪服务。官方页面强调 futures trading、free trading simulation、桌面/Web/移动平台、第三方 add-ons、自定义开发和 C# based development framework。
适合:
- 期货交易;
- 技术分析和半自动策略;
- 需要模拟盘练习;
- NinjaScript/C# 生态;
- 个人或活跃交易者。
优点:
- 期货交易生态强;
- 模拟交易和图表工具成熟;
- 有大量第三方插件;
- 可用 C# 扩展;
- 对活跃交易者友好。
限制:
- 更偏交易终端和期货经纪生态;
- 不适合复杂多资产机构研究;
- 深度数据工程、因子平台和组合风控需要外部系统。
9. JoinQuant 聚宽
JoinQuant 聚宽 是中文量化投研平台。官网说明其提供免费量化数据、投研工具、学习体系和社区;策略研究平台包含专业清洗的 A 股、期货、期权、基金、宏观数据,以及常用因子和第三方数据库,并支持策略研究、历史回测、模拟交易、实盘交易。
适合:
- A 股和中国市场入门;
- 中文资料学习;
- 在线研究和回测;
- 使用 Python 进行策略开发;
- 希望减少数据获取成本的个人。
优点:
- 中文学习路径友好;
- A 股数据和常用因子方便;
- 在线环境上手快;
- 社区和教程丰富;
- 有 JQData、本地终端等配套。
限制:
- 平台能力和数据口径要按其 API 和服务边界使用;
- 机构级私有数据、特殊券商、特殊风控流程仍需自建;
- 云端策略和本地生产系统之间仍需做语义对齐。
10. BigQuant
BigQuant 是偏 AI 量化的中文平台。官网强调企业级 AI 平台、量化大数据、AI 投研工具、PB 级数据、2000+ 基础因子库、因子构建与分析、模块化可视化开发环境、Python 代码集成、超参搜索、组合优化器、滚动训练、归因分析,以及模拟交易和实盘交易对接。
适合:
- 想用 AI/ML 做量化的人;
- 因子研究;
- 可视化策略开发;
- 中文社区和课程学习;
- 希望使用平台内置因子、数据和训练流程的人。
优点:
- AI 量化定位明确;
- 因子库、数据、可视化和 Python 结合;
- 对初学者比纯代码系统友好;
- 有模拟/实盘对接能力;
- 适合从因子和机器学习角度入门。
限制:
- 深度定制和迁移能力依赖平台开放程度;
- 策略需要严肃验证成本、容量和样本外;
- 平台内置因子和工具降低门槛,也可能让研究者忽略底层数据口径。
十五、开源高 star vs 商用量化平台:怎么选?
1. 总体对比
| 维度 | 开源高 star 项目 | 商用/托管平台 |
|---|---|---|
| 成本 | 软件通常免费,但数据、服务器、券商接口和维护有成本 | 订阅、数据、算力、实盘托管或交易服务可能收费 |
| 自由度 | 高,可改源码、接私有数据、定制风控 | 受平台 API、套餐、市场和权限限制 |
| 上手速度 | 需要工程能力,配置和数据清洗耗时 | 通常更快,有现成数据和环境 |
| 数据质量 | 自己负责 point-in-time、复权、清洗 | 平台通常提供处理后数据,但仍要理解口径 |
| 生产能力 | 取决于你如何搭建 OMS/EMS/监控 | 部分平台提供实盘、模拟、托管、券商集成 |
| 可审计性 | 完全可控,但要自己建设日志和版本 | 平台有部分记录,但底层实现可能不可见 |
| 学习价值 | 高,能理解底层机制 | 上手快,但容易只学 API 不懂机制 |
| 团队适配 | 工程强、策略特殊、需要私有部署 | 个人、教学、小团队、快速验证 |
| 安全 | 密钥和数据可留在本地 | 取决于平台托管方式和权限模型 |
| 风险 | 容易漏掉生产细节 | 容易产生平台依赖和迁移成本 |
2. 按用户类型选择
| 用户类型 | 更适合 |
|---|---|
| 完全新手 | JoinQuant、BigQuant、TradingView、MetaTrader、QuantConnect |
| Python 研究者 | Qlib、vectorbt、backtrader、QuantRocket、QuantConnect |
| 加密交易机器人 | Freqtrade、Hummingbot、Jesse、ccxt、Alpaca crypto |
| A 股学习和研究 | JoinQuant、BigQuant、vn.py、Qlib |
| 全球多资产实盘 | IBKR API、QuantConnect、QuantRocket、LEAN、NautilusTrader |
| 期货活跃交易 | NinjaTrader、TradeStation、vn.py、NautilusTrader |
| 生产级自建团队 | NautilusTrader、LEAN、vn.py、IBKR API、ccxt、Kafka/ClickHouse/自研 OMS |
| AI/Agent 量化研究 | Qlib、RD-Agent、BigQuant、FinRL、FinRL-Trading |
3. 按任务选择
| 任务 | 首选工具形态 |
|---|---|
| 快速画指标和告警 | TradingView |
| 外汇/CFD EA | MetaTrader 5 |
| A 股在线回测 | JoinQuant / BigQuant |
| 多因子研究 | Qlib / Alphalens / QuantRocket Pipeline |
| 大规模参数扫描 | vectorbt |
| 经典事件驱动回测 | backtrader / Zipline Reloaded / LEAN |
| 加密 bot 实盘 | Freqtrade / Hummingbot / Jesse |
| 全球券商执行 | IBKR API |
| API-first 美股/加密应用 | Alpaca |
| 自托管一体化平台 | QuantRocket |
| 生产级事件驱动引擎 | NautilusTrader / LEAN / vn.py |
4. 开源和商用不是二选一
成熟团队通常是组合使用:
开源框架:理解和定制策略逻辑
商用数据:提高数据质量和覆盖
券商 API:完成真实交易
自建风控:控制生产风险
云平台:做实验和算力弹性
本地系统:保存密钥和关键交易服务
一个典型组合可以是:
研究:Qlib + DuckDB + Parquet
因子分析:Alphalens + QuantStats
回测:vectorbt / LEAN / NautilusTrader
数据:商用数据源 + 自建 PIT 数据库
交易:IBKR API / Alpaca / 券商柜台
监控:Prometheus + Grafana
审计:Git commit + 数据快照 + 参数版本
平台选择的核心不是“哪个最好”,而是“你的策略、市场、资金规模、工程能力和风控要求到底需要哪一层能力”。
十六、如何建设一套量化交易系统?
阶段 1:研究最小闭环
目标不是赚钱,而是建立正确流程。
建议组件:
- 数据下载;
- 清洗和复权;
- 简单信号;
- 成本模型;
- 回测报告;
- 样本外拆分;
- 实验记录。
不要一开始就上强化学习、高频、盘口和实盘。先证明自己不会犯未来函数、幸存者偏差和成本遗漏这些基础错误。
阶段 2:因子和回测平台
建设:
- 因子计算框架;
- point-in-time 数据;
- 因子存储;
- IC 分析;
- 分层收益;
- 风险中性化;
- 参数敏感性;
- walk-forward;
- 自动报告。
这一阶段适合参考 Qlib、Alphalens、QuantStats、vectorbt。
阶段 3:模拟盘和交易执行
建设:
- paper trading;
- broker/exchange adapter;
- OMS;
- 成交回报处理;
- 风控检查;
- 监控告警;
- 日志审计;
- 实盘和回测差异报告。
这一阶段适合参考 Lean、vn.py、NautilusTrader、Freqtrade、Jesse。
阶段 4:生产化和治理
建设:
- 策略注册表;
- 参数版本;
- 数据快照版本;
- 审批流程;
- 灰度上线;
- kill switch;
- 自动停机条件;
- 线上漂移检测;
- 交易后分析;
- 合规审计。
一个生产策略至少应该有:
strategy_id: "factor_market_neutral_v3"
owner: "research-team-a"
code_version: "git-sha"
data_snapshot: "2026-06-01-pit"
parameters:
rebalance: "weekly"
max_position: "2%"
target_vol: "8%"
risk_limits:
max_daily_loss: "1%"
max_gross_exposure: "200%"
max_single_order_notional: "$100k"
deployment:
mode: "paper / small-capital / production"
rollback_to: "factor_market_neutral_v2"
monitoring:
alerts: ["data_delay", "order_reject_rate", "drawdown", "exposure"]
十七、现代方式:AI-native Quant Workflow
现代量化工作流正在变化。
过去:
研究员提出想法
-> 写代码
-> 跑回测
-> 手写报告
-> 人工筛选
现在逐渐变成:
人提出研究方向
-> Agent 生成假设
-> Agent 写因子和模型代码
-> 系统自动执行回测
-> 自动生成诊断报告
-> 人审核经济含义、风险和合规
-> 通过后进入模拟盘
1. LLM 适合做什么?
适合:
- 把论文和研报转成可测试假设;
- 生成数据处理和因子代码草稿;
- 自动写实验配置;
- 对失败实验做归因总结;
- 生成研究报告;
- 作为代码审查助手;
- 检查常见回测陷阱。
不适合:
- 自动决定真实下单;
- 直接相信文本生成的数据;
- 绕过人类审批;
- 自动修改生产风控;
- 把样本内曲线当成 alpha 证据。
2. 自动因子挖掘的边界
自动因子挖掘可以提高实验吞吐,但会放大 data snooping。
必须配套:
- 严格样本外;
- 多重检验修正;
- 因子去相关;
- 经济含义审查;
- 成本和容量过滤;
- 线上衰减监控。
否则 Agent 只是更快地制造过拟合。
3. 人机分工
| 任务 | 适合自动化 | 必须人工把关 |
|---|---|---|
| 数据清洗 | 是 | 口径和合规 |
| 因子生成 | 是 | 经济解释和泄漏检查 |
| 回测执行 | 是 | 假设是否合理 |
| 报告生成 | 是 | 是否遗漏关键风险 |
| 参数搜索 | 是 | 是否过拟合 |
| 上线审批 | 否 | 人类负责 |
| 风控规则 | 部分 | 人类负责 |
AI-native quant 的合理目标不是“无人交易”,而是“让研究流程更系统、更可复现、更快暴露错误”。
十八、常见误区
1. “回测年化很高,所以策略很好”
没有成本、滑点、容量和样本外的高收益没有意义。
2. “机器学习越复杂越好”
金融数据低信噪比。复杂模型如果不能超过简单 baseline,通常只是更复杂地过拟合。
3. “胜率高就是好策略”
胜率必须和赔率一起看。很多趋势策略胜率不高,但盈亏比好;很多做市策略胜率高,但尾部亏损大。
4. “实盘会复制回测”
实盘有延迟、拒单、部分成交、行情缺失、交易限制、滑点、手续费、心理和制度变化。
5. “多试参数总能找到好策略”
这是 data snooping。试得越多,越容易找到历史噪声。
6. “开源框架能解决量化交易”
框架只能提供工具,不能保证数据正确、假设有效、风控充分、执行真实。
7. “LLM 可以自动生成赚钱策略”
LLM 可以生成代码和假设,但赚钱需要市场机制、数据质量、成本模型、样本外稳定、实盘执行和风控审计共同成立。
十九、未来趋势
1. 研究平台工程化
未来量化研究会越来越像软件工程:
- 数据版本;
- 实验追踪;
- 策略注册;
- 自动报告;
- CI 回测;
- 模型和参数审计;
- 生产灰度。
2. AI Agent 成为研究加速器
Agent 会更多参与:
- 因子挖掘;
- 文本理解;
- 代码生成;
- 回测诊断;
- 报告生成;
- 研究知识库建设。
但最终上线仍需要人类责任和严格风控。
3. 低延迟系统和 Python 控制面分离
类似 NautilusTrader 的方向会更常见:Rust/C++ 负责高可靠事件引擎,Python 负责策略表达和研究控制面。
4. 数据治理变得更重要
另类数据、LLM 文本数据、链上数据和多市场数据都让数据治理更复杂。PIT、血缘、版本、权限、合规会成为量化平台核心能力。
5. 从单策略走向组合和平台
单个策略容易失效。更成熟的方向是:
- 多策略组合;
- 多市场分散;
- 风险预算;
- 统一执行;
- 统一监控;
- 统一停机规则。
总结
量化交易不是“写个指标买卖”,而是一个完整系统:
金融假设
-> 数据工程
-> 因子和模型
-> 回测验证
-> 组合构建
-> 执行算法
-> 风控合规
-> 生产系统
-> 线上监控
-> 研究反馈
它的历史从现代金融理论、统计套利和电子交易发展到机器学习、强化学习和 AI Agent。它的难点也从单纯的数学建模,扩展到数据质量、交易成本、市场微观结构、系统可靠性、合规边界和组织治理。
真正成熟的量化交易,不是让模型替你“预测未来”,而是建立一套能持续检验假设、控制损失、复盘错误、迭代研究的工程体系。
参考资料
- Microsoft, Qlib and paper Qlib: An AI-oriented Quantitative Investment Platform.
- Microsoft, RD-Agent and R&D-Agent-Quant.
- AI4Finance, FinRL and FinRL paper.
- QuantConnect, LEAN.
- vn.py, vnpy.
- Freqtrade, freqtrade.
- Hummingbot, hummingbot.
- NautilusTrader, nautilus_trader.
- Backtrader, backtrader.
- vectorbt, vectorbt.
- CCXT, ccxt.
- QuantStats, quantstats.
- Quantopian, Alphalens and pyfolio.
- QuantConnect, LEAN official introduction.
- TradingView, Pine Script documentation.
- MetaTrader 5, Automated trading and MQL5.
- Interactive Brokers, TWS API documentation.
- Alpaca, Trading API documentation.
- QuantRocket, Python data-driven trading platform.
- TradeStation, Developer APIs and EasyLanguage.
- NinjaTrader, Futures trading platform.
- JoinQuant, 聚宽量化投研平台.
- BigQuant, AI 量化平台.
- FINRA, Regulatory Notice 15-09: Guidance on Effective Supervision and Control Practices for Firms Engaging in Algorithmic Trading Strategies.
- QuantCode-Bench, Benchmark for LLM-generated algorithmic trading strategies.