4. 参考价计算的核心逻辑与公式拆解

参考价不是“把所有人的出价平均一下”这么简单。它本质上是一个从出价样本集合到单一价格标量的聚合函数:输入是同一标的、同一时间窗内的一组有效出价及其权重,输出是一个用于后续虚拟匹配量计算的参考价格。理解这个函数,需要拆清三件事——样本如何进入、权重如何设计、边界如何兜底。本节围绕这三层展开,并给出可直接套用的计算示例。

一、聚合函数的数学骨架

设某标的有 n 条有效出价记录,第 i 条出价为 bi,对应权重为 wi(wi > 0),则参考价 Pref 的一般形式为加权聚合:

P_ref = Σ(w_i · f(b_i)) / Σ(w_i)      i = 1..n

其中:
  f(b_i)  为出价变换函数(恒等 / 对数 / 截尾)
  w_i     为样本权重(时间衰减 × 可信度 × 数量饱和)
  Σ(w_i)  为权重归一化分母

当 f 取恒等函数时,公式退化为加权算术平均;当 f 取对数时,得到加权几何平均的近似形式,对高价离群值更稳健。工程上更常用的是先截尾、再加权平均:先按分位数剔除极端出价,再对剩余样本做加权平均。这样既保留了业务可解释性,又抑制了异常值对参考价的拉扯。

二、权重设计的三个乘子

权重不是拍脑袋给的,通常由三个可独立调节的乘子构成,最终权重为三者之积:

  • 时间衰减乘子:越近的出价越能反映当前市场。常用指数衰减 wt = exp(−λ·Δt),Δt 为出价距计算时点的小时数,λ 取 0.01~0.05 量级;也可用分段阶梯,如 24 小时内权重 1.0、3 天内 0.7、7 天内 0.4。
  • 可信度乘子:来自出价方历史成交率、履约率或资质等级。例如 A 级 1.0、B 级 0.8、C 级 0.5。可信度低不等于出价无效,只是话语权降低。
  • 数量饱和乘子:同一出价方短时间重复出价时,避免其刷高权重。常用 wn = 1 / (1 + α·(k−1)),k 为该方在窗口内的出价次数,α 取 0.3~0.5。

三个乘子相乘后得到 wi,再代入聚合公式。这样设计的好处是:每个乘子只负责一个维度的语义,调参时互不干扰,出问题时也能快速定位是哪一维权重失衡。

三、边界条件:参考价必须“兜得住”

纯公式计算在样本稀疏或极端分布时会失效,必须叠加边界规则。常见的有四类:

  1. 样本量下限:有效出价少于 nmin(如 3 条)时,不输出参考价,回退到挂牌价或同类标的均价。
  2. 截尾区间:对出价序列取 P10~P90 分位,区间外的样本降权或剔除,防止个别高价把参考价整体抬高。
  3. 相对挂牌价约束:参考价偏离挂牌价超过 ±30% 时,按边界值截断,避免参考价与市场认知严重脱节。
  4. 环比波动约束:与上一周期参考价相比,单期变动超过 ±15% 时做平滑处理,如取新旧值的加权中值。
边界条件不是“补丁”,而是聚合函数定义域的一部分。设计时应把边界规则与主公式一起写进计算说明,避免上线后出现“公式算出来是 120,系统却显示 100”的争议。

四、一个可复算的示例

假设某标的挂牌价 100 元,窗口内 5 条有效出价如下(示例数据,用于演示计算过程):

出价方出价 biΔt(小时)可信度窗口内次数 k
甲10821.01
乙95100.81
丙13050.53
丁88301.01
戊10210.82

取 λ=0.02、α=0.4,逐条计算权重:甲 w=exp(−0.04)×1.0×1≈0.961;乙 w=exp(−0.2)×0.8×1≈0.655;丙 w=exp(−0.1)×0.5×(1/(1+0.4×2))≈0.252;丁 w=exp(−0.6)×1.0×1≈0.549;戊 w=exp(−0.02)×0.8×(1/(1+0.4×1))≈0.559。加权和 Σw·b ≈ 103.8+62.2+32.8+48.3+57.0=304.1,Σw≈2.976,得 Pref≈102.2 元。

此时检查边界:样本量 5 ≥ 3,通过;P10~P90 截尾后 88 与 130 被降权,本例已通过可信度与次数饱和间接抑制;偏离挂牌价 (102.2−100)/100=2.2%,未超 ±30%;若上期参考价为 98,环比 +4.3%,未超 ±15%。四项边界全部通过,输出 102.2 元。若把丙的出价改为 300,加权结果会被明显拉高,此时截尾规则会先把 300 剔除,参考价回落到 100 元附近——这正是边界条件存在的意义。

参考价聚合链路:出价样本 → 权重 → 聚合 → 边界校验 出价样本集合 甲 108 元 · 2h · A级 乙 95 元 · 10h · B级 丙 130 元 · 5h · C级×3 丁 88 元 · 30h · A级 戊 102 元 · 1h · B级×2 有效样本 n = 5 权重三乘子 时间衰减 w_t exp(−λ·Δt),λ=0.02 可信度 w_c A=1.0 / B=0.8 / C=0.5 数量饱和 w_n 1/(1+α(k−1)),α=0.4 w_i = w_t × w_c × w_n Σw_i ≈ 2.976 加权聚合 P_ref = Σ(w_i·b_i) / Σw_i = 304.1 / 2.976 P_ref ≈ 102.2 元 (截尾后加权平均) 离群值 130 元 被可信度与次数饱和降权 边界校验 样本量 ≥ 3 ✓ 通过 P10~P90 截尾 ✓ 已抑制 偏离挂牌 ±30% ✓ 2.2% 环比波动 ±15% ✓ +4.3% 输出参考价 102.2 元

五、实现时的两个易错点

第一,权重归一化必须在截尾之后做。如果先算 Σw 再剔除样本,分母会偏大,参考价被系统性压低。正确顺序是:剔除/降权 → 重算剩余样本权重 → 归一化 → 聚合。

第二,边界规则要有明确的触发顺序。建议按“样本量 → 截尾 → 挂牌价约束 → 环比平滑”的固定顺序执行,每一步的输出作为下一步的输入。顺序不同,结果可能相差数个百分点,且难以复现。把顺序写进计算说明,并在日志中记录每一步的中间值,是排障时最省力的做法。

掌握这套“样本—权重—聚合—边界”的四层结构后,参考价就不再是一个黑箱数字,而是一条可以逐段复算、逐段调参的链路。后续虚拟匹配量的计算,正是以这个参考价为基准,去衡量各出价相对它的偏离程度。