QuantWeft量化经纬
English
本章小节

项目4成本与执行实验室:研究报告

批次:A7-B,第35–36章集成历史材料
旧运行身份:R2R6,2026-10-09,旧信号层
种子:20261210
状态:构造教学实验;不是市场实证,也不构成完整P4接受

1. 范围与数据边界

本模块把项目4月度信号层连接到执行与账本接口,用可复现的构造路径说明父单切分、部分成交、交易成本归因、实施短缺(Implementation Shortfall, IS)、融资及账目核对。

成本配置显式使用240家构造公司(含40家银行)、97个月度输入日期和96个月评价收益,收益期为2014-01至2021-12。首月只作预热。训练为60个月(2014-01至2018-12),测试为36个月(2019-01至2021-12)。日内示例有13个半小时槽,成交量预测曲线只用训练输入估计并冻结。种子20261210固定构造路径。借券率按配置中的单一年化标量应用于所有名称,不是逐证券、点时可得的实际借券序列。

输入不是点时历史财务报表或历史证券池。仓库没有本实验对应的历史订单簿/报价流、经纪商成交及费用记录、点时借券可用量或校准的日内成交量数据。因此这些输出不能证明真实Alpha、真实执行成本、策略容量或完整P4有效性。数据边界见仓库根目录 qa/a7/ch35_ch36_batch/SOURCE_DATA_GAP.md。

2. 方法与账本契约

共享执行引擎为仓库根目录 src/quant_course/execution_costs.py,项目适配器和实验位于 projects/project04/cost_execution_lab/。单个父单和子单使用带符号数量,并要求Q=F+RQ=F+R。成交价已经包含半价差和暂时冲击,因此现金不能重复扣除这些项目;永久冲击改变之后的标记价。佣金只对实际成交收取;零成交的VWAP无定义且佣金为0。

时间加权平均价格(Time-Weighted Average Price, TWAP)按时段均分;预测成交量加权平均价格(Volume-Weighted Average Price, VWAP)使用首个子单发送前冻结的成交量曲线;成交量参与率(Percentage of Volume, POV)仅使用发送时已经可得的成交量。当前槽真实成交量在发送时不可见,只限制之后的成交容量并用于事后统计。市场实际VWAP是评价统计量,不是调度器可用的预测量。此构造路径中子单发送时间等于交易场所到达时间;所有时间戳带UTC时区。

槽窗口可以重叠。每次发送前,引擎只应用满足fill_at < child_send_at的成交,并为仍未确认的早先子单预留全部已发送数量。时间戳相同时,发送先于成交确认。IS的arrival_time是基准时刻,与父单接收、子单到达场所分开。POV成交量观测与VWAP预测曲线都必须在子单发送前可得。后续发送可根据此前已确认的成交更新父单余量;这是合法的过去成交反馈。固定POV不会提高参与率来自动追赶余量。

现金利息和借券费在单调递增的UTC事件时钟上结算。每段使用段初现金、空头股数以及该段开始时已可得的最新标记价,按ACT/360简单计息。成交、每个槽末标记(包括无成交槽)、执行窗口终端标记和月末都会入账;已入账的现金利息进入下一段基数。事件发生时,先用旧现金和旧标记结算到事件时间,再处理成交或新标记。事件时点才可得的新标记不能定价刚结束的区间。没有调仓单的持仓证券仍获得构造的槽末和终端标记;空月仍在月末结算。月度账本、financing_audit.csv、execution_clock.csv与mark_events.csv共同记录该事件桥和标记价可得历史,供独立分段复算。这是本构造路径的时序约定,不是对实盘行情源的描述。

IS包括决策至到达价的延迟、成交价相对到达价的成交成本、以终端价标记的未成交余量和显式佣金。引擎同时计算四项分解和直接金额。其代数恒等式适用于一个父单、成交方向与父单一致且满足Q=F+RQ=F+R的域;不能据此推断跨父单或相互抵销成交的普遍有效性。恒等式本身也不能证明费用归因正确:若重复费用被两种算法一致纳入,二者仍可能相等。组合交易统计只计可交易风险资产,不计现金。一侧成交风险名义换手为风险成交名义金额绝对值之和的一半除以调仓净值;总成交换手不除以2。请求换手与成交换手分列。年化值按窗口内月度换手算术均值乘12。现金权重变化不产生股票成交或费用名义金额。13个半小时执行槽对应一次月度调仓窗口,信号层与收益序列仍按月。年化夏普比率(Sharpe ratio)为月度算术均值除以月度标准差,再乘12\sqrt{12}。

容量约定采用排除自成交量分母(exclusive)ρexcl=∣f∣/Vexternal\rho_{\mathrm{excl}}=|f|/V_{\mathrm{external}},槽容量为ρexclVrealized\rho_{\mathrm{excl}}V_{\mathrm{realized}}。包含自成交量分母(inclusive)的比例为ρincl=∣f∣/(Vexternal+∣f∣)\rho_{\mathrm{incl}}=|f|/(V_{\mathrm{external}}+|f|),两种口径按ρincl=ρexcl/(1+ρexcl)\rho_{\mathrm{incl}}=\rho_{\mathrm{excl}}/(1+\rho_{\mathrm{excl}})互换;配置中的max_participation=0.20采用排除自成交量口径。

3. 固定父单算法比较

每种算法在同一构造市场路径、相同10,000股父单、参考价格、13槽安排和成本假设下执行。总IS以父单到达名义金额为分母,包含构造价格路径、延迟、成交价执行成本和显式费用。

方向 算法 成交VWAP(美元) 总IS(美元) 总IS(基点) 恒等检查
买入 TWAP 105.272 55,167.99 552.74 通过
买入 预测VWAP 105.162 54,065.56 541.70 通过
买入 滞后POV 106.185 64,303.27 644.27 通过
卖出 TWAP 97.389 25,677.77 257.01 通过
卖出 预测VWAP 97.469 24,872.43 248.95 通过
卖出 滞后POV 95.426 45,293.33 453.35 通过

这些结果只描述一条模拟价格路径,不能确定算法的普遍排名。IS还包含到达后至后续成交期间的价格变化,买卖方向结果可能不同。I3默认Notebook会新算这组固定父单演示,并与2026-10-14已保存摘要比较;这不是96个月走步研究的重跑。

4. 部分成交与零成交边界

构造压力测试提交5,000股买单并施加表列参与率上限,满足R=Q−FR=Q-F。金额单位为美元。

最大参与率 成交股数 成交比例 余量 成交VWAP(美元) 未成交机会成本 总IS
25% 4,775.13 95.50% 224.87 114.549 4,392.17 74,137.52
10% 2,002.83 40.06% 2,997.17 107.736 27,824.21 43,426.01
5% 1,001.42 20.03% 3,998.58 105.153 23,356.42 28,569.15
1% 200.28 4.01% 4,799.72 102.627 15,168.42 15,704.79
0% 0 0% 5,000 无定义 12,500.00 12,500.00

参与率为0时,引擎报告无成交VWAP且佣金为0。表中总IS不随上限单调变化,因为机会成本与执行成本取决于构造终端标记和实际成交价格;不能据此作出低参与率普遍更有利的结论。I3默认Notebook会重算此小例并和当前摘要核对。

5. 旧R2R6走步结果(历史信号层身份)

旧R2R6评价96个月收益:前60个月训练,后36个月测试。复合年化增长率(Compound Annual Growth Rate, CAGR)/年化夏普比率(Sharpe ratio)按各单元格列示。

轨道 全部96个月 训练60个月 测试36个月
GROSS −0.26% / −0.03 0.85% / 0.20 −2.09% / −0.34
TWAP −0.73% / −0.12 0.48% / 0.12 −2.72% / −0.44
预测VWAP −0.71% / −0.11 0.51% / 0.13 −2.71% / −0.44
滞后POV −4.99% / −0.94 −4.00% / −0.80 −6.62% / −1.12

GROSS全样本和测试期表现已经为负。因此这些数值不说明正的毛Alpha被交易成本抹去;本例关注的是账本及评价流程,不是实盘策略结论。

6. 旧R2R6构造高摩擦情景

高摩擦配置提高价差、佣金、暂时和永久冲击、借券率,并降低参与率上限。在这条构造路径中,GROSS CAGR/夏普比率为−0.26%/−0.03,净值CAGR/夏普比率为−8.01%/−1.54。该差异是情景比较,不是实际Alpha能否覆盖交易成本的证据。

7. 旧R2R6敏感度情景

佣金网格为0、2.5、5、10、20基点;最大参与率网格为0.1%、0.25%、0.5%、1%。报告响应量为构造净值表现。参与率上限0.25%时选取的佣金点为:

佣金 净CAGR 净夏普 年化成交一侧风险换手
0基点 −2.19% −0.37 4.83x
5基点 −2.66% −0.46 4.83x
20基点 −4.07% −0.71 4.84x

目标权重缩放也会同时改变请求换手与总风险敞口:

目标缩放 净CAGR 净夏普 年化成交一侧风险换手
0.5x 1.00% 0.37 2.40x
1.0x −2.66% −0.46 4.83x
2.0x −10.75% −0.95 9.84x

以上是联合构造情景。缩放实验不能识别纯换手效应;不同参与率上限的结果也以该路径及成交/标记约定为条件。

8. 旧R2R6累计成本消融

五阶段是一个连续24个月构造路径,不能视为各成本项目彼此独立的因果估计。

阶段 CAGR 夏普 最大回撤
GROSS −2.38% −0.42 7.16%
加入价差 −2.62% −0.46 7.41%
加入暂时冲击 −4.53% −0.81 10.30%
加入佣金 −4.99% −0.89 11.04%
含现金利息与借券费的完整净值 −2.66% −0.46 7.49%

最后一步包括模型现金利息(正现金年化4%,负现金年化6%)与借券费。表现回升依赖该路径,不说明借券费会改善绩效。

9. 旧R2R6账本与审计证据

R2R6摘要包含资产负债核对、月收益和换手、逐段融资审计与导出标记事件。上述历史表现表和图的来源为该运行的summary_results.json;rev2、R2R3、R2R4、R2R5及v8是分开的旧基线。independent_recalc.json记录摘要、月账本、融资区间、标记、执行时钟与配置的哈希。每个融资区间都从区间初现金、空头持仓、开始时最新可得导出标记、利率、ACT/360经过天数和事件顺序独立复算。R2R6导出7,574个融资区间、1,434,399条标记事件、753,285行执行时钟;其中231,780个下单槽没有成交,但仍有可得槽末标记。新增时钟字段包括slot_start和slot_fill_event_at。该生成路径没有重叠槽窗口;POV、TWAP与VWAP的重叠和同刻成交处理由执行引擎测试覆盖。

R2R6把两位小数性能表复现为与R2R5一致;这些表也与R2R4一致。下表保留旧rev2到rev2r2标记事件修正的历史比较;R2R6用其自身导出区间复核修正后的结果:

策略 rev2旧利息(美元) 修正后rev2r2/R2R3利息(美元) rev2旧借券费(美元) 修正后rev2r2/R2R3借券费(美元)
TWAP 314,756.010458 314,756.011551 123,797.835654 123,797.835649
预测VWAP 315,186.047455 315,186.048535 123,963.165790 123,963.165868
滞后POV 264,217.869948 264,217.895606 104,334.788931 104,334.721055

旧rev2导出有3,816个融资区间且没有单独标记文件。修正后的rev2r2模型增加了逐事件融资区间和标记事件;R2R6复核的区间计数为:TWAP 2,802、VWAP 2,802、POV 1,650,另有无融资敞口的GROSS区间320个。输入证券池、种子、决策规则和96个月评价窗未变。R2R6重新生成整套结果并扩展执行时钟字段;其CLI构造计划无槽重叠,故摘要指标保持一致。

10. 当前信号刷新(2026-10-14)与I3 Notebook默认行为

当前信号刷新摘要位于仓库根目录 build/batches/INTEGRATION-PREP/p04_cost_refresh_20261014/runs/current_signal_01/cli/summary_results.json;I3读者候选携带相同字节的副本 fixtures/projects/project04/summary_results_current_signal_20261014.json。这是沿用已接受当前信号层产生的构造工程消费者刷新。旧A7-B R2R6结果和Notebook身份均未被重写。当前摘要也使用成本配置的97个月输入、96个月收益与60/36切分,但应按当前摘要单独引用,不把结果合并成旧R2R6历史。

各单元格为复合年化增长率(Compound Annual Growth Rate, CAGR)/年化夏普比率:

轨道 全部96个月 训练60个月 测试36个月
GROSS −0.2316% / −0.0232 0.8176% / 0.2022 −1.9560% / −0.3334
TWAP −0.4592% / −0.0688 0.6902% / 0.1735 −2.3459% / −0.4014
VWAP −0.4333% / −0.0636 0.7240% / 0.1810 −2.3327% / −0.3994
POV −4.4919% / −0.8849 −3.5313% / −0.7453 −6.0717% / −1.0800

当前刷新高摩擦情景中,GROSS CAGR/夏普比率为−0.2316%/−0.0232,净值CAGR/夏普比率为−7.4392%/−1.5050;净CAGR为负。

当前敏感度网格在参与率上限0.25%处的选定佣金点为:

佣金 净CAGR 净夏普 年化成交一侧风险换手
0基点 −1.9791% −0.3563 4.6352x
5基点 −2.4334% −0.4428 4.6368x
20基点 −3.7873% −0.6976 4.6418x

当前目标缩放情景如下:

目标缩放 净CAGR 净夏普 年化成交一侧风险换手
0.5x 1.0917% 0.4286 2.3072x
1.0x −2.4346% −0.4430 4.6368x
2.0x −10.1724% −0.9546 9.4117x

当前摘要的24个月消融表为:

阶段 CAGR 夏普 最大回撤
GROSS −2.4271% −0.4531 6.9367%
加入价差 −2.6540% −0.4974 7.1978%
加入冲击 −4.4075% −0.8334 9.9626%
加入佣金 −4.8509% −0.9178 10.6818%
完整净值(含现金利息与借券) −2.4346% −0.4430 7.0912%

当前摘要中的敏感度既有正值也有负值;0.5x目标缩放为正值,但没有据此选定策略或参数赢家。缩放同时改变请求换手和总敞口,仍是联合情景。

I3读者Notebook路径为 projects/project04/cost_execution_lab/cost_execution_lab.ipynb。默认执行会新建冻结U形预测曲线、重算10,000股固定父单比较和5,000股流动性压力例,并检查它们与当前已保存摘要的对应数值。96个月走步结果、高摩擦情景、敏感度、消融与账本审计从当前摘要重放;Notebook不会默认重跑这些长期内容。执行Notebook还会在仓库根目录下创建唯一运行目录并写出图像。以上不是本次作者工作的新实验或市场数据复核。

11. 复现与交接边界

本报告属于成本实验室四份双语读者文档,另配两语Notebook投影。源代码、配置、冻结R2R6证据、当前信号摘要与I3读者Notebook仍按各自仓库根目录相对路径定位;这些文档没有把整套项目文件复制成可移植软件包。R2R6证据位于qa/a7/ch35_ch36_batch/independent_acceptance/rev2/r2r6/candidate/projects/project04/cost_execution_lab/outputs/a7b_rev2r6_20261009/。当前信号刷新仍是构造工程消费者,不是实际成本或容量验证;完整P4真实数据策略未接受。I3 Notebook不是本批重跑声明;其默认计算/重放边界见第10节。

搜索教材

输入关键词开始搜索。