量化交易学习--流程

421 阅读5分钟

一、量化交易完整流程

量化交易一般分为 六大阶段


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)

三、总结

  1. AKShare / Tushare / CCXT → 数据
  2. Pandas / Numpy / TA-Lib → 数据清洗 & 技术指标计算
  3. Backtrader / vectorbt / vn.py → 策略开发 & 回测
  4. vn.py / Freqtrade → 实盘交易
  5. 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 后端)