跳到主要内容

什么是量化交易

直觉

「量化交易」一句话概括:把投资决策写成规则、交给数据和算法去执行,而不是凭直觉拍脑袋

主观交易者盯着新闻、财报、K 线,在心里权衡买卖;量化交易者把这些「权衡」翻译成可计算、可回测、可复现的公式与流程:

  • 系统化(systematic):规则固定,不随情绪摇摆;
  • 数据驱动(data-driven):用历史数据验证想法是否真的赚钱;
  • 可度量(measurable):每一笔盈亏都能拆解、归因、改进。

:::note 这本书的边界 我们讨论的是研究级量化:如何形成策略、如何回测、如何评估。至于「把策略接到券商 API 实盘下单」这类工程问题,留到模块 11 的进阶附录。 :::

两个核心概念:Alpha 与 Beta

任何一段投资收益,大致可以拆成两部分:

Ri=αi+βiRm+ϵiR_i = \alpha_i + \beta_i \cdot R_m + \epsilon_i
  • RiR_i:某资产(或策略)的收益;
  • RmR_m市场收益(如大盘指数);
  • βi\beta_i贝塔):跟着大盘「随波逐流」的程度。β=1\beta=1 表示与大盘同涨同跌;
  • αi\alpha_i阿尔法):与大盘无关的超额收益——这才是量化人真正想赚的钱;
  • ϵi\epsilon_i:噪音。
「人话」解释:Beta 是顺风车,Alpha 是你自己的本事

买大盘指数 ETF,你赚的是 Beta——大盘涨你就涨,跌你就跌,谁都能上车。 量化策略的目标是制造 Alpha——在「不依赖大盘涨跌」的前提下,依然稳定赚到的钱。 所以评估一个策略,往往要先「扣掉 Beta」,看看剩下的 Alpha 还剩多少、稳不稳。 这就是模块 1.6「CAPM 与回归」要做的事。

量化研究的全流程

一条典型的量化流水线长这样:

想法 → 数据 → 信号(因子) → 组合构建 → 回测 → 风控/归因 → (实盘)
↑__________________________________________|
迭代改进
  1. 想法:一个可检验的假设,比如「动量强的股票短期内还会继续强」;
  2. 数据:找到能验证它的历史数据;
  3. 信号 / 因子:把想法翻译成一个每期可计算的数值;
  4. 组合构建:决定怎么按信号分配仓位;
  5. 回测:在历史数据上「假装」交易,看赚不赚钱;
  6. 风控 / 归因:赚的钱到底是 Beta 还是 Alpha?最大能亏多少?
  7. 迭代:不满意就回到第 1 步。

后续每一个模块,都是这条流水线上某一环的展开。

可运行案例:把收益拆成 Alpha 与 Beta

下面这段代码模拟一只股票的收益:它有一个固定的 β=1.2\beta=1.2(比大盘更猛),和一个正的 α\alpha(年化约 3%)。我们用线性回归把两者重新拆出来,看看能否还原真值。

import numpy as np
import matplotlib.pyplot as plt

rng = np.random.default_rng(7)

# —— 模拟数据 ——
n = 252 * 4                       # 4 年日频
market = rng.standard_normal(n) * 0.01      # 大盘日收益(均值约 0)
beta_true, alpha_annual = 1.2, 0.03
alpha_daily = alpha_annual / 252
noise = rng.standard_normal(n) * 0.008
stock = alpha_daily + beta_true * market + noise   # R_i = alpha + beta*R_m + eps

# —— 最小二乘回归:x=market, y=stock ——
x, y = market, stock
slope = np.cov(x, y, ddof=0)[0, 1] / np.var(x)   # = beta 的估计
intercept = y.mean() - slope * x.mean()          # = alpha(日频) 的估计

print(f"真值  beta={beta_true:.2f}  alpha(年化)={alpha_annual:.2%}")
print(f"估计  beta={slope:.3f}      alpha(年化)={intercept*252:.2%}")

plt.figure(figsize=(8, 4.5))
plt.scatter(market, stock, s=6, alpha=0.4, label="每日样本")
xs = np.linspace(market.min(), market.max(), 50)
plt.plot(xs, intercept + slope * xs, color="crimson", lw=2,
       label=f"回归线: slope(beta)={slope:.2f}")
plt.axhline(0, color="gray", lw=0.8); plt.axvline(0, color="gray", lw=0.8)
plt.xlabel("市场收益 R_m"); plt.ylabel("个股收益 R_i")
plt.title("把收益拆成 Beta(斜率) 与 Alpha(截距)")
plt.legend(); plt.tight_layout(); plt.show()

小结

  • 量化 = 把投资规则化、数据化、可度量
  • 收益 = Alpha(自己的本事)+ Beta(大盘的顺风车)+ 噪音;
  • 量化研究是一条「想法→数据→信号→组合→回测→风控」的迭代流水线。

下一节我们学会怎么用这个网站,亲手跑出第一段代码。