项目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/。单个父单和子单使用带符号数量,并要求
时间加权平均价格(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包括决策至到达价的延迟、成交价相对到达价的成交成本、以终端价标记的未成交余量和显式佣金。引擎同时计算四项分解和直接金额。其代数恒等式适用于一个父单、成交方向与父单一致且满足
容量约定采用排除自成交量分母(exclusive)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股买单并施加表列参与率上限,满足
| 最大参与率 | 成交股数 | 成交比例 | 余量 | 成交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节。