线性规划
Quant 面试指南
覆盖 LP 建模、对偶理论、KKT 条件、单纯形法,以及 Lasso-as-QP、无套利定价、投资组合优化等核心应用。
LP 建模
线性规划(LP):在线性约束下最小化线性目标函数。标准不等式形式:
其中 $c \in \mathbb{R}^n$ 为目标系数,$A \in \mathbb{R}^{m \times n}$,$b \in \mathbb{R}^m$。
各要素含义
| 要素 | 作用 | Quant 类比 |
|---|---|---|
| $c^\top x$ | 目标函数(线性) | 负期望收益 / 成本 |
| $Ax \leq b$ | 不等式约束 | 风险限额、预算、容量 |
| $Cx = d$ | 等式约束 | 满仓约束、无套利条件 |
| $x \geq 0$ | 非负约束 | 仅做多、非负权重 |
可行性与有界性
LP 恰好满足三种情形之一:可行且有界(存在最优解)、可行但无界(目标趋向 $-\infty$)、不可行(约束集为空)。
标准形式与转化
任何 LP 均可转化为标准形式:
基本可行解(BFS)
对 $Ax = b$,$A \in \mathbb{R}^{m \times n}$,$\text{rank}(A) = m$:基本可行解将 $n-m$ 个变量设为 0(非基变量),解出剩余 $m$ 个(基变量)。BFS 对应可行多面体的顶点,单纯形法在相邻 BFS 之间移动。
几何直觉
可行集 $\{x : Ax \leq b,\, x \geq 0\}$ 是一个凸多面体(convex polytope)。线性目标函数的等值面是一族平行超平面。最优解出现在等值超平面"刚好切到"多面体时——必在某个顶点(退化时在边或面上)。
- 可行集是凸集(半空间的交)
- 有界时最优解必在顶点
- 退化情形:目标平行某条边,多个最优顶点
- 顶点 ↔ BFS 一一对应
$\mathcal{P} = \{x \geq 0 : Ax \leq b\}$ 由 $m+n$ 个超平面围成。顶点是 $n$ 个约束同时紧的交点,顶点数 $\leq \binom{m+n}{n}$。
对偶理论 Duality
每个 LP(原问题)都对应一个对偶 LP。对偶理论是优化与金融中最重要的工具之一——对偶变量的经济意义是约束的影子价格。
原-对偶对应规则
| 原问题 | 对偶问题 |
|---|---|
| 最小化 | 最大化 |
| 第 $i$ 行 $\geq$ 约束 | 对偶变量 $y_i \geq 0$ |
| 第 $i$ 行 $=$ 约束 | 对偶变量 $y_i$ 自由 |
| 变量 $x_j \geq 0$ | 第 $j$ 个对偶约束 $\leq$ |
| 变量 $x_j$ 自由 | 第 $j$ 个对偶约束 $=$ |
弱对偶与强对偶
由单纯形法:最优时 reduced costs 满足 $\bar{c} = c - A^\top y \geq 0$,其中 $y = (B^\top)^{-1}c_B$ 为单纯形乘子。令其为对偶变量:$A^\top y \leq c$(对偶可行),$c^\top x^* = c_B^\top B^{-1}b = b^\top y^*$(无间隙)。$\blacksquare$
互补松弛条件 Complementary Slackness
直觉:若某约束不紧,则其影子价格为 0;若某对偶变量为正,则对应约束必紧。这是 LP 最重要的结构性质之一。
对偶变量的金融含义
对偶变量 $y_i$ 是影子价格(shadow price):将约束 $i$ 的右端项放松一个单位,最优目标值的改善量。在投资组合优化中,预算约束的对偶变量是财富的边际效用;在无套利定价中,对偶变量就是风险中性概率。
KKT 条件
对一般约束优化问题:
KKT 条件是最优性的必要条件(当 $f, g_i$ 凸、$h_j$ 仿射时也充分):
LP 的 KKT
对 $\min c^\top x$ s.t. $Ax = b,\, x \geq 0$,引入等式乘子 $y$(自由)和非负约束乘子 $s \geq 0$,KKT 给出:
这正好恢复互补松弛:$x_j = 0$(非基)或 $s_j = 0$(基变量,reduced cost 为零)二者必居其一。
QP 的 KKT
对 $\min \tfrac{1}{2}x^\top Q x + c^\top x$ s.t. $Ax \leq b$,$Q \succ 0$:
$Q \succ 0$ 保证目标严格凸,KKT 既是必要条件也是充分条件,解唯一。
单纯形法 Simplex Method
单纯形法沿可行多面体的顶点(BFS)移动,每步严格改善目标值(非退化情形)。
复杂度对比
| 方法 | 理论最坏情形 | 实际表现 |
|---|---|---|
| 单纯形 Simplex | 指数级(Klee-Minty 构造) | 经验接近多项式,工业界首选 |
| 椭球法 Ellipsoid | 多项式 $O(n^6 L)$ | 实际很慢,理论意义大 |
| 内点法 Interior Point | 多项式 $O(n^{3.5} L)$ | 大规模 LP/QP 首选 |
二次规划 QP 与 SOCP
$Q \succeq 0$ 时为凸 QP,全局可解;$Q \succ 0$ 时严格凸,解唯一。目标函数是二次型,约束仍是线性的——这是 LP 与 QP 的关键区别。
二阶锥规划 SOCP
SOCP 比 QP 更一般。$Q \succeq 0$ 的 QP 可改写为 SOCP(将二次目标拆为范数约束)。常用于 tracking error 约束、VaR 近似、因子模型风险。
优化层级
常用工具:CVXPY(Python 建模,后端 Gurobi / MOSEK / ECOS),scipy.optimize。
Lasso 改写为 QP
Lasso 本身不是 QP——$\ell_1$ 惩罚项是分段线性函数,在 $\beta_j = 0$ 处不可微。但通过引入辅助变量,可以精确等价地改写为 QP,从而用标准 QP solver 求解。
原始 Lasso
$\|\beta\|_1 = \sum_j |\beta_j|$ 是分段线性非光滑函数。正是这个非光滑性使 Lasso 产生稀疏解——最优点"卡"在 $\ell_1$ 球(菱形)的角上。
QP 改写方案
目标函数关于 $\beta$ 是二次型,关于 $u$ 是线性的;约束全是线性不等式——这是标准 QP。
等价性证明 $P^* = Q^*$
记原 Lasso 最优值 $P^* = \min_\beta \|y - X\beta\|_2^2 + \lambda\|\beta\|_1$,QP 最优值 $Q^* = \min_{\beta,u}\, \|y-X\beta\|_2^2 + \lambda\mathbf{1}^\top u$,约束 $u_j \geq |\beta_j|$。
($Q^* \leq P^*$):对任意 $\beta$,令 $u_j = |\beta_j|$,则 $(\beta, u)$ 对 $Q$ 可行,目标值等于 Lasso 目标值。故 $Q^* \leq P^*$。
($Q^* \geq P^*$):对 $Q$ 的任意可行解 $(\beta, u)$,有 $u_j \geq |\beta_j|$,故目标值 $\geq \|y-X\beta\|^2 + \lambda\|\beta\|_1 \geq P^*$。取下确界得 $Q^* \geq P^*$。
综合:$P^* = Q^*$。$\blacksquare$
紧性:最优解处 $u_j^* = |\beta_j^*|$
命题:若 $(\beta^*, u^*)$ 是 $Q$ 的最优解,则对所有 $j$ 有 $u_j^* = |\beta_j^*|$。
证明:由可行性,$u_j^* \geq |\beta_j^*|$ 对所有 $j$ 成立。只需证反方向 $u_j^* \leq |\beta_j^*|$。
反设存在 $j_0$ 使得 $u_{j_0}^* > |\beta_{j_0}^*|$,构造扰动:
可行性:$\tilde{u}_{j_0} = |\beta_{j_0}^*| \geq |\beta_{j_0}^*|$ ✓,其余分量不变 ✓。
目标值:
与 $(\beta^*, u^*)$ 最优矛盾。故 $u_j^* \leq |\beta_j^*|$,结合可行性得 $u_j^* = |\beta_j^*|$。$\blacksquare$
另一种方案:变量分裂
令 $\beta_j = \beta_j^+ - \beta_j^-$,$\beta_j^+, \beta_j^- \geq 0$,最优解处 $|\beta_j| = \beta_j^+ + \beta_j^-$。改写为:
纯 QP,$2p$ 个非负变量,无需额外不等式约束。两种方案完全等价。
整数规划 Integer Programming
当某些变量必须取整数:$x_j \in \mathbb{Z}$(ILP)或 $x_j \in \{0,1\}$(BIP)。LP 松弛(去掉整数约束)给出目标值的下界。
核心概念
| 概念 | 描述 |
|---|---|
| LP 松弛 | 去掉整数约束,解是 ILP 最优值的下界 |
| 分支定界 Branch & Bound | 对分数值变量分叉枚举子问题 |
| 割平面 Cutting Planes | 添加有效不等式(Gomory cuts)收紧 LP 松弛 |
| 整数间隙 Integrality Gap | LP 松弛与 ILP 最优值之比,衡量松弛质量 |
Quant 相关场景
手数(round lots)约束、交易调度、带基数限制的指数复制(最多持有 $k$ 只股票),以及最小仓位规模的组合构建,均需要 MIP。
投资组合优化 Portfolio Optimization
Markowitz 均值-方差(QP)
$\Sigma \succ 0$ 时为严格凸 QP,最优解唯一。约束 $\mathbf{1}^\top w = 1$ 为等式;$\mu^\top w \geq r_{\min}$ 在有效前沿上为紧约束(active constraint)。扫描 $r_{\min}$ 即可画出有效前沿。
对偶变量的金融含义
收益约束 $\mu^\top w \geq r_{\min}$ 的 Lagrange 乘子是风险-收益权衡率(Sharpe 斜率的倒数);预算约束 $\mathbf{1}^\top w = 1$ 的乘子是资本的边际成本(marginal cost of capital)。
含交易成本(QP 扩展)
交易成本中的 $|\cdot|$ 用与 Lasso 完全相同的辅助变量技巧改写为线性约束,整体仍是 QP。
因子模型(SOCP)
设 $\Sigma = BFB^\top + D$(因子结构),含 tracking error 约束 $\|B(w - w_b)\|_2 \leq \epsilon$ 的风险最小化变为 SOCP。
无套利与状态价格 No-Arbitrage Pricing
问题设置
设 $S$ 个状态,$N$ 种资产,收益矩阵 $D \in \mathbb{R}^{S \times N}$,价格向量 $p \in \mathbb{R}^N$。投资组合 $\theta \in \mathbb{R}^N$ 构成套利当且仅当:
即零成本建仓,所有状态下收益非负,且至少一个状态下严格为正。
套利检测的 LP 公式化
若最优值 $> 0$,套利存在。对偶变量正比于状态价格 $\psi$。
风险中性定价
归一化:$q_s = \psi_s / \sum_s \psi_s$ 给出风险中性概率 $q \in \Delta^{S-1}$,资产满足 $p_n = \frac{1}{1+r_f}\mathbb{E}^Q[D_n]$。
交易执行策略 Execution Scheduling
VWAP 调度(LP)
设 $x_t$ 为第 $t$ 期交易量,$V_t$ 为市场成交量预测,在完成总量 $X$ 的同时最小化市场冲击成本:
$\lambda_t$ 为各时段单位冲击成本,纯 LP。若 $\lambda_t$ 均一,最优策略是在成交量峰值时段集中下单。
Almgren-Chriss 模型(QP)
最小化期望执行成本与其方差的加权和。方差项(来自价格风险)关于 $x_t$ 是二次的,整体变为 QP。扫描风险厌恶参数可画出执行策略的有效前沿,对应 implementation shortfall 的边际成本。
典型例题
例题 1:将 $\ell_1$ 回归改写为 LP
令 $r_i = y_i - x_i^\top \beta$,分裂 $r_i = r_i^+ - r_i^-$,$r_i^+, r_i^- \geq 0$,则 $|r_i| = r_i^+ + r_i^-$。LP:
目标线性,约束线性,纯 LP。$\blacksquare$
例题 2:写出投资组合 LP 的对偶
引入乘子 $\nu$(自由)对应 $\mathbf{1}^\top w = 1$,$\lambda \geq 0$ 对应 $Rw \geq r_{\min}\mathbf{1}$。对偶:
$\lambda_i$:场景 $i$ 收益约束的影子价格。$\nu$:预算增加一单位的边际目标改善量(资本的边际回报率)。$\blacksquare$
例题 3:Lasso 是 QP 吗?如何用 QP solver 求解?
不是直接的 QP:$\|\beta\|_1 = \sum_j |\beta_j|$ 是分段线性函数,非光滑,目标函数不是标准二次型。
改写为 QP:引入 $u \geq 0$,约束 $u_j \geq \beta_j$,$u_j \geq -\beta_j$:
目标关于 $\beta$ 是二次型,关于 $u$ 是线性;约束线性——标准 QP。
紧性:最优解处 $u_j^* = |\beta_j^*|$。若 $u_{j_0}^* > |\beta_{j_0}^*|$,令 $\tilde{u}_{j_0} = |\beta_{j_0}^*|$ 仍可行但目标值严格更小,与最优性矛盾。$\blacksquare$
例题 4:验证互补松弛条件
对偶:$\max 4y_1 + 6y_2$ s.t. $y_1 + y_2 \leq 2$,$y_1 + 2y_2 \leq 3$,$y_1, y_2 \geq 0$。
原最优 $(2,2)$ 处两约束均紧:$2+2=4$ ✓,$2+4=6$ ✓。由互补松弛,$y_1, y_2 > 0$,故两个对偶约束也紧。联立 $y_1+y_2=2$,$y_1+2y_2=3$,解得 $y^* = (1,1)$。
强对偶验证:$4(1)+6(1)=10 = 2(2)+3(2)=10$ ✓。$\blacksquare$
例题 5:影子价格的经济含义
$\nu = 0.15$ 是预算的影子价格:若预算从 1 增加到 $1 + \varepsilon$,最优期望收益增加 $0.15\varepsilon$。
经济含义:在当前最优配置下,额外投入一美元的边际期望收益为 15%,即最优组合的边际资本回报率(marginal return on capital)。$\blacksquare$