为什么用绝对刻度而不是百分位

全市场多数符文的价格、成交、持有人在 1 分钟粒度上恰好不变。如果用百分位排名打分,这些「并列不变」的标的会被整块推到中位,导致评分失真。本文说明绝对刻度的设计动机。

分类:评分体系 · 最后更新 2026-09-16

百分位排名看起来很美

在量化评分里,把每个指标换算成「在全市场中的百分位」是常见做法:某个符文的成交额排在前 5%,就得 95 分。这样做的优点是天然归一化,不同量级的指标可以放在同一个 0–100 的尺度上比较。

但这套方法有一个前提:被比较的原始值要有足够的分辨率。符文数据恰好不满足这个前提。

问题出在哪里

行情快照每 60 秒采集一次。在一个 1 分钟窗口里,全市场 360 余个符文中有九成以上的价格、成交额与持有人数恰好完全不变——它们在这一分钟里没有成交,价格也就没有变化。这些符文的原始值全部并列等于 0。

百分位排名把这一大块并列值排在了一起,结果就是:

  • 价格变化 −0.05% 的符文,可能落到 3 分;
  • 价格变化 0 的符文,全部挤在中位数附近,约 51 分;
  • 价格变化 +0.05% 的符文,可能冲到 99 分。

于是「涨了一点点」和「跌了一点点」的分数差可能高达 90 分,而这 0.1% 的价格差异在统计上毫无意义。评分被放大了噪声,反而失去了区分能力。

绝对刻度的做法

改用绝对刻度后,有方向的因子按下式打分:

得分 = clamp(50 + 50 × 实际值 ÷ 锚点, 0, 100)

其中:

  • 实际值是原始变化率(如价格趋势的加权涨跌幅、热度因子的成交额变化率);
  • 锚点是「满分对应的变化率」,例如价格趋势的锚点是 10%;
  • 实际值为 0 时恰好得 50 分(中性),达到锚点得 100 分,反向达到锚点得 0 分;
  • 实际值缺失时记为 50 分中性,而不是 0 分。

这样,±0.05% 的变化只会带来 ±0.25 分的微小差异,而真正 10% 量级的变化才能拉开分数。分数开始反映幅度,而不再反映排名。

副带的好处

  1. 分数可以跨时间比较。百分位依赖当日全市场分布,昨天 80 分和今天 80 分含义可能不同;绝对刻度的 80 分在任何时间都对应同一层含义。
  2. 分数可以直接解释。看到「价格趋势 75 分」,可以反推出加权涨跌幅约为 +5%(锚点 10% 时的线性映射),不需要查当天的分布表。
  3. 参数可调且效果可预期。把锚点从 10% 调到 5%,分数会整体抬升,幅度可计算,而不是重新洗一遍排名。

代价是什么

绝对刻度也有代价:分数的上限不再自动是 100。因为锚点是一个外生的判断(「多大算大」),如果市场整体波动收窄,可能没有任何符文能达到满分,分数分布会整体偏低。本站的处理方式是:

  • 把锚点放在后台可配置,随市场状况调整;
  • 在评级阈值的设定上考虑这一特性(见评级阈值说明),避免因为分布偏低而让最高档长期为空。

哪些因子用了哪种刻度

刻度因子理由
有向线性刻度A 热度增长、D 价格趋势有方向,且「幅度」本身有意义
线性绝对刻度B 成交规模、C 持有人没有方向,按绝对金额 / 数量直线折分
对数绝对刻度G 流动性、J 活跃人数、K 市值量级跨度大,需要对数压缩
比例直接给分E 锁仓、F LP 锁仓、H 分散度、I 买盘占比本身已是 0–100 的比例

完整的算法说明见《综合评分是怎么算出来的》

继续阅读

相关数据

把本文的指标直接用到实时数据上