Skip to main content

执行模型与数据研究

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 情感分析)
├── 社交媒体热度
└── 卫星图像(工厂/商场活跃度)

数据获取渠道

渠道数据类型费用难度
TushareA 股行情、财务免费/积分
AKShareA 股、期货、宏观免费
东方财富行情、财务、公告免费
Wind全品种、高频数万/年
券商 API实时行情 + 交易开户即可

数据清洗要点

原始数据 → 缺失值处理 → 异常值检测 → 复权处理 → 对齐校验 → 可用数据
步骤常见问题处理方式
缺失值停牌日期无数据前向填充或标记
异常值数据录入错误导致价格翻倍标准差法/分位数法剔除
复权分红送股导致价格跳跃使用后复权/前复权数据
对齐不同数据源的时间戳不一致统一时间格式和时区
重要

回测时务必使用后复权数据——前复权会使历史价格变负,导致收益率计算错误。


第三部分:研究——量化系统的永动机

研究的持续循环

┌── 产生想法 ──┐
│ │
│ ▼
发现问题 编程实现
▲ │
│ ▼
│ 回测验证
│ │
│ ▼
└── 实盘反馈 ← 模拟/实盘

研究的具体内容

阶段研究内容工具/方法
策略研究因子挖掘、信号生成、参数优化Python、Jupyter
回测研究收益分析、风险指标、归因分析Backtrader、Zipline
优化研究参数敏感性、稳健性检验网格搜索、贝叶斯优化
对比研究基准对比、同行对比指数、同类策略

研究的输出

  • 策略文档:记录策略逻辑、参数、假设
  • 回测报告:收益、回撤、夏普比率等关键指标
  • 实盘监控:实时跟踪、异常预警
  • 迭代记录:每次优化的原因和效果

数据与研究的经典错误

1. 前视偏差(Look-ahead Bias)

在回测中使用了当时还不存在的数据。

❌ 例子:在 2020 年的回测中使用了 2023 年的财报数据 ✅ 正确:严格按时间戳对齐,只用"当时已知"的信息

2. 幸存者偏差(Survivorship Bias)

只考虑了存活至今的股票,忽略已退市的。

❌ 例子:用当前的沪深 300 成分股回测 10 年前的策略 ✅ 正确:使用历史上每个时点的成分股名单

3. 数据窥探(Data Snooping)

反复在同一数据集上测试不同策略,直到"找到"一个表现好的。

❌ 例子:测试 100 个策略,挑回测最好那个,声称发现了 Alpha ✅ 正确:用样本外数据验证,做统计显著性检验


下一步实盘评估与策略考量 →