成交价离中间价只差一分钱,有效价差为什么要分买卖方向
成交价相对中价差一分钱,必须先看买卖方向,再看报告的是单边成本还是两倍后的有效价差。买入低于中价、卖出高于中价,都会出现负的有向成本。把所有价差取绝对值,或者把两倍统计量再乘数量当作实际单边损失,会把价格改善和成本倍数都弄错。
六笔构造成交使用同一报价,先看参照时刻
本例构造观察日为2026年10月24日,虚构资产的有效买报价为九十九点九八元、卖报价为一百点零二元,中价一百元,报价全宽四分钱。六笔交易分别独立发生在自己的报价有效期内,不表示按表格顺序能反复在同一盘口获利。买入三笔价格为一百点零二、一百、九十九点九九;卖出三笔为九十九点九八、一百、一百点零一。各方向数量依次一百、二百、一百股。
报价时间在成交前已经可知,我们假设没有过期或乱序;手续费、税和额外价格冲击均为零,人民币只是统一教学记账单位。报价不是实际市场历史,也没有宣称任何交易所允许这里的报价单位。买卖方向由订单原始意图给出,不能看成交高低后再猜方向。
| 序号 | 方向 | 股数 | 买报价 | 卖报价 | 中价 | 成交价 | 半价差元 | 有效价差元 | 改善元每股 | 单边金额元 | 半价差bps | 有效价差bps |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1:1 | 1 | 100 | 99.98 | 100.02 | 100.000000 | 100.02 | 0.020000 | 0.040000 | 0.000000 | 2.000000 | 2.000000 | 4.000000 |
| 1:2 | 1 | 200 | 99.98 | 100.02 | 100.000000 | 100 | 0.000000 | 0.000000 | 0.020000 | 0.000000 | 0.000000 | 0.000000 |
| 1:3 | 1 | 100 | 99.98 | 100.02 | 100.000000 | 99.99 | -0.010000 | -0.020000 | 0.030000 | -1.000000 | -1.000000 | -2.000000 |
| -1:1 | -1 | 100 | 99.98 | 100.02 | 100.000000 | 99.98 | 0.020000 | 0.040000 | 0.000000 | 2.000000 | 2.000000 | 4.000000 |
| -1:2 | -1 | 200 | 99.98 | 100.02 | 100.000000 | 100 | -0.000000 | -0.000000 | 0.020000 | -0.000000 | -0.000000 | -0.000000 |
| -1:3 | -1 | 100 | 99.98 | 100.02 | 100.000000 | 100.01 | -0.010000 | -0.020000 | 0.030000 | -1.000000 | -1.000000 | -2.000000 |
中价是买卖报价的算术平均,而不是最新成交价,也不是委托限价。对买单定义方向为正一、卖单为负一,有向半价差等于方向乘成交价减中价。全额有效价差为半价差的两倍,单边金额则是半价差乘成交数量。每基点为万分之一,本文的基点数以该笔中价为分母,不以最优卖价或原始目标本金为分母。
价格改善和负成本不是同一个条件
第一笔买入在卖报价成交,有向半价差为两分钱,有效价差为四分钱,单边金额两元。第二笔买在中间价,半价差和有效价差都为零;相对卖报价已有两分钱改善。第三笔买入九十九点九九,比中价再低一分钱,半价差为负一分钱,单边金额为负一元;它相对卖报价改善三分钱。
卖出行镜像地使用中价减成交价。九十九点九八卖出是付出两分钱有向半价差,一百元卖出成本为零,一百点零一卖出有向半价差为负一分钱。买入和卖出的改善都应与各自当时可以主动成交的对手报价比较,卖出不能拿卖报价来算改善。表中的同一套正负规则使两边在经济含义上可比。
还可以构造一笔在一百点零一买入:它比卖报价好一分钱,却仍高于中价一分钱,因此存在价格改善,同时半价差仍为正。这说明“获得改善”不等于“有向成本为负”。如果把改善一栏直接当作半价差一栏的相反数,只有某些特殊报价才会凑巧成立,程序字段应当分开保存。
汇总前先选金额权重,不能把全宽再扣一次
六笔合计数量八百股,正确的有向单边金额为两元。把正负差全部改成绝对值,会得到六元,把原本有利的两笔各负一元变成正一元,误差四元。若把有效价差乘数量,则会得到四元;它是一种双倍尺度的统计表达,不能冒充这个样本单边已发生的两元价差支出。
分别对每个方向看,四百股的数量加权半价差为零点零零二五元,即零点二五基点;两倍后的有效价差为零点五基点。所有中价恰好都是一百元,才能把金额除以中价乘股数得到同样的加权结果。如果各笔中价不同,先平均基点再乘总成交额可能对应另一套权重,报告须写明是股数权重还是名义金额权重。
这六笔也不是一个完整往返组合的净收益账。每笔是独立的成本测量片段,不能拿两元去说明买卖一轮只损失两元,更不能加上一个完整四分钱报价价差后再称总成本。如果成交价已经体现了跨价差的代价,再扣一次报价全宽就是重复累计。手续费若另行支付,应在成交价差之外增列,若经纪记录提供的是净价,则先核实是否已包含。
报价匹配错误比少保留一位小数更严重
核验时首先确认证券、场所和时间基准一致,按成交时刻寻找此前最近一条有效报价,并保留该报价原始时间。不能为了“更近”而取成交之后的报价,因为那条报价可能已包含成交影响。若成交与报价同一时间但事件顺序未知,应标注并发顺序假设,而不是偷偷把相等时间一律当先发生。
其次应给报价新鲜度上限。若上一条报价已经很久没有更新,算法虽然能找到它,却不能因此断言仍是有效市场。锁盘、交叉报价、买卖字段缺失或方向未知,都应作为异常输出;中价缺失不能简单以成交价填充,否则成本会被机械压到零。本例中价恒定只是为了把符号和倍数讲清,不意味着时间同步可以省略。
最后把有向半价差、有效价差、改善和金额各自复算一次,检查两倍关系与单位。将买卖标签互换而价格不变,半价差应变号;数量翻倍,金额应翻倍而基点不变。这两个小对照能直接发现把方向写死、把金额当价格差的错误,比只看总数是否为正更有用。
单笔中价口径能回答什么
这里的负值只是相对当时中价的有利成交,不证明可以稳定交易,也不验证券商承诺。若一张大母单拆成多笔,市场中价一路被推高,每笔相对本地中价看似很便宜,也可能掩盖从最初决策价开始的总价格移动。应配合实施差额交易成本分解核对完整任务,而非用单笔有效价差替代所有执行质量判断。
旧文交易成本假设列出成本类型,本页只审计度量符号、参考价和倍数。VWAP执行评价基准窗口进一步检查另一把评价尺子的时间范围;滑点与手续费敏感度可做基础费率比较,本页六笔报价配对表独立提供,不声称该工具能读取逐笔盘口。
来源核对:CFA原始教材2015年版,实读印刷页27—29、PDF实体页37—39的中价成本与有效价差;pandas 3.1.0 merge_asof实读backward、tolerance与相等时间参数,支持报价匹配方法,不证明构造成交可实现。
道积君编辑组,AI辅助编写与核算。全部算例为构造教学输入,非真实交易、交易所撮合或券商收费证明;数值在完整精度计算后显示至小数点后六位,不用于预测收益。
复算资料
本篇编号DJ4-068。下载Python复算脚本(文本)与构造输入输出JSON,按编号核对本篇。脚本改存为.py后可用Python标准库运行,数据不是实际用户记录。