如何衡量市价卖出?
“市价卖出”在可衡量术语中的含义
市价卖出是一种立即卖出资产的订单,其执行由市场和交易场所处理。要衡量它,你需要将(1)所请求的内容与(2)实际发生的情况区分开来。
一个实用的衡量模型使用可观测字段:
- 请求数量(你提交的卖出数量)。
- 执行数量(实际成交的数量)。
- 成交价格(每部分成交时的价格)。
- 时间戳,包括请求时间和每次成交的时间。
- 有效平均价格,由成交数据推导得出。
明确定义衡量的时间窗口:例如,从订单被交易场所接受的时刻,到订单完全成交或失效的时刻。
市价卖出作为可衡量过程的工作方式
市价卖出的执行通常不是单一事件,可能以多次成交的形式发生。这一点很重要,因为“单一价格”可能并不存在。为一致地衡量结果:
-
记录时间
- t_request:系统记录订单请求的时刻。
- t_fill_i:第 i 次成交发生的时刻(如果平台提供每次成交的时间)。
- t_end:订单完成(完全成交)或中止的时刻。
-
记录数量
- Q_requested 和 Q_filled_total。
- 如果存在部分成交,还需记录每次的 Q_filled_i。
-
计算一致的价格指标 一种常见衡量是成交量加权平均成交价格:
- EffectiveAvg = (Σ (Price_i × Q_i)) / (Σ Q_i) 这依赖于一个假设:每次成交价格均以相同的价格惯例报告。
-
定义成本和参考标准 如果你的目标包括“你获得了多少价值”,你必须明确计算中包含的内容:
- 是否包含佣金/手续费,
- 价差是单独表示还是隐含在成交价格中,
- 使用哪种货币进行结果换算。
由于结果随条件变化,每个示例都应说明假设,例如“不含手续费”或“按报告包含手续费”,并使用单一换算参考。
示例衡量与比较(含假设)
假设你提交了一笔市价卖出订单 Q_requested。你的平台报告了三次成交:
- 成交1:Price_1,Q_1,时间 t_fill_1
- 成交2:Price_2,Q_2,时间 t_fill_2
- 成交3:Price_3,Q_3,时间 t_fill_3
你可以衡量:
- 执行覆盖率 = Q_filled_total / Q_requested(假设你能看到两个值)。
- 有效平均成交价格,使用上述成交量加权公式。
- 执行时间 = t_end − t_request(假设时间戳可用且可比)。
- 类似滑点的差距(相对于参考价格),如果你选择一个参考价格(例如,t_request 时刻的最后已知中间价/参考价)。此衡量仅在你明确定义参考时才有意义。
要比较两个市价卖出订单,需保持比较标准一致:
- 相同的衡量时间窗口定义,
- 相同的参考用于任何“差异”计算,
- 相同的成本包含规则(包含或排除手续费)。
相关局限性和失败模式
-
缺失或粗略的时间戳 如果你只有订单级时间戳(而非每次成交的时间戳),则无法衡量成交序列期间价格变化的速度。
-
部分成交与流动性变化 市价卖出可能在多个时刻执行。如果流动性下降,即使订单规模不变,后期成交也可能与早期成交有显著差异。
-
提供商和交易场所的影响 执行质量取决于场所的路由、成交政策以及执行时对手方流动性的可用性。两个不同场所可能对“相同交易”产生不同成交结果。
-
成本报告差异 一些平台将手续费单独列出;另一些则将其隐含在成交价格中。如果你混合使用不同惯例,计算出的“有效结果”可能无法比较。
-
未来不确定性 历史执行关系不能确定未来结果。过去订单有效的某种方法,不能保证在新的市场条件下获得类似执行。
如何验证你的衡量
你可以通过对照你的成交记录检查以下三项来独立验证市价卖出的衡量:
- 数量完整性:Q_filled_total 是否等于各次成交数量之和。
- 时间完整性:t_end 是否与最后一次成交时间一致。
- 价格完整性:在相同成本包含规则下,你计算的有效平均价格是否与平台提供的“平均”字段(如提供)相符。
要提高衡量精度,一个值得深入的问题是:你的平台提供哪些数据——每次成交的价格、每次成交的时间戳,以及手续费明细。你的衡量精度取决于这些可观测字段。