概念笔记
OLS 线性回归(最小二乘建模)
一句话
OLS(普通最小二乘)找一条直线/超平面 Y=β₀+β₁X₁+…,让「预测误差的平方和」最小。它是量化里做协整残差、因子对收益回归、β 与对冲比率估计的通用建模工具。
当前理解
模型与目标
- 模型:Y = β₀ + β₁X₁ + … + βₙXₙ + ε,有 k 组数据。
- OLS 估计 b,使 Σ(y(t) − b₀ − b₁x₁(t) − … − bₙxₙ(t))² 最小。
- 「线性」指对参数 β 线性,不是对变量 X 线性——把 X²、X·Z 造列当新变量,仍是线性回归(只要幂次/组合已知)。
工具用法(statsmodels,量化课堂 32)
- 五步:
sm.OLS(endog, exog)→ 记得sm.add_constant()(statsmodels 默认没有常数项,漏加会整体偏)→.fit()才算 →params取系数 →summary()/fittedvalues。 - 哑变量:分类变量转 {0,1} 指示向量(
sm.categorical(..., drop=True)),与连续变量并行进同一回归,不是「分段各回归一次」。 - 数据口径:行情用
get_price(...)或attribute_history,见 聚宽行情与财务数据获取 API。
量化里的三个用途
- 协整残差回归:ln(A)=A+B·ln(B) 取残差做 ADF,判断两标的有没有长期均衡(配 协整(非平稳序列的平稳线性组合);实例在 15 篇)。
- β 与 α 回归:收益对市场收益回归,斜率 = β(大盘敏感度)、截距含 α(超额)——CAPM 系列 19–21 篇的做法(见 风险收益权衡、β与CAPM、Alpha 对冲(卖空股指期货剥掉系统性风险))。
- 因子建模:历史 α 对一组财务因子回归,预测下期 α(21 篇);多因子打分的主流进阶路线(见 因子选股(排名 / 打分 / 阈值筛选))。
- 真数据演示:2015 年上证日收益对深证日收益回归得 y≈0.002+0.9991x,两指数日收益几乎同步。
来源
- Statsmodels 统计包之 OLS 回归 — OLS 概念、statsmodels 用法、多项式/哑变量、上证-深证演示(量化课堂 32,postId=1786)
- 股指期货跨期套利策略 — 协整建模里的残差回归(量化课堂 15,postId=4296)
- CAPM+APT 多因子模型 — 因子对历史 α 的回归建模(量化课堂 21,postId=1955)
- 关联:协整(非平稳序列的平稳线性组合)(残差平稳性检验)、均值回归(买超跌赌反转)(价差回归的另一写法)、风险收益权衡、β与CAPM
常见混淆
- 相关 ≠ 因果,拟合好 ≠ 可外推:OLS 只保证样本内误差平方最小,不保证关系对未来成立;样本外要靠检验与逻辑。
- 「多项式回归」仍是线性回归:高次项被当成新自变量,参数仍是线性的;前提是幂次清单已知(不知道 X^2.5 就拟合不准)。
- 哑变量 ≠ 选择器:它和连续变量在一次回归里并行起作用;把三段数据拆开各回归一次是错误理解。
- 漏常数项:statsmodels 默认无截距,忘记
add_constant()是新手最常见的坑。 - OLS ≠ 整个统计推断:32 篇只讲拟合,没讲系数显著性、p 值、多重共线性——这些是另一层问题。
开放问题
- 推断统计(显著性、置信区间)、稳健标准误、多重共线性处理不在本库素材内 [需要验证],落地用回归结论前要补。
- 回归系数估计对异常值/噪声敏感(最小化平方和放大了大误差的影响)——去极值见 因子预处理(去极值、标准化与市值/行业中性化)。
- statsmodels 的版本演进与 2016 语境差异;API 主流程稳定,细节以官方文档为准。
- 因子对 α 回归的方向性结论(21 篇买预测 α 最大 vs 20 篇买 α 最小)在既有页面已标注矛盾,回归本身是中性的建模工具。
来源
更新 2026-09-06