QuantWeft量化经纬
本章小节

第 9 章来源与核验记录

核验日期:2026-10-05。外部来源限于作者维护的 Stanford 教材页面和 CVXPY 官方文档;本章数字、输入、图形及生产案例均为教学构造,没有使用真实市场数据。本记录只说明实际查阅的章节和文档页,不声称通读 Boyd 与 Vandenberghe 全书。

外部来源

来源 查阅范围 本章使用方式 边界
Boyd and Vandenberghe, Convex Optimization, 作者维护的教材页 与 官方 PDF §3.1.4 与 Example 3.2,p. 71;§§4.1–4.4,pp. 127–153;§§5.1–5.2.3,pp. 215–227;§5.5.3,pp. 243–244;§§5.6.1–5.6.3,pp. 249–252;§9.1.1,p. 458 二阶 Hessian 判别与二次函数凸性;凸优化问题、LP 与 QP;弱/强对偶及 Slater 条件;KKT 的充分性与必要性边界;扰动参数与对偶敏感度;最小二乘正规方程 按上列章节与页码查阅相关定义、推导和例子,未把结论扩展成市场表现或通用 solver 证书。§9.1.1 只支撑最小二乘代数关系,不代替第 8 章回归推断。
CVXPY 官方 DCP 指南 DCP 组合规则、最小化凸函数/最大化凹函数、仿射等式与不等式方向 解释 problem.is_dcp() 的作用与边界 DCP 通过只表明建模表达式符合规则,不验证单位、估计质量或金融假设。
CVXPY 官方 Quadratic program 示例 标准 QP、均值—方差写法与 dual_value 对照 QP 目标、线性约束和对偶值访问方式 页面中的示范不验证本章构造的收益或协方差输入。
CVXPY 官方 Linear program 示例 线性目标、资源约束、对偶变量示例 对照生产 LP 与资源影子价格口径 本章 A/B 批量、小时限制及利润系数是教学设定。
CVXPY 官方 least-squares 示例 最小二乘目标的建模形式 对照最小二乘为凸二次目标的表达 本章仅讲优化结构,不复述统计推断。
CVXPY 官方 solver 指南 与 状态文档 solver 选择与统计信息、状态命名(包括 optimal_inaccurate、infeasible、unbounded) 指导本地脚本报告真实 solver、状态并拒绝非 optimal 输出 文档列出的功能不代表本机已安装;脚本所列 solver 以本地 cvxpy.installed_solvers() 输出为准。

课程实现与本地复核

本章代码调用 optimization_tools.py 和 ch09_optimization.py。复核命令为:

.venv/bin/python code/ch09_optimization.py
.venv/bin/python -m pytest -q tests/test_ch09_optimization.py

本机课程虚拟环境报告 Python 3.14.7、CVXPY 1.9.3;已安装 solver 为 CLARABEL、SCS、SCIPY、HIGHS、OSQP。示例均指定 solver。QP(OSQP)得到权重约 [0.45454545, 0.54545455]、年度收益 0.066363636364、方差 0.04、目标 -0.046363636364;最小方差权重约 [0.72727273, 0.27272727]、方差 0.031818181818。边界例 risk_aversion=0.2 得 [0,1],第一项长仓下界对偶量约 0.014,全空间梯度约 [-0.048,-0.062]。每项上限 0.4 的例子被 CLARABEL 报为不可行。构造生产 LP 得每天 A 40 批、B 20 批,贡献 160 千欧元/日,资源对偶量约 4/3 与 1/3 千欧元/额外资源小时/日。OLS 示例系数 [0.9,1.4]、SSE 0.2。这些是可复现的数值演示,不代表任何证券组合的实证表现。

对照封装实现:solver 状态必须严格为 optimal;optimal_inaccurate 不接受。协方差特征值容差为 1e-10 * max(abs(eigenvalues)),低于负容差则拒绝,容差内的轻微负值先裁剪到零并重构;返回对象没有记录是否发生过裁剪。预算、长仓和上限违反量以默认 1e-6 作阈值检查;驻点与互补残差只检查为有限值并返回,没有通过阈值,也未检查对偶符号或对偶间隙。因此本章称其为 KKT 诊断,不称完整 KKT 证书。

运行脚本生成 ch09_objective_curve.png。初始验收包含12个章节测试;相对尺度修复后新增4个测试实例,当前共16项;确切通过输出应以执行日志为准。图及文本中的组合、生产、OLS 数值都是模拟/构造教学例子,不含策略回测或投资建议。

根审查修订

修复了正文中普通括号冒充数学定界符、嵌套定界符及对偶函数参数错位;澄清 QP 一般定义与本章凸 QP 的范围,区分 Slater 标准/精炼版本、共同定义域相对内部与有限原始最优值条件。最大 Sharpe 的答案现在明确预算规范化的双向映射,并将权重上限转换为 y_i <= c_i sum(y),不再将固定上限一概当成凸化障碍。目标曲线已嵌入正文。核心函数仅阈值检查原始可行性,KKT 残差只供诊断的边界保留。

根代理实际执行全部6段正文 Python 示例并通过;第9章12项核心测试及因子解析器11项联合通过,证据在 qa/a2/ch09_snippets_root.json 与 qa/a2/ch09_and_french_parser_root.log。最终排版与 Notebook 仍以根验收记录为准,未因结构检查通过而自动标记章节完成。

独立代码审查实测旧阈值的绝对1地板会接受 diag(-5e-11,1e-12),并将明显相对不定的输入投影为半正定。根修复去掉地板,以实际谱尺度乘1e-10为阈值;零矩阵阈值0。对称性也改按矩阵相对尺度核对。新增跨单位缩放不定拒绝、相对微负裁剪、极小不定与极小非对称反例;旧检查结果保留为历史证据,最终执行看发布日志。

2026-10-14 BIL05 双语候选整合

完整读本章工作正文、notes、plan、Loom,对照本批输入绑定的接受I3;§9承接包根Notebook、UUID输出及可选数据契约,保留历史运行根。原数值、Python块和历史验证身份保留,未重跑旧Notebook/French或旧构造数值。

既有凸性、KKT必要/充分、精炼Slater、局部影子价格、内点/边界/杠杆及Sharpe严格域推导已充分,保留全部题号与完整答案,不为配额添加新案例。

仅作者候选,待主控独立接受;canonical_written=false、formal_publication=false、final_verified=false。

搜索教材

输入关键词开始搜索。