执行模型与数据研究
Alpha 模型、风控模型、组合模型都想好了,最后一步是让计算机自动执行。同时,持续的数据供给和研究迭代是整个量化系统运转的基石。
第一部分:执行模型
什么是执行模型?
执行模型 = 把交易决策变成实际订单并发送到交易所的机制。
前面的模型都在"思考",执行模型负责"行动"。
Alpha模型 → 风控检查 → 组合确认 → 执行模型 → 交易所
↑
决定:"买入 1000 股平安银行"
↓
执行模型要做:
1. 怎么买?(市价单 vs 限价单)
2. 什么时候买?(立即 vs 分批)
3. 在哪个通道买?(不同券商/交易通道)
个人投资者的执行方式
| 执行方式 | 说明 | 适合场景 |
|---|---|---|
| 手动下单 | 根据量化信号,手动操作交易软件 | 信号频率低(每天几次) |
| 条件单 | 在券商 APP 预设触发条件(如"跌到 X 元自动卖") | 简单策略,无需编程 |
| API 自动交易 | 通过券商 API 程序化下单 | 中等频率,需要编程能力 |
| QMT/PTrade | 券商提供的量化交易平台 | 实时策略,支持回测和模拟 |
执行模型的考量因素
1. 订单类型
| 订单类型 | 含义 | 优点 | 缺点 |
|---|---|---|---|
| 市价单 | 以当前最优价格立即成交 | 成交快、确定性强 | 价格不可控,滑点大 |
| 限价单 | 指定最高买入价 / 最低卖出价 | 价格可控 | 可能无法成交 |
| 止损单 | 价格触发特定价位后转为市价单 | 控制亏损 | 极端行情可能大幅滑点 |
2. 执行速度
机构的高频交易:以微秒(μs)为单位竞争
└─ 案例:有公司在芝加哥商品交易所对面架设微波塔,
只为节省 0.07ms 的传输延迟,投入 1400 万美元
个人交易:以秒到分钟级别为主
└─ 不需要追求极致速度,重点放在策略质量上
对于个人投资者而言,策略逻辑的正确性远比执行速度快几毫 秒重要得多。
3. 执行风险
| 风险 | 说明 | 防范 |
|---|---|---|
| 网络延迟 | 信号发出到执行的时间差 | 稳定的网络环境 |
| 系统故障 | 程序崩溃、服务器宕机 | 手动备份、告警机制 |
| API 限流 | 券商 API 有调用频率限制 | 控制请求频率 |
| 交易所异常 | 交易所系统故障、熔断 | 异常监控和应急预案 |
第二部分:数据——量化系统的基石
为什么数据如此重要?
Garbage in, garbage out. 用错误的数据,再好的模型也只会得出错误的决策。
高质量数据 + 简单策略 = 可能赚钱 ✅
低质量数据 + 复杂策略 = 必然亏钱 ❌
量化交易需要的数据类型
量化数据体系
├── 行情数据(量价)
│ ├── K 线数据(1分钟、5分钟、日线、周线)
│ ├── Tick 数据(逐笔成交)
│ └── 盘口数据(买卖五档)
│
├── 基本面数据(财务)
│ ├── 三大报表(资产负债表、利润表、现金流量表)
│ ├── 财务指标(ROE、PE、PB、毛利率)
│ └── 分析师预期数据
│
├── 宏观数据(经济环境)
│ ├── GDP、CPI、PMI
│ ├── 利率、汇率
│ └── 政策文件
│
└── 另类数据(非传统)
├── 新闻舆情(NLP 情感分析)
├── 社交媒体热度
└── 卫星图像(工厂/商场活跃度)
数据获取渠道
| 渠道 | 数据类型 | 费用 | 难度 |
|---|---|---|---|
| Tushare | A 股行情、财务 | 免费/积分 | 低 |
| AKShare | A 股、期货、宏观 | 免费 | 低 |
| 东方财富 | 行情、财务、公告 | 免费 | 低 |
| Wind | 全品种、高频 | 数万/年 | 中 |
| 券商 API | 实时行情 + 交易 | 开户即可 | 中 |
数据清洗要点
原始数据 → 缺失值处理 → 异常值检测 → 复权处理 → 对齐校验 → 可用数据
| 步骤 | 常见问题 | 处理方式 |
|---|---|---|
| 缺失值 | 停牌日期无数据 | 前向填充或标记 |
| 异常值 | 数据录入错误导致价格翻倍 | 标准差法/分位数法剔除 |
| 复权 | 分红送股导致价格跳跃 | 使用后复权/前复权数据 |
| 对齐 | 不同数据源的时间戳不一致 | 统一时间格式和时区 |
重要
回测时务必使用后复权数据——前复权会使历史价格变负,导致收益率计算错误。
第三部分:研究——量化系统的永动机
研究的持续循环
┌── 产生想法 ──┐
│ │
│ ▼
发现问题 编程实现
▲ │
│ ▼
│ 回测验证
│ │
│ ▼
└── 实盘反馈 ← 模拟/实盘
研究的具体内容
| 阶段 | 研究内容 | 工具/方法 |
|---|---|---|
| 策略研究 | 因子挖掘、信号生成、参数优化 | Python、Jupyter |
| 回测研究 | 收益分析、风险指标、归因分析 | Backtrader、Zipline |
| 优化研究 | 参数敏感性、稳健性检验 | 网格搜索、贝叶斯优化 |
| 对比研究 | 基准对比、同行对比 | 指数、同类策略 |
研究的输出
- 策略文档:记录策略逻辑、参 数、假设
- 回测报告:收益、回撤、夏普比率等关键指标
- 实盘监控:实时跟踪、异常预警
- 迭代记录:每次优化的原因和效果
数据与研究的经典错误
1. 前视偏差(Look-ahead Bias)
在回测中使用了当时还不存在的数据。
❌ 例子:在 2020 年的回测中使用了 2023 年的财报数据 ✅ 正确:严格按时间戳对齐,只用"当时已知"的信息
2. 幸存者偏差(Survivorship Bias)
只考虑了存活至今的股票,忽略已退市的。
❌ 例子:用当前的沪深 300 成分股回测 10 年前的策略 ✅ 正确:使用历史上每个时点的成分股名单
3. 数据窥探(Data Snooping)
反复在同一数据集上测试不同策略,直到"找到"一个表现好的。
❌ 例子:测试 100 个策略,挑回测最好那个,声称发现了 Alpha ✅ 正确:用样本外数据验证,做统计显著性检验
下一步:实盘评估与策略考量 →