980 字
5 分钟
第六、七道工序:组合优化与仿真
对应原书第 6 章(Portfolio Construction)与第 7 章(Simulation)。前者是全书数学最重的一章,后者是全书最坦诚的一章。原书无中译;本页为原创导读笔记。
组合优化:目标函数只有一行
把前面所有工序的产出装进一个目标函数:
最大化:总预测收益 − 风险惩罚 − 交易成本惩罚
预测来自第 2~3 章,风险项来自第 4 章的因子协方差,成本项来自第 5 章。没有成本项时这就是单期均值-方差,闭式解一步到位。成本项一进来,问题的性质就变了——今天的交易影响明天的持仓和后天的成本,单期问题变成多期动态规划。
多期问题的工程近似是原书的重头戏,直觉可以用两句话说完:
- 别一步跳到目标仓位:存在成本时,最优策略是每期向”理想组合”移动一小步(部分调整)——移动速度由 alpha 衰减速度与冲击成本的比值决定;
- 快慢 alpha 要区别对待:快信号衰减快,等你慢慢建仓它已经没了——所以快信号只配小仓位快执行;慢信号才值得承载大仓位。预测的半衰期决定它的容量,这是第 3 章快慢搭配在优化端的闭环。
杠杆:Kelly 的现实版
组合形状定了,还剩”整体开多大”。理论答案是 Kelly 准则(最大化对数财富增长率),但原书的实践立场是:永远用 fractional Kelly。因为 Kelly 的输入(预期收益)恰恰是你估得最不准的东西,而过度杠杆的惩罚是不对称的——估高一倍会破产,估低一倍只是少赚。波动率目标制(vol targeting)是同一思想的日常形式。
第 7 章仿真:全书最坦诚的一章
回测(仿真)是量化研究的核心仪器,这章讲的是仪器本身的系统误差:
- Simulation 与 production 的一致性:回测代码和实盘代码如果是两套,它们的差异就是一类无法审计的误差。理想架构是同一套决策代码,喂历史数据就是回测,喂实时数据就是实盘——本平台”研究模块与 API 共用同一套代码”的设计正是这个原则的低配版;
- 回测过拟合:试验次数必须记账,多次尝试后的最好夏普要打折——与《金融机器学习》的 Deflated Sharpe 一脉相承,原书从业者视角补了一刀:研究员的简历激励天然鼓励过拟合,制度设计(样本外封存、试验登记)比个人自律可靠;
- Paper trading 的位置:上线前用实时数据空跑,是抓”回测与现实差异”的最后一道网——它抓不到统计问题,但能抓到数据口径、时序、成交假设的工程问题;
- Bugs 单独成节:教材里罕见的诚实。作者的经验之谈——量化系统的 bug 里,让回测变好看的 bug 存活时间远长于让回测变难看的,因为没人急着去查好消息。所以要双向怀疑:坏结果查 bug,好结果更要查 bug。
本页带走的三句话
- 组合优化的目标函数只有一行:预测收益 − 风险罚 − 成本罚;成本项把单期问题变成多期,最优解从”跳到目标”变成”逐步逼近”;
- 预测的半衰期决定它的容量;杠杆永远用 fractional Kelly——你估得最不准的数不配满仓 Kelly;
- 回测和实盘要共用一套代码;让回测变好的 bug 活得最久——好结果比坏结果更需要查 bug。