- TWAP/VWAP 最优执行:把大单拆细在时间轴上隐身
散户下单只关心买不买、卖不卖;机构下单还要多问一句:这单怎么下才不会自己把价格打飞?一笔 10 万股的市价单一次性砸进去,滑点可能高达 98bp——本文用 4000 条蒙特卡洛路径实测,同样的量拆成 TWAP(均匀切)滑点降到 43bp、VWAP(跟着成交量切)再降到 40bp,一次性冲击是它的 2.3 倍。文章从零推导市场冲击的凸性为什么让『拆单+跟量』能省钱(Cauchy-Schwarz),复现日内 U 型成交量曲线、Almgren-Chriss 有效前沿(执行成本 vs 时序风险的取舍),并诚实拆穿 VWAP 的死穴:它跟踪的是一个你下单时还不知道的未来基准,预测成交量偏 35% 就会变成跑输基准的跟踪误差。附完整 Python 与四类真实陷阱(中高阶)。
20 min Chinese - 隔夜与日内收益拆分:同一只股票的两副面孔
把一天的收益按『收盘到次日开盘』和『开盘到收盘』切成两段,会发现同一只股票戴着两副面孔:隔夜段延续、日内段反转,两股力量方向完全相反却都能赚钱。这不是站内那篇讲权益溢价集中在隔夜的时间序列拆解,而是 Lou-Polk-Skouras (2019, JFE) 的『拔河』横截面视角——散户情绪在隔夜发酵、机构资金在日内逆向承接。本文在植入动量 β=0.055、反转 β=0.042 的 200 股×5 年合成面板上完整复现 Fama-MacBeth 检验:隔夜动量斜率 0.045(t=9.9)、日内反转斜率 -0.042(t=-10.7)、五分组隔夜段单调递增而日内段单调递减;隔夜动量多空年化 12.9%(Sharpe 1.47)、日内反转多空年化 10.4%(Sharpe 1.33)、合并策略 Sharpe 1.56。用 β×成本热力图画出这类日换手策略的生死线,附完整 Python 与四类真实陷阱(中高阶)。
17 min Chinese - 溃疡指数与痛苦指数:把回撤的深度和时长一起计入风险
最大回撤只记录你摔得最深的那一米,不记录你在水下憋了多久。本文构造两条 MDD 几乎相同(-30.4% vs -30.2%)的净值曲线:一条 V 型急跌 90 天修复,一条绵长阴跌在水下泡 500 天——MDD 说它们一样烂,但持有人的体感天差地别。溃疡指数(Ulcer Index)的修复方案是对整条水下曲线求均方根:回撤的每一天都计入,且平方项让深回撤被超线性惩罚;痛苦指数(Pain Index)则取水下曲线的算术平均,线性计重。实测两条曲线的 UI 分别为 10.5 和 16.6、PI 为 8.1 和 14.0——时长终于进入了风险度量。用 40 个随机策略的散点实验展示 Martin 比率(年化收益/UI)与 Sharpe 的排名分歧:Sharpe 相近的策略 Martin 可以差数倍,因为波动率对上涨和下跌的抖动一视同仁,而 UI 只惩罚水下的部分。打穿三个实务陷阱:UI 对数据频率的依赖(月频 UI 系统性低估日频 UI)、新高稀疏策略的峰值锚定问题、以及用 UI 做优化目标时的路径依赖非凸性(中阶)。
12 min Chinese - 局部依赖图 PDP:把单个因子与收益的边际关系画成曲线
机器学习因子模型跑出了收益,你却说不清『动量到底怎么影响预测』——因为模型是黑箱,特征重要性只给排名不给形状。PDP(Partial Dependence Plot)把某个因子在其取值范围上扫一遍、其余特征原样保留后对全样本预测求平均,画出这个因子与预测收益的边际曲线:是单调、倒U 还是阶梯,一眼看穿。本文用合成因子数据训练梯度提升树,画动量的倒 U 型甜区、四因子 PDP 面板、动量×规模的二维交互热图,并诚实拆穿 PDP 最致命的陷阱——相关因子下它会强行外推到根本不存在的样本组合、把借来的效应算成自己的(附完整 Python,中阶)。
15 min Chinese - 路径签名粗糙路径:用迭代积分把价格轨迹写成可学习的特征
传统特征工程把一段价格轨迹压成几个统计量——均值、波动、动量——路径怎么走的信息全部丢掉。路径签名换思路:用粗糙路径理论中的迭代积分,把整条轨迹按阶数展开成一列数,level-1 是净位移、level-2 是 Lévy 面积(转了多少圈)、level-3 编码更精细的时序几何,理论上无限阶签名唯一决定路径形状。本文用纯 numpy 通过 Chen 恒等式递推实现 2 维时间增广路径的 level-3 截断签名,在三类合成路径(趋势/均值回复往返/噪声)上做特征对决:签名 level-1~3 样本外 IC 0.737,碾压 6 维手工统计特征(0.597);消融揭示关键信息藏在三阶项——level-1~2 只有 0.434,加入 level-3 一步跳到 0.737,因为『先冲高后回落』的往返形状是三阶几何量。诚实拆穿维度爆炸陷阱:d 维路径 level-L 签名共 Σdᵏ 项,d=5 到 level-5 已是 3905 维,必须靠时间增广+低阶截断+正则化续命。拆穿签名=万能特征/平移不变性丢失绝对价位/采样频率敏感/树内核近似取舍四类陷阱(中高阶)。
14 min Chinese - PPO 强化学习交易:用近端策略优化学会在连续动作空间下单
监督学习只能回答『下一期涨还是跌』,回答不了『该持多少仓』——仓位是个连续决策,且换手有成本、决策有惯性,这天然是强化学习问题。PPO 是策略梯度的工程化版本:用概率比 r(θ) 度量新旧策略偏移,clip 目标把更新钉死在信任域 [1-ε,1+ε] 内,防止一次大步毁掉整个策略。本文纯 numpy 实现线性高斯策略 PPO(tanh 均值头 + 可学习 σ + GAE 优势估计),在 OU 均值回复合成市场上训练 200 轮:episode 奖励从 -8.9 爬到 +7.0,agent 自己学会『涨多了做空、跌多了做多』的平滑连续仓位函数。样本外对比揭示连续动作的真正价值:PPO Sharpe 1.57 与硬规则 ±1 满仓反转的 1.75 接近,但最大回撤只有其 1/5(-3.5% vs -17.2%)、换手只有其 1/5——它学到的不是更强的信号,而是更聪明的仓位。拆穿 reward=收益率就够了/训练曲线涨=真学会了/RL 免疫过拟合/σ 收敛=策略成熟四类陷阱(中阶)。
15 min Chinese - 传播子模型价格冲击:把每笔成交的冲击写成核函数衰减
大多数交易成本模型把市场冲击当成瞬时的一锤子买卖——你砸单、价格跳、结束。但真实市场里,一笔成交的冲击是有『余韵』的:它推高价格后会慢慢消退,而不是立刻弹回或永久留存。Bouchaud 的传播子模型(Propagator Model)把这件事写成一个衰减核 G(t),价格 = 所有历史成交冲击按 G(t) 衰减后的叠加。本文从零推导为什么这个核必须存在——订单流方向有惊人的长记忆(自相关拖到上百笔仍显著),如果冲击是永久的,长记忆会让价格产生可预测趋势、无风险套利机会遍地;传播子的幂律衰减核恰好抵消这种记忆,让价格回到接近鞅的无套利状态。用纯 numpy 复现冲击核(幂律 vs 指数 vs 永久)、价格叠加构造、订单流长记忆自相关、以及从模拟成交数据反推响应函数 R(l)。附完整 Python 与四类真实陷阱(高阶)。
17 min Chinese - 量化开发者技术栈全景图:从Python到GPU的进化之路
系统梳理量化开发者的完整技术栈,从编程语言到低延迟系统架构
12 min Chinese
返回
博客
第 52 页 · 显示 8 / 1446 篇文章
按年份查看 →