Jikipedia
概念笔记

OLS 线性回归(最小二乘建模)

量化OLS线性回归statsmodels对冲比率因子回归

一句话

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

量化里的三个用途

来源

常见混淆

  • 相关 ≠ 因果,拟合好 ≠ 可外推:OLS 只保证样本内误差平方最小,不保证关系对未来成立;样本外要靠检验与逻辑。
  • 「多项式回归」仍是线性回归:高次项被当成新自变量,参数仍是线性的;前提是幂次清单已知(不知道 X^2.5 就拟合不准)。
  • 哑变量 ≠ 选择器:它和连续变量在一次回归里并行起作用;把三段数据拆开各回归一次是错误理解。
  • 漏常数项:statsmodels 默认无截距,忘记 add_constant() 是新手最常见的坑。
  • OLS ≠ 整个统计推断:32 篇只讲拟合,没讲系数显著性、p 值、多重共线性——这些是另一层问题。

开放问题

  • 推断统计(显著性、置信区间)、稳健标准误、多重共线性处理不在本库素材内 [需要验证],落地用回归结论前要补。
  • 回归系数估计对异常值/噪声敏感(最小化平方和放大了大误差的影响)——去极值见 因子预处理(去极值、标准化与市值/行业中性化)
  • statsmodels 的版本演进与 2016 语境差异;API 主流程稳定,细节以官方文档为准。
  • 因子对 α 回归的方向性结论(21 篇买预测 α 最大 vs 20 篇买 α 最小)在既有页面已标注矛盾,回归本身是中性的建模工具。

更新 2026-09-06

检索知识库

按标题、类型或正文检索