一、量化交易完整流程
量化交易一般分为 六大阶段:
1️⃣ 数据获取(Data Acquisition)
目标:获取历史行情数据、实时行情数据、财务数据、宏观指标等,为策略开发和回测提供原始数据。
常见任务:
- 历史价格数据(股票、期货、指数、加密货币)
- 实时行情数据
- 财务报表、宏观经济指标
- 新闻、情绪数据(可选)
框架/工具推荐:
| 框架/工具 | 适用市场 | 特点 |
|---|---|---|
| AKShare | 中国股票、期货、基金 | 免费、覆盖全市场 |
| Tushare | 中国股票 | 财务数据、指标齐全 |
| CCXT | 加密货币 | 100+交易所行情接口 |
| yfinance | 美股/ETF | 免费历史行情 |
| Quandl | 全球金融 | 收费/免费均有 |
示意:
AKShare / Tushare / CCXT → 数据清洗 → 存数据库或 CSV
2️⃣ 数据清洗与处理(Data Cleaning & Feature Engineering)
目标:把原始数据整理成回测/策略可用的格式,计算指标和因子。
常见任务:
- 缺失值处理、异常值剔除
- 调整复权、处理复权价格
- 计算技术指标(均线、MACD、RSI 等)
- 因子计算(量化因子、Alpha 因子)
框架/工具推荐:
- Pandas:核心数据处理库
- Numpy:高性能数组计算
- TA-Lib:技术指标库(均线、RSI、MACD 等)
- PyPortfolioOpt:组合优化、权重计算
3️⃣ 策略开发(Strategy Development)
目标:设计、实现量化策略逻辑,并进行策略验证。
常见策略类型:
- 趋势跟踪(均线、动量策略)
- 套利(跨期套利、跨品种套利)
- 高频/做市策略(加密货币或期货)
- 因子策略(机器学习 alpha 因子)
框架/工具推荐:
| 框架 | 适用市场 | 特点 |
|---|---|---|
| Backtrader | 股票、期货、加密 | 回测和策略原型开发 |
| vectorbt | 股票/加密 | 超高速向量化回测,适合策略验证和机器学习 |
| Freqtrade | 加密货币 | 回测 + 实盘自动化 |
| vn.py | 国内股票/期货/外盘/加密 | 回测 + CTA策略原型 |
4️⃣ 回测(Backtesting)
目标:验证策略在历史数据上的表现,计算收益、回撤、Sharpe 等指标。
核心任务:
- 历史回测(Tick/Bar/分钟线/日线)
- 风险评估(最大回撤、波动率、胜率)
- 参数优化(网格搜索、遗传算法)
框架/工具推荐:
- Backtrader(事件驱动回测)
- Zipline(Quantopian 回测框架,适合股票)
- vectorbt(高效向量化回测)
- RQAlpha(国内股票量化回测)
- vn.py 回测模块(可和实盘策略同一套代码)
5️⃣ 风控与优化(Risk Management & Strategy Optimization)
目标:降低实盘风险,确保策略稳定运行。
核心任务:
- 最大单日亏损限制
- 最大仓位、杠杆控制
- 止盈止损、止损追踪
- 组合风险管理
框架/工具推荐:
- vn.py 风控模块(实盘级风控)
- PyPortfolioOpt(组合优化)
- 自定义 Python 模块(根据策略需求)
6️⃣ 实盘交易(Execution / Live Trading)
目标:把策略部署到真实市场,自动执行交易信号。
核心任务:
- 接入交易所或券商接口
- 实盘下单、订单管理
- 仓位监控、异常处理
- 实时行情处理和策略触发
框架/工具推荐:
| 框架 | 市场 | 特点 |
|---|---|---|
| vn.py | 国内股票/期货/期权/外盘/加密 | 全事件驱动,CTA策略原型可直接迁移实盘 |
| Freqtrade | 加密货币 | 实盘自动交易、策略切换方便 |
| Backtrader + Broker API | 股票/期货/加密 | 简单实盘原型可用 |
| Hummingbot | 加密货币 | 高频/做市策略专用 |
二、完整量化系统架构示意
数据获取
(AKShare / Tushare / CCXT)
↓
数据清洗 & 特征计算
(Pandas / Numpy / TA-Lib)
↓
策略开发
(Backtrader / vectorbt / vn.py)
↓
回测验证
(Backtrader / Zipline / vectorbt / vn.py)
↓
风控优化
(自定义 / vn.py / PyPortfolioOpt)
↓
实盘交易
(vn.py / Freqtrade / Hummingbot)
三、总结
- AKShare / Tushare / CCXT → 数据
- Pandas / Numpy / TA-Lib → 数据清洗 & 技术指标计算
- Backtrader / vectorbt / vn.py → 策略开发 & 回测
- vn.py / Freqtrade → 实盘交易
- PyPortfolioOpt / vn.py 风控模块 → 风险控制
个人量化初学者:
- 国内股票/期货 → AKShare + Backtrader + vn.py
- 加密货币 → CCXT + Freqtrade / Backtrader
量化交易系统全流程架构图
┌──────────────────────────────────────────────┐
│ 数据源(Markets) │
│----------------------------------------------│
│ • A股 / 港股 / 美股 • 期货 / 期权 │
│ • Crypto(Binance/OKX/Bybit) │
│ • 宏观经济 / 财务数据 │
└──────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────┐
│ 数据获取(Data Acquisition) │
│----------------------------------------------│
│ • AKShare(A股/期货/基金) │
│ • Tushare(财务/基本面) │
│ • CCXT(加密货币) │
│ • yfinance / Quandl(国际市场) │
└──────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────┐
│ 数据清洗与特征工程(Cleaning & FE) │
│----------------------------------------------│
│ • Pandas / Numpy │
│ • 特征构造:技术指标(TA-Lib) / 量化因子 │
│ • 数据校验:去重 / 缺失值 / 调整复权 │
│ • 保存方式:MySQL / Parquet / CSV │
└──────────────────────────────────────────────┘
│(清洗后的结构化数据)
▼
┌──────────────────────────────────────────────┐
│ 策略开发(Strategy) │
│----------------------------------------------│
│ • Backtrader(Python策略代码) │
│ • vectorbt(高速向量化策略验证) │
│ • Qlib(AI/深度学习因子策略) │
│ • 自定义策略框架(Java/Python) │
└──────────────────────────────────────────────┘
│(策略信号/交易逻辑)
▼
┌──────────────────────────────────────────────┐
│ 回测系统(Backtesting) │
│----------------------------------------------│
│ • Backtrader(事件驱动回测) │
│ • RQAlpha(国内股票回测) │
│ • Zipline(美股/ETF 回测) │
│ • vectorbt(加速回测 / 多参数搜索) │
│ │
│ 输出:收益曲线、最大回撤、夏普、胜率、风险指标 │
└──────────────────────────────────────────────┘
│(通过验证的策略)
▼
┌──────────────────────────────────────────────┐
│ 风控系统(Risk Management) │
│----------------------------------------------│
│ • 仓位管理(Kelly、风险暴露控制) │
│ • 组合优化(PyPortfolioOpt) │
│ • 风险限额(最大亏损/回撤/下单限制) │
│ • vn.py 内置风控模块 │
└──────────────────────────────────────────────┘
│(风险调整后的信号)
▼
┌──────────────────────────────────────────────┐
│ 实盘执行(Execution / Live) │
│----------------------------------------------│
│ • vn.py(国内期货/股票/期权/外盘/加密) │
│ • CCXT(Crypto 下单) │
│ • Hummingbot(做市 / 高频策略) │
│ • 交易所 API(Binance/OKX/IB/CTP) │
│ │
│ 功能: │
│ • 实时行情 → 策略 → 下单 → 持仓管理 → 风控 │
│ • 自动重连、订单追踪、状态监控 │
└──────────────────────────────────────────────┘
│(真实交易执行)
▼
┌──────────────────────────────────────────────┐
│ 监控与可视化(Monitoring & UI) │
│----------------------------------------------│
│ • Prometheus + Grafana │
│ • vn.py GUI │
│ • Web Dashboard(Vue + Java 后端) │
│ • 日志/报警(钉钉、飞书、企业微信) │
└──────────────────────────────────────────────┘
量化交易系统核心模块与主流框架对应关系
| 环节 | 主流框架 |
|---|---|
| 数据获取 | AKShare / CCXT / Tushare / yfinance |
| 数据清洗 | Pandas / Numpy / TA-Lib |
| 策略开发 | Backtrader / vectorbt |
| 回测系统 | Backtrader / RQAlpha / Zipline / vectorbt |
| 风控系统 | vn.py(内置风控) / PyPortfolioOpt |
| 实盘交易 | vn.py / CCXT / Hummingbot / 交易所 API |
| 监控系统 | Prometheus + Grafana / vn.py GUI / Web Dashboard(Vue + Java 后端) |