2. 量化投资基础

在正式进入 Qlib 的工程实践之前,我们需要先把量化投资的语言体系建立起来。很多初学者一上手就急着写策略、跑回测,结果往往因为对交易品种、因子逻辑、Alpha 与 Beta 的边界理解不清,导致策略在实盘中迅速失效。本章的目标不是让你记住所有定义,而是让你在后续使用 Qlib 构建端到端项目时,能够准确判断“我在做什么、为什么这样做、哪里可能出错”。

一、金融市场基础概念与常见交易品种

量化投资的对象是金融市场中的可交易资产。理解这些资产的基本属性,是设计策略和选择数据源的前提。常见交易品种可以按资产类别、交易机制和风险特征进行划分。

品种 典型标的 交易机制 量化关注点
股票 A股、港股、 T+1 或 T+0,撮合竞价 截面因子、行业中性、停牌与涨跌停
ETF 宽基、行业、主题 ETF 场内实时交易 折溢价、流动性、跟踪误差
期货 股指、商品期货 T+0,保证金,双向 基差、展期、杠杆与强平
期权 50ETF 期权、商品期权 T+0,权利金交易 隐含波动率、希腊字母、时间价值
可转债 沪深可转债 T+0,无涨跌幅限制 转股溢价、条款博弈、信用风险

不同品种的数据频率、复权方式、交易成本和风险约束差异很大。例如股票回测必须处理复权价格和停牌,期货回测必须处理主力合约切换和保证金。Qlib 通过统一的数据表达式和配置体系来管理这些差异,但前提是你清楚自己交易的是什么。

实践建议:在 Qlib 中配置数据时,先明确标的池、时间范围、频率和复权方式。不要默认使用未复权价格做收益率计算,否则除权日会产生虚假信号。

二、因子投资:从原始数据到可交易信号

因子是量化策略的核心构件。简单说,因子是一个将原始市场数据映射为横截面排序或打分的函数。因子投资的基本假设是:某些可观测特征能够解释或预测资产的未来收益差异。

常见因子类别包括:

  • 价值因子:市盈率、市净率、股息率等,捕捉估值回归。
  • 动量因子:过去 N 日收益率、突破强度,捕捉趋势延续。
  • 质量因子:ROE、毛利率、现金流稳定性,捕捉基本面质量。
  • 波动率因子:历史波动率、下行波动,捕捉风险溢价。
  • 流动性因子:换手率、成交额、Amihud 非流动性,捕捉交易摩擦。

在 Qlib 中,因子通常通过表达式引擎定义。例如一个简单的 20 日动量因子可以写成:

Ref($close, 20) / $close - 1

这个表达式表示当前收盘价相对于 20 个交易日前收盘价的变化率。Qlib 会自动处理时间对齐和缺失值。因子计算完成后,需要经过标准化、去极值、中性化等处理,才能进入模型训练或组合优化。

核心流程:原始数据 → 因子表达式 → 因子值计算 → 预处理(去极值/标准化/中性化)→ 因子合成或模型预测 → 组合构建 → 回测评估。

三、Alpha 与 Beta:收益的来源分解

在量化投资中,收益可以分解为 Beta 收益和 Alpha 收益。Beta 收益来自市场整体暴露,例如大盘上涨带来的普涨;Alpha 收益来自策略相对于基准的超额部分,通常被认为是真正的主动管理能力。

用公式表达:

R_p = α + β * R_m + ε

其中 R_p 是组合收益,R_m 是市场基准收益,β 衡量组合对市场的敏感度,α 是剔除市场暴露后的超额收益,ε 是残差。

很多看似高收益的策略,实际上只是承担了更高的 Beta。例如在牛市中满仓小盘股,收益可能很高,但一旦市场反转,回撤也会很大。量化策略的目标通常是追求稳定的 Alpha,同时控制 Beta 暴露。在 Qlib 中,可以通过基准配置和风险模型来分析组合的 Alpha 与 Beta 分解。

常见误区:把 Beta 收益误认为 Alpha。回测中如果基准选择不当,或者没有做行业和风格中性化,很容易高估策略的真实超额能力。

四、回测与实盘差异:为什么回测漂亮实盘却亏钱

回测是用历史数据模拟策略表现的过程,实盘则是在真实市场中执行。两者之间存在系统性差异,忽视这些差异是量化项目失败的主要原因之一。

主要差异来源包括:

  1. 交易成本:回测常忽略滑点、手续费和冲击成本,实盘中这些会显著侵蚀收益。
  2. 流动性约束:回测假设可以按收盘价成交,实盘中大单可能无法成交或推动价格。
  3. 未来函数:使用了当时不可得的数据,例如用当日收盘价决定当日开盘交易。
  4. 幸存者偏差:标的池只包含当前仍存活的股票,忽略了退市和重组。
  5. 过拟合:在历史数据上反复调参,导致策略对噪声敏感。
  6. 市场结构变化:交易规则、参与者结构、宏观环境发生变化,历史规律失效。

在 Qlib 中,回测框架提供了交易成本、滑点和成交限制的配置项。一个典型的回测配置片段如下:

backtest:
  start_time: 2020-01-01
  end_time: 2023-12-31
  account: 1000000
  benchmark: SH000300
  exchange:
    limit_threshold: 0.095
    deal_price: close
    open_cost: 0.0005
    close_cost: 0.0015
    min_cost: 5

这段配置定义了回测区间、初始资金、基准、涨跌停阈值、成交价格以及开平仓成本。合理设置这些参数,才能让回测结果更接近实盘。

复盘方法:将回测收益按时间、行业、因子暴露进行归因,检查收益是否集中在少数交易日或少数股票。如果收益高度集中,说明策略可能不稳定。

本章小结

本章建立了量化投资的基础认知框架:交易品种决定了数据与规则,因子是策略的原材料,Alpha 与 Beta 帮助我们区分收益来源,回测与实盘的差异提醒我们保持谨慎。这些概念将贯穿后续 Qlib 端到端项目的每一个环节。只有先理解市场,才能让工具真正服务于策略。