数学、统计与计算方法 / QT24

离散动态对冲:从现金账到误差分布

沿唯一冻结账本复算手路径与十二设计,区分频率误差、费用和真实合约规则。

Agent Markdown ↓

我们卖出一份到期支付随标的价格变化的合约,再不断调整标的持仓来准备这笔支付。对冲是否有效,不能只看一条 delta 曲线:买入标的钱从哪里来、负现金如何计息、最后是否平仓、支付是否只扣一次,都会直接改变结果。本篇先让这些钱逐笔对上,再比较频率与费用。默认学习只需要理解现金流和基本统计;完整定价推导放在末尾的独立分支。

1. 一份明确的模型合同

实验名为 EXP-HEDGE-01。假设可交易资产 \(S\) 服从一个具名的 \(Q\) 模型:\(dS_t=rS_tdt+\sigma S_tdW_t\),\(S_0=100\),\(r=0.03\),\(\sigma=0.20\)。卖出一份欧式看涨式合约,\(K=100\)、乘数 \(m=100\)、期限 \(T=30/365\) 年,模型到期支付为 \(m(S_T-K)^+\)。这里没有真实报价,也没有宣称 \(Q\) 是现实涨跌概率。

无分红、允许分数股、允许现金以相同连续复利利率无限借贷、无保证金约束,都是本模型的条件。每个网格点先观察模型价格,再按同格价格加减假设半价差成交;现实订单的排队、部分成交和报告延迟没有被模拟。交易后不从外部补钱。负现金是已经定义的借款,不是偷偷注资。

单份模型权利金为 \(240.95814461\) 美元;每单位支付的模型价为 \(2.4095814461\)。默认将这段期限等分为 16 个区间,半价差设为 5 bps,即 \(c=0.0005\),完整买卖价差为 10 bps。这是成本假设,不是交易所实测报价。16 指模型区间数,不是 16 个真实交易日。

设 \(\tau=T-t\)。调仓所用公式是

\[ \begin{gathered} d_1(t,s)=\frac{\log(s/K)+(r+\sigma^2/2)\tau}{\sigma\sqrt\tau},\\ q_t=m\Phi(d_1(t,s)),\quad t<T. \end{gathered} \]

\(\Phi\) 是标准正态分布函数。初始每单位 delta 为 \(0.5285688375\),因此目标为 \(52.85688375\) 股。到期不再调用含零分母的 delta 公式,而是强制清仓 \(q_n=0\)。这些数来自同一个合同;改变合约乘数要同时改变权利金、股数和支付,不能只改图的纵轴。1

2. 一行现金账,固定三种先后关系

用 \(C_k\) 表示在 \(t_k\) 完成本次交易后的现金,\(q_k\) 表示随后持有的股数,服务于 \((t_k,t_{k+1}]\)。从上一行到当前行,先让旧现金增长为 \(C_{k-1}e^{r\Delta t_k}\),再按当前信息决定目标股数;实际成交变化是 \(\Delta q_k=q_k-q_{k-1}\)。于是

\[ \begin{aligned} C_k^-&=C_{k-1}e^{r\Delta t_k},\\ \mathrm{fee}_k&=cS_k|\Delta q_k|,\\ C_k&=C_k^- -S_k\Delta q_k-\mathrm{fee}_k. \end{aligned} \]

买入时实际模型成交价是 \(S_k(1+c)\),卖出时是 \(S_k(1-c)\)。这与“中间价交易金额加半价差费用”完全等价;两种记法只能选一种,不能在成交价里已经加了价差后又扣一次同样费用。

同一时点按中间价标记资产,就有

\[ C_k+q_kS_k=(C_k^-+q_{k-1}S_k)-\mathrm{fee}_k. \]

因此换仓本身除了费用,不创造或消灭净资产。借款现金的利息也保留在账上。起点先收取权利金、股数为零,然后开仓并扣费;终点先卖清对冲股票并计入平仓价差,随后扣合约支付。最终误差是

\[ \varepsilon=C_n-m(S_T-K)^+. \]

这是“清算后还差或还剩多少钱”。此时不再减一次初始权利金,因为它早已进入现金递推。也不自动用权利金作收益率分母:组合期间使用了借款和风险敞口,权利金不等于投入资本。

3. 把一条短路径完整算完

先取明确选定的手算路径 \(100\to102\to101\to104\),分为三个相等区间,每段 \(10/365\) 年,半价差仍为 5 bps。它不是模拟第一条路径,也不是平均路径。

起点买入 \(52.85688375\) 股,中间价交易额约 \(5285.68837545\),费用约 \(2.64284419\)。所以

\[ \begin{aligned} C_0&=240.95814461-5285.68837545\\ &\quad-2.64284419\\ &=-5047.37307503. \end{aligned} \]

下一时点,旧借款增加约 \(4.15023116\) 美元利息;价格为 102,目标增至 \(68.49211432\) 股,因此追加买入 \(15.63523056\) 股。我们把全部四行列出来,金额显示作四舍五入,计算和附件保留全精度。

模型中价成交股数利息半价差成本成交后股数成交后现金本步支付
010052.856883750.000000002.6428441952.85688375-5047.373075030.00
110215.63523056-4.150231160.7973967668.49211432-6647.114220550.00
2101-5.11131242-5.465627390.2581212863.38080190-6136.595414580.00
3104-63.38080190-5.045850413.295801700.00000000446.66633061400.00

这张表的“成交后现金”还不是授信监控的全部事件。若只在每次成交完成后看负现金,本路径的最大借款是第 10 天的

\[ \mathrm{Borrow}^{\mathrm{after\ trade}}_{\max} =6647.11422055133\text{ 美元}. \]

但第 20 天要先让上一步的负现金计息,再卖出股票。卖出发生以前,现金已经变成

\[ -6647.11422055133\,e^{0.03(10/365)} =-6652.57984794302. \]

所以若“最大借款”指整个现金事件序列——包括计息以后、再平衡以前——应报告

\[ \mathrm{Borrow}^{\mathrm{cash\ events}}_{\max} =6652.57984794302\text{ 美元}, \]

发生在第 20 天、卖出股票以前。两项指标回答不同问题:前者便于检查每次成交后的账面余额;授信是否足够则必须检查后者。它们都由同一冻结账本推得,并没有改变任何交易、价格或终值。

第三行到最后一行,先计旧现金利息,再以模型买卖价差卖清 \(63.38080190\) 股。清仓后现金 \(446.66633061\);到期支付 \(100(104-100)=400\),所以剩余

\[ \varepsilon=446.66633061-400=46.66633061\text{ 美元}. \]

这个正数不说明策略有正期望利润。它只是这条选定路径上的离散对冲误差;另一些路径会资金不足。看误差分布,正是为了避免拿一条漂亮路径代替整个模型表现。

4. 相同路径上比较频率和费用

这里用 PCG64 的固定种子 15161724 一次生成 \(8192\times256\) 个标准正态数。先在归一化时间 \(u\in[0,1]\) 上形成最细 Brownian 网格,再用 \(t=Tu\)、\(\sqrt T W_u\) 生成 \(Q\) 模型价格。4、16、64、256 个区间都从同一条最细路径抽取;同一行路径索引在十二个设计中始终对应同一段价格历史。

这种共同随机数减少比较中的无关抽样差异,但不构成从 \(P\) 到 \(Q\) 的换测度证明。QT17 的一年、漂移 \(0.08\) 示例是另一生成模型;本账本始终用漂移 \(r=0.03\)。

下表是 \(\sqrt{N^{-1}\sum_{i=1}^N\varepsilon_i^2}\),即相对于完全复制目标零误差的 RMSE,单位美元。它既包含均值偏离,也包含离散程度,不等同于样本标准差。

等距模型区间数0 bps RMSE(美元)5 bps RMSE(美元)20 bps RMSE(美元)
493.73952794.552739100.944831
1647.91607549.77392268.512317
6424.91006231.53988979.353757
25612.77921834.913530129.881951

无费用时,较细网格在这组实验中使 RMSE 下降。加入成本后,这种改善不再单调:5 bps 下 256 区间的 RMSE 高于 64 区间;20 bps 下频繁调仓的费用更加明显。不能据此把 64 或 16 宣布成真实市场的最优频率,因为我们没有改变策略、资产、借贷限制或成本机制,也没有做真实交易验证。

对于预定的同一个 delta 目标,如果费用没有反过来改变持仓,令 \(D_k=C_k^{(0)}-C_k^{(c)}\)。两套账相减给

\[ \begin{gathered} D_k=e^{r\Delta t_k}D_{k-1}+\mathrm{fee}_k,\\ \varepsilon^{(0)}-\varepsilon^{(c)} =\sum_{k=0}^n e^{r(T-t_k)}\mathrm{fee}_k. \end{gathered} \]

初始费用和终点清仓费用都包括在内。这条恒等式逐路径成立,而不只是平均意义成立。一旦增加现金或保证金限制,使有费用方案无法维持原目标股数,便不再能用这条“同持仓差额”解释全部结果。

5. 误差分布究竟表达什么

默认 16 区间、5 bps 的模型误差均值约为 \(-11.0255\) 美元,样本标准差约为 \(48.5404\) 美元;5% 和 95% 样本分位数约为 \(-92.6979\) 与 \(67.1902\) 美元。均值估计的 Monte Carlo 标准误约为 \(0.5363\) 美元。这个标准误描述给定模型下有限模拟数量的误差,不描述模型离真实市场有多远。

图使用实际逐路径误差分箱,不由三个分位数拼接曲线。十二个设计均有 8192 个误差,采用共同的美元区间边界;各箱左闭右开,最后一箱包含右端点,箱外计数为零。附件保留完整同索引数组,所以可以独立改变分箱,而不必重新抽路径。

误差箱(美元)默认 16 区间 / 5 bps 路径数
[-325, -300)1
[-275, -250)2
[-250, -225)4
[-225, -200)9
[-200, -175)17
[-175, -150)38
[-150, -125)91
[-125, -100)172
[-100, -75)371
[-75, -50)736
[-50, -25)1475
[-25, 0)2000
[0, 25)1574
[25, 50)948
[50, 75)464
[75, 100)192
[100, 125)78
[125, 150)19
[150, 175)1

配对比较用 \(L_i=\varepsilon_{i,256,5}^2-\varepsilon_{i,64,5}^2\)。在这8192条共同路径上,其均值为 \(224.189981\) 美元²,均值 Monte Carlo 标准误为 \(18.953228\) 美元²。这个比较应使用每条路径的差,而不是把两个设计的误差当成相互独立再随意合成标准误。所有样本标准差使用分母 \(N-1\);MSE 则按 \(N\) 平均平方误差。样本分位数采用线性插值,只是描述约定。

6. 真实合约规则是一项对照,不是给模型换个名字

Cboe 的 XSP 规则规定,XSP 是 SPX 的十分之一,乘数为100美元,欧式行权,行权结算产生现金交付,现金在到期后的下一个营业日交付。XSP 本身是指数,不是可以按上述 \(q_k\) 买入的“XSP 股票”。2

因此,本篇可交易 GBM 资产、同一模型时点平仓并支付的设置不能叫作 XSP 回测。把结算值确定、现金交付和券商账户显示入账混成一个时刻,也没有来源支持。真实对冲若用其他证券或期货,需要另外处理转换比例、基差、分红或展期、实际成交价格与时钟;本实验没有取得这些输入。现代组合模型中的价差、冲击和成交量约束也需要分别建模,而不是从“加入一个费用参数”自动得到。3

7. 迁移:费用和资金约束不是同一个变动

在手算路径的第二次调仓时额外扣1美元,但保持原目标股数不变。终点误差会减少多少?再设可用借款额度为 5000 美元、且没有额外初始自有现金,原来的完整手算路径能否建仓?若额度改为 6700 美元,只看这条冻结手算路径时又如何判断?

解析

这里“第二次调仓”指定为 \(t_1=10/365\),起点开仓记第零次。额外费用会在剩余 \(20/365\) 年中积累借款利息,终点误差减少 \(e^{0.03(20/365)}\) 美元,而不只是恰好1美元。这是同持仓费用递推的直接应用。

借款额度改变的是可行策略,而且必须从第一个现金事件开始检查。5000 美元额度在 \(t=0\) 就不能支持原策略:初始开仓和价差扣除以后需要借 \(5047.37307503\) 美元,因此应在建仓时拒绝,而不能等到第 10 天才宣布超限。

若额度为 6700 美元,则不能只比较“成交后最大借款” \(6647.11422055\)。还要看第 20 天计息后、卖出股票以前的 \(6652.57984794\);它仍低于 6700,所以在这条冻结手算路径、并沿本篇同率无限借贷之外仅加这一上限的假设下,额度足以覆盖全部已列现金事件。这里没有重新优化持仓,也没有加入现实保证金规则。若额度不足,就必须重新规定少买、阈值调整或新增资金等规则;新增外部资金又会改变本实验身份。不能只改最终误差,仍宣称执行了相同策略。

## 定价推导分支:从 Gaussian 积分到自融资复制

这一分支需要 Itô 公式。我们验证的是此模型中这一份 call 的连续复制,不证明所有连续市场都完备。

在 \(Q\) 模型中,给定 \(S_t=s\),有

\[ S_T=s\exp\left((r-\sigma^2/2)\tau+\sigma\sqrt\tau Z\right), \qquad Z\sim N(0,1). \]

先定义折现支付均值 \(C(t,s)=e^{-r\tau}E_Q[(S_T-K)^+\mid S_t=s]\)。支付非零的条件是 \(Z>-d_2\),其中 \(d_2=(\log(s/K)+(r-\sigma^2/2)\tau)/(\sigma\sqrt\tau)\),\(d_1=d_2+\sigma\sqrt\tau\)。

记正态密度为 \(\phi\),用完成平方恒等式 \(e^{az-a^2/2}\phi(z)=\phi(z-a)\),第一项积分成为

\[ e^{-r\tau}E_Q[S_T\mathbf1_{Z>-d_2}] =s\int_{-d_2}^{\infty}\phi(z-\sigma\sqrt\tau)dz =s\Phi(d_1). \]

第二项是 \(Ke^{-r\tau}P(Z>-d_2)=Ke^{-r\tau}\Phi(d_2)\)。相减得到

\[ C(t,s)=s\Phi(d_1)-Ke^{-r\tau}\Phi(d_2). \]

到这里仍是一个具名模型中的计算。要给它复制含义,还须建立相同价值的自融资持仓。

直接由 \(d_1-d_2=\sigma\sqrt\tau\) 可验证 \(s\phi(d_1)=Ke^{-r\tau}\phi(d_2)\);代入导数后,正态密度产生的附加项抵消,得

\[ C_s=\Phi(d_1),\qquad C_{ss}=\frac{\phi(d_1)}{s\sigma\sqrt\tau}, \]\[ C_t=-\frac{s\sigma\phi(d_1)}{2\sqrt\tau} -rKe^{-r\tau}\Phi(d_2). \]

把它们代回即可逐项核对

\[ C_t+rsC_s+\frac12\sigma^2s^2C_{ss}-rC=0. \]

现在即使在漂移为 \(\mu\) 的另一个 GBM 模型中应用 Itô 公式,仍有

\[ \begin{aligned} dC &=C_s\,dS+\left(C_t+\tfrac12\sigma^2S^2C_{ss}\right)dt\\ &=\Delta\,dS+r(C-\Delta S)dt. \end{aligned} \]

令货币账户 \(B_t=e^{rt}\),股票数量为 \(\Delta_t=C_s(t,S_t)\),现金账户单位为 \(\beta_t=(C(t,S_t)-\Delta_tS_t)/B_t\)。首先有价值相等 \(\Delta_tS_t+\beta_tB_t=C(t,S_t)\);其次上式给 \(dC=\Delta_t dS_t+\beta_t dB_t\),即自融资条件。两项一起才说明复制。现金金额 \(\beta B=C-\Delta S\) 包含调仓资金,不能误写成它本身只按 \(r\) 增长的确定过程。

对 \(t<T\) 函数光滑,\(0\le\Delta\le1\),常数参数 GBM 有 \(E\int_0^TS_t^2dt<\infty\),所以股票增益积分可以合法取到端点;\(C(t,S_t)\) 在 \(t\uparrow T\) 时连续趋于 \((S_T-K)^+\)。现金漂移项也可积,例如 \(C-\Delta S=-Ke^{-r\tau}\Phi(d_2)\) 有界。这把复制从每个到期前时点延伸到支付端点。

离散账本不再满足连续再平衡恒等式,费用也破坏上述无摩擦条件,因此其终点有误差。这正是主线需要逐行复算的对象,而不是公式计算“不够准确”。4


  1. Vasily Strela,MIT 18.S096,Lecture 19,Fall 2013,slides 13–22(尤其 slide19 call/delta 公式);公开讲义。数值参数是本文具名教学模型,不是讲义中的历史报价。 ↩︎

  2. Cboe,XSP Options Product Specification,Underlying、Multiplier、Exercise Style、Settlement of Option Exercise;官方规则,2026-09-21 核对。该规则不支持券商 booking 的精确时点。 ↩︎

  3. Stephen Boyd、Kasper Johansson、Ronald Kahn、Philipp Schiele、Thomas Schmelzer,Markowitz Portfolio Construction at Seventy,2024-01-05 公开稿,§2.2–2.4、§3.4–3.5、§4.1–4.3;原文。这里只采用成本、预测和约束对象,不引其策略绩效。 ↩︎

  4. 上述 Gaussian 积分和 PDE 逐项核对支撑本篇的 call 复制。MIT slide16 对现金过程的简述不作为证明;本篇保留“价值相等”和“自融资”两个条件。一般 Itô 公式及其条件见 完整证明单元。 ↩︎

动手试一试

动态对冲同路径分布与资金账

这篇词条与哪些内容相连

图中汇集本篇及其段落的直接关系,具体使用位置见下方列表。箭头按关系名称阅读。例如“需要先修”指向需要掌握的内容;推荐阅读顺序另见本领域路线。

逐条查看关系与依据

KEEP ASKING

把这一页,变成一堂课。

专属 Prompt 与同源材料会一并复制。Agent 先读取指定文献,再围绕本页的材料、推导和练习展开教学。

READ TOGETHER

一起读,也一起把问题说清楚。

关于整篇的想法留在这里;某个推导、算例或表格的问题,可以点小节旁的“章说”,在原处展开讨论。

使用 GitHub 账号参与

本篇讨论

搜索笔记

让 Agent 教我

这里包含专属 Prompt 及本次学习范围的正文、案例、来源和图表说明,分支内容以当前选择为准。复制后粘贴到你常用的 Agent。