← 返回文章库

平均延迟都是一秒,为什么尾部延迟会让成交成本不同

2026-10-24 · L5

平均延迟一样,不代表尾部成交成本一样。延迟分布会把个别订单推到不同盘口,报价过期时还会改变成交覆盖率。本例稳定版与长尾版平均都一秒,稳定版六笔全部成交、价格差合计二十七元;长尾版只成交五笔、价格差四十四元,另有一笔未成交机会项八十元。只比较平均延迟或已成交中位数,都会漏掉这次构造重放的主要差异。

六个固定事件与两种分布如何配对

构造观察日为2026年10月24日,以零秒为起点,六次信号时刻依次为零、十、二十、三十、四十、五十秒。每次买一百股,决策参照价均为一百元,固定评价时点的价格均为一百点八元。各事件独立使用自己的报价流,不把前一次买到的持仓当下一次卖出;这里只累加六份母任务的有向价差。所有报价的买价定义为卖价减二分钱,决策参照价不必等于信号当刻中价。

稳定延迟是六个一秒;长尾延迟为零、零、零、零、二、四秒,两者延迟总和均六秒,平均均一秒。长尾的零是理想教学假设,不是通道实测。报价时间与系统可用时间在本例相同;对同一时间的信号和报价,明确假设报价先可用。若真实时间戳精度不能支持这种先后,必须改为严格此前匹配或标注未知。

事件报价秒买价元卖价元
1099.990000100.01
10.8100.000000100.02
21099.990000100.01
210.8100.010000100.03
32099.990000100.01
320.8100.020000100.04
43099.990000100.01
430.8100.030000100.05
54099.990000100.01
540.8100.040000100.06
541.8100.380000100.4
65099.990000100.01
650.8100.050000100.07

每个事件在信号时刻有卖价一百点零一元,在零点八秒后有新的卖价,六笔依次为一百点零二到一百点零七。第五个事件还在信号后一秒八更新为一百点四元。每条可用报价假设至少有一百股深度,且无他人抢占、无费用税和本单市场反馈。六行外不存在其他报价更新,这一点决定第六笔长尾到达时是否过期,不能偷偷补出一条新报价。

向后匹配只选到达前已知报价

对每个事件先把信号时刻加延迟得到到达时刻,再选时间不晚于到达的最近报价。报价年龄为到达减报价时刻,超过一点五秒就拒绝本次成交。这是教学新鲜度规则,不是交易所订单超时制度。选出报价后还要检查年龄,找到一条记录并不意味着它足以支持成交。

事件信号秒延迟秒到达秒报价秒卖价元年龄秒状态价格差元机会项元
10110.8100.020.200000成交2.0000000.000000
21011110.8100.030.200000成交3.0000000.000000
32012120.8100.040.200000成交4.0000000.000000
43013130.8100.050.200000成交5.0000000.000000
54014140.8100.060.200000成交6.0000000.000000
65015150.8100.070.200000成交7.0000000.000000

稳定版每笔都在信号后一秒到达,使用零点八秒那条,年龄零点二秒,六笔价差金额为二、三、四、五、六、七元。合计二十七,中位数为四与五的平均四点五元。尾分位采用最近秩规则,将成本排序后取向上取整的百分之九十五乘样本数位置,六笔取第六个,即七元,不采用线性插值。

事件信号秒延迟秒到达秒报价秒卖价元年龄秒状态价格差元机会项元
10000100.010.000000成交1.0000000.000000
21001010100.010.000000成交1.0000000.000000
32002020100.010.000000成交1.0000000.000000
43003030100.010.000000成交1.0000000.000000
54024241.8100.40.200000成交40.0000000.000000
65045450.8100.073.200000报价过期拒单未定义80.000000

长尾版前四笔直接使用信号时刻的一百点零一报价,各付一元;第五笔在四十二秒到达,最新可用为四十一点八秒的一百点四元,付四十元;第六笔五十四秒到达,只能找到五十点八秒报价,年龄三点二秒超过阈值,拒单。第五笔不能用四十点八秒更便宜的旧报价,第六笔也不能使用未来任何更新来补全。

中位数更低,尾部却更贵且少成交一笔

长尾已成交五笔成本排序为一、一、一、一、四十,中位数一元,小于稳定版四点五;百分之九十五最近秩为第五个四十元,远高于七元。平均延迟与已成交中位数都可能显得很好看,同时隐藏尾部成本与未成交。样本只有六个,这些分位数只是输入集合的描述,不是统计可靠的通道性能估计。

版本平均延迟秒成交笔数提交笔数中位成本元95分位元成交价差元机会项元总差额元
稳定1.5秒阈值1.000000664.5000007.00000027.0000000.00000027.000000
长尾1.5秒阈值1.000000561.00000040.00000044.00000080.000000124.000000
长尾4秒阈值1.000000661.00000040.00000051.0000000.00000051.000000

为让两个版本评价同样的六百股目标,第六笔拒单还要保留一百股未成交。相对事先定义的期末一百点八元,机会项为一百乘零点八,等于八十元;长尾总差额四十四加八十等于一百二十四。机会项不从实际现金再扣一次,只是与全量按决策价完成的纸面参照比较。稳定版六百股全成,没有这笔机会项。

若仅统计已成交平均价差,长尾分母只有五百股、稳定版六百股,直接比较不再对应同一完整任务。报告应并列提交数、成交数、拒绝原因、成交分布和未完成数量。把拒单成本填成零混进六笔分位数,会错误暗示这笔免费成交;把它删掉却不披露覆盖率,则会隐藏最难完成的一类。

放宽新鲜度,结果改善也不证明报价可成交

只把允许年龄从一点五秒放宽到四秒,长尾第六笔可使用旧卖价一百点零七,新增七元,已成成本总和五十一元,六笔全成,机会项归零。中位数仍一元,尾分位仍四十。看起来总差额从一百二十四降到五十一,但改善依赖相信三点二秒前的报价仍可成交,没有新增真实流动性证据。

因此不能为了降低回测成本而事后放宽过期阈值。阈值应由数据质量与通道语义确定,成本变化是敏感性结果。反过来,若消息晚到却沿用交易所事件时间作为系统可用时间,向后匹配仍可能偷看尚未收到的报价;需要保留接收时刻才能更接近真实可用信息。本页将两种时间设为一致,是清楚的简化边界。

从单点因果检查走到分布重放

执行复查时冻结同一组信号、数量、方向和报价流,只替换延迟序列;逐笔输出到达、匹配报价原时刻、年龄与状态,然后分别计算覆盖率和成交成本分布。若还要随机抽样延迟,应保存种子、抽样规则及与市场事件的相关结构;把大延迟随机打散可能抹掉它恰好集中在拥堵时段的风险。本页没有随机抽样,六个事件全部显式列出。

旧文交易成本假设讲成本假设,本页交付同均值分布的逐事件重放。拆分带来的收费见拆单最低手续费汇总口径,后续误差分类见交易成本预测实测残差。滑点与手续费敏感度适合基础参数对照,不读取延迟日志或核定报价有效性。

来源核对:pandas 3.1.0 merge_asof原始文档,实读backward、tolerance、allow_exact_matches及报价示例,支持此前匹配的实现语义。延迟序列、深度充足与过期阈值为构造规则,文档不保证旧报价仍可交易。

道积君编辑组,AI辅助编写与核算。全部算例为构造教学输入,非真实交易、交易所撮合或券商收费证明;数值在完整精度计算后显示至小数点后六位,不用于预测收益。

复算资料

本篇编号DJ4-076。下载Python复算脚本(文本)与构造输入输出JSON,按编号核对本篇。脚本改存为.py后可用Python标准库运行,数据不是实际用户记录。

这个页面有问题?

提交时会附带当前页面地址和浏览器信息,帮助我们定位问题。不填联系方式即为匿名。