v1 是一套「公平打分」:每个分量夹到 0 到 1 再相乘,每条帖子都拿到一个合理的分。但信息流要的是「找极端」,前 10 条决定一切,而极端全在尾部,尾部被压平了。v2 改三件事:分数改成加法、对数、不封顶;资格和权重分开;不分档,页内按分数拼。加三样东西:被动帖、资产帖、临时标签。补一把尺子:金标准集。节拍、行、原地更新、帖子身份、已读表,原样沿用 v1。
和 v1 最本质的区别只有一句:一项巨大就能把帖子顶上去。亏 400 万本身就够上首屏,不需要它同时是名人、同时是刚发生、同时在热门币。v1 的乘法要求三个条件同时成立,而三个不大于 1 的数相乘只会越乘越小。
| 项目 | v1 | v2 |
|---|---|---|
| 合成方式 | B × g(P) × D,各分量夹到 0 到 1 | C + U + A + X + F,加法、对数、不封顶 |
| 结果的分量 | 占 B 的 20%,盈亏 100 万封顶 | 最大的一项,不封顶,100 万记 4 分 |
| 人的分 | 乘数,真实范围 0.8 到 1.35 倍 | 加法项 −3 到 +3,小动作不加分 |
| 资格 | 写成 P = 0 | 独立布尔门 G,带例外 |
| 时间 | 半衰期 6 到 48 小时,24 小时删 | 每 12 小时减 0.3,封底减 1,不删 |
| 出流 | 十分位分档,档内按时间 | 不分档,页内按分数加名额 |
| 刷单 | 24 小时 30 行以上打六折 | 故事合并,不扣分 |
| 帖子范式 | 动作帖 | 动作帖、被动帖、资产帖 |
| 作者名 | 六成是体量泛称或裸地址 | 临时标签,跟帖子的币走 |
| 验收 | 后台能看懂算式 | 金标准集命中率,两批数据都不能输给旧公式 |
以下全部来自 2026-09-15 08:10 那一轮线上 feed(1,704 条帖)和 09-09 的第一版 demo(1,655 条帖),两边的公式互换着跑过。
09-15 这天并不淡,只是最好的几条没上首屏:
| 事件 | v1 得分 | 位置 | 原因 |
|---|---|---|---|
| 匿名地址 ZEC 空单止损,认亏 104.5 万,08:10 最新一条 | 3.13 | 第 2 档 | 止损部分 type 只有 0.5;result 封顶;行数 ≥ 30 打六折;匿名 g = 0.8。衰减 D = 1,与时间无关 |
| GalaxyHQ ZEC 空单止损,认亏 99.9 万 | 出场 | 不成帖 | 主体类型被排除,P = 0 |
| 巨鲸 ETH 空单止损,认亏 91.4 万 | 5.02 | 第 1 档第 68 名 | 档内按时间排,淹在 80 条日常平仓里 |
| 麻吉大哥 ETH 止盈落袋 36.7 万 | 2.91 | 第 3 档 | 止盈 type 0.45,12 小时衰减 |
| 麻吉大哥 HYPE 止损 40.9 万、BTC 止损 36.1 万 | 出场 | 已删 | 超过 24 小时且 B < 8 |
| 0xTiamat XRP 止盈落袋 4,097 美元 | 6.53 | 首屏第 8 条 | 名义 280 万拿满规模分,名人乘数,刚发生 |
| 某地址清仓 126 万 BTC 空单,盈利 3,383 美元 | 6.24 | 第 1 档前 10 | 清仓 type 0.8 无条件给;平进平出门槛 0.1% 只是手续费 |
v1 文档自己写的目标是「不会出现名人的小动作压过无名氏的强平」,结果正好反过来:XRP 落袋 4 千得 6.53,匿名 ZEC 认亏 105 万得 3.13。
v1 第 1.3、1.4 节原样沿用:行的合并、动作判定、原地更新、帖子身份哈希、成帖门槛。变化只在打分和出流。
地址没动,价格动了,仓位价值随之变化。这是现在最大的盲区:全库最大的故事是 Garrett Ji 扛着两千万浮亏不动,而「帖子 = 行」的模型里他不割就没帖。推特上传播最广的巨鲸帖正是这一类。
(地址, dex, 币, 行情起始时间, "passive") 的哈希。资产做成账号:能关注、有主页、会发帖。发的是报价加持仓者处境;上面的资产汇总帖也挂在它名下。
| 市场分层 | Majors | Large alts | HIP3 | Alts |
|---|---|---|---|---|
| 成员 | BTC、ETH、HYPE | SOL、XRP、ZEC | 全部股票、指数、商品(xyz 等 dex) | 其余 perp |
| 1 小时涨跌 | ≥ 3% | ≥ 5% | ≥ 2% | ≥ 8% |
| 24 小时涨跌 | ≥ 5% | ≥ 10% | ≥ 5% | ≥ 15% |
| 7 天涨跌 | ≥ 20% | ≥ 30% | ≥ 12% | ≥ 40% |
分层沿用监控频道的四层(第 11 节):HIP3 单独成轴,因为股票市场有开盘收盘的天然放量周期,它的量和持仓量基线要用 24 小时均速而不是最近 20 个窗口。被动帖的第一道门也用这张表。后面可扩的事件先记着不做:前十大持仓易主(「BTC 第一大多头换人了」,和临时标签是同一份数据)、新币上线第一天。
不是帖子类型,但决定可读性。规则:
| 现状:存活 918 条帖的作者名类型 | 条数 |
|---|---|
| 体量泛称(🌊 巨鲸 / 🐋 小鲸 / 🐳 鲸鱼) | 379 |
| 裸地址 | 206 |
| 榜单临时标签(「CC 最大多头持仓」,只标进池那个币,静态) | 110 |
| 行为命名(「HIMS财报头名」) | 104 |
| 实名或备注 | 82 |
| X 账号 | 37 |
先判资格,再算分。G = 0 的帖子不成帖,但地址主页与资产页仍能看到。
p_overrides.json 定。p_overrides.json 里 P = 0 的地址 G = 0,保留人工毙掉的能力。C = base(类型) + 1.0 · max(0, log10 N − 5) + k · max(0, log10 |R| − 4) N = 名义美元;R = 已实现盈亏减手续费(平仓类),或动作结束时的浮盈亏 U(加仓类) k = 2.0 平仓类(清仓 / 强平 / 止盈部分 / 止损部分) k = 1.0 加仓类(补仓 / 滚仓,用 |U|) k = 0 建仓 / 现货 / 账本
| 类型 | base | 类型 | base |
|---|---|---|---|
| 强平 | 2.0 | 出金 | 0.5 |
| 反手(平掉原仓 + 反向开仓,两行合看) | 1.5 | 解押 | 0.4 |
| 清仓,且 |R| ≥ max(1 万, 0.5% N) | 1.0 | 入金 | 0.3 |
| 清仓,平进平出 | 0 | 现货卖出 | 0.3 |
| 长持后清仓(开仓距今 ≥ 7 天)额外 | +1.0 | 现货买入 | 0.2 |
| 建仓 | 0.8 | 质押 | 0.2 |
| 补仓 / 滚仓 | 0.4 | 转入 / 转出 | 0.1 |
| 止盈部分 / 止损部分 | 0.3 |
刻度感:1,000 万名义 = 2 分;10 万盈亏 = 2 分,100 万 = 4 分,1,000 万 = 6 分。结果永远压过规模,这是第 2 条原则的落地。类型底分比 v1 小得多,因为「清仓」这个动作本身不是新闻,清仓的结果才是。
u_size = 0.5 · clamp(log2(N / N_med30), 0, 3) 这笔名义是他常态的几倍:2 倍 → 0.5,8 倍 → 1.5 u_pnl = 0.5 · clamp(log2(|R| / R_med30), 0, 3) 平仓类:这笔盈亏是他常态的几倍 u_max = +1 若 |R| 是他 30 天最大盈亏,或 N 是他 30 天最大单行 u_eq = +1 若 N ≥ 30% E; −1.5 若 N < 1% E 且 N < 10 万 U = clamp(u_size + u_pnl + u_max + u_eq, −1.5, 4)
baseline.json。baseline.py,再开 U。详见 离线重跑报告第 3 节。A = 0.6 · (P − 5) P = 0 到 10,见 v1 第 3 节的先验值与手调,AI 评分照 v1 3.1 到 3.6 做 门控:若 C + U < 2,则 A = min(A, 0) 动作太小不加分,扣分照扣
同 v1 第 2.4 节,只是从「占 B 的 10%」改为直接相加:热度榜前 5 +0.6,前 12 +0.3;该资产 48 小时涨跌 ≥ 15% 再 +0.4;上限 1;账本类 0。热度榜口径不变。
age = 现在 − 行内最后一笔成交时间(小时) F = −0.3 · floor(age / 12),下限 −1.0
被动帖:C = 2.0 · max(0, log10 |ΔU| − 4) + 里程碑 1.0 + 距清算 < 5% 时 2.0
U = +1 若 |ΔU| ≥ 5% E,+2 若 ≥ 20% E
A、F 同动作帖;X = 0.5 · |24h 涨跌| / 5%,上限 2
资产帖:单独池子,S_a = 3 · 涨跌在近 7 天的分位 + 新高新低 1 + 持仓量变动 ≥ 20% 时 1 + 热度榜前 5 时 1
只用于资产帖之间排序,不与动作帖比分
被动帖里语境 X 从配角变主角,因为币的涨跌就是起因。资产帖没有名义和盈亏,硬塞进同一个公式只会算出没意义的数,所以在拼页时靠名额进流,见第 5 节。
不再分十分位。档位如需保留只作为后台的诊断列。
候选 = 48 小时窗 ∩ G = 1 ∩ 该用户未读 按 S 降序 名额:同地址 ≤ 2 · 同币 ≤ 4(资产帖计入) · 资产帖 ≤ 1 · 被动帖 ≤ 2 第 1 到 8 位按上面取;第 9、10 位从 S 排名 30 到 100 的未读里随机取(探索位) 返回 10 条立即记已读(v1 第 5.3、5.4 节不变)
EXPLORE = 0)。这是 v2 与 v1 最大的不同:先定尺子。没有尺子,任何公式的好坏都只能凭感觉,也就没法交给别人优化。
| 参数 | 默认 | 作用 |
|---|---|---|
W_SIZE | 1.0 | C 里名义的斜率,每 10 倍加 1 |
K_REAL / K_UNREAL | 2.0 / 1.0 | 已实现 / 浮动盈亏的斜率,每 10 倍加 2 / 1 |
SIZE_FLOOR / PNL_FLOOR | 10 万 / 1 万 | 规模与盈亏开始计分的起点 |
BASE_* | 见 4.1 表 | 类型底分 |
FLAT_PCT / FLAT_ABS | 0.5% / 1 万 | 平进平出判定,低于即清仓底分归零 |
LONG_HOLD | 7 天 | 长持后清仓的额外底分门槛 |
U_SLOPE / U_CAP | 0.5 / 3 | 反常项每翻一倍的分与倍数上限 |
U_MAX / U_EQ_HI / U_EQ_LO | 1 / 1 / −1.5 | 30 天最大、占总资产 30%、相对太小 |
U_MIN / U_MAXTOTAL | −1.5 / 4 | U 的上下限 |
BASELINE_MIN_ROWS | 10 | 30 天不足此行数视为基线未知 |
A_SLOPE / A_GATE | 0.6 / 2 | 人的分斜率;C + U 低于此值不加分 |
LABEL_BONUS | +2 / +1 / +1 | 本币主流前三 / 前十 / 其他币前三 给 P 的加成 |
X_TOP5 / X_TOP12 / X_MOVE | 0.6 / 0.3 / 0.4 | 语境,同 v1 |
F_STEP / F_HOURS / F_FLOOR | 0.3 / 12 / −1 | 新鲜度每 12 小时减 0.3,封底 −1 |
WINDOW | 48 小时 | 帖子存活窗,窗内不删 |
STORY_GAP / STORY_BONUS | 6 小时 / 0.3 | 故事合并间隔与每翻倍行数的加分 |
MM_EXC_PNL / MM_EXC_FLOW | 50 万 / 500 万 | 做市商例外进流的盈亏与出入金门槛 |
MM_NET_PCT | 5% | 按行为判做市:双边成交且净仓位变动低于此比例 |
PASSIVE_MOVE_MAJOR / OTHER | 8% / 15% | 被动帖第一道门,24 小时涨跌 |
PASSIVE_DU_ABS / PASSIVE_DU_PCT | 10 万 / 2% | 被动帖第二道门 |
PASSIVE_LIQ_NTL / PASSIVE_LIQ_DIST | 500 万 / 1% | 逼近清算:仓位下限与距离,触发并加 2 分;0.1% 档原地更新,回撤到 2% 外重新武装 |
TIER_MAJORS / LARGE / HIP3 | BTC ETH HYPE · SOL XRP ZEC · 股票指数商品 | 市场四层,其余为 Alts(11.1) |
CASCADE_GAP / MIN_N / MIN_SUM / MIN_ONE / QUIET | 60 秒 / 2 / 100 万 / 10 万 / 5 分钟 | 连环爆仓资产帖:合并间隔、最少笔数、合计与单笔下限、静默期 |
VOL_MULT / VOL_ABS | 10× · 1.5 亿 / 5,000 万 / 2,500 万;HIP3 15× 对 24h 均速 · 2,500 万 | 放量资产帖,Majors / Large alts / Alts 的绝对量下限,30 分钟一条 |
OI_MULT / OI_ABS / OI_FLOOR | 6×(HIP3 5×) · 2,500 万 / 1,000 万 / 500 万 · 200 万 / 100 万 / 50 万 | 持仓量激增资产帖:倍数、绝对变动下限、滚动均值活跃度下限,30 分钟一条 |
FUND_PCT / FUND_MIN_APR / FUND_QUIET / FUND_ELIG | 95 分位 / 20% / 6 小时 / 量 2,500 万 · 持仓 500 万 · 7 天史 | 费率异动资产帖:触发线、下限、此前安静期、资格门;回落半线重置 |
MM_DAILY_AT | UTC 00:00 | 做市商实体出入金日汇总帖时点(待定) |
STAKE_BIG | 10 万 HYPE | 质押 / 解押抬底分到 0.8 / 1.0,解押分发起与完成两帖 |
PASSIVE_PER_EPISODE | 5 | 每轮行情最多几条个人被动帖 |
ASSET_1H / 24H / 7D | 3% 8% 20% · 8% 15% 40% | 资产帖触发,主流 · 其他 |
ASSET_PER_DAY | 3 | 一个资产账号一天最多几条 |
PAGE / CAP_ADDR / CAP_COIN | 10 / 2 / 4 | 每页条数与多样性上限 |
CAP_ASSET / CAP_PASSIVE / EXPLORE | 1 / 2 / 2 | 每页资产帖、被动帖上限,探索位数 |
EXPLORE_RANGE | 30 到 100 | 探索位从哪段排名里随机取 |
READ_TTL | 72 小时 | 已读保留,同 v1 |
前三例沿用 v1 的三个算例,后三例取自本页第 1 节被埋掉的真实事件。人的分用先验值,基线数字是假设,标在「谁」那一行。
C = 1.0 清仓 + 1.48 规模 + 2 × (5.18 − 4) = 2.35 结果 = 4.83 U = 0.5 × log2(300/200) = 0.29 + 0.5 × log2(15/8) = 0.45 = 0.74 A = 0.6 × (9 − 5) = 2.4,C + U ≥ 2 生效 X = 0.6 F = 0
C = 2.0 强平 + 1.70 规模 + 2 × (6.08 − 4) = 4.16 结果 = 7.86 U = u_max 1(30 天最大亏损)+ u_eq 1(占总资产 62%) = 2.0 A = 0.6 × (3 − 5) = −1.2 X = 0 F = 0
C = 0.4 补仓 + 0 规模(3 万 < 10 万)+ 1 × max(0, 4 − 4) = 0 = 0.4 U = 0(3 万不到常态,占总资产 1.5% 不算太小) = 0 A:C + U = 0.4 < 2,门控生效,A = min(1.8, 0) = 0 X = 0.3 F = 0
C = 0.3 止损部分 + 1.39 规模 + 2 × (6.02 − 4) = 4.04 结果 = 5.73 U = 0.5 × log2(2.45) = 0.65 + 0.5 × min(3, log2(20.9)) = 1.5 + u_max 1 = 3.15 A = 0.6 × (5 − 5) = 0 X = 1.0 F = 0 刷单不再扣分,40 行合成故事
C = 0.3 止盈部分 + 1.45 规模 + 2 × max(0, 3.61 − 4) = 0 = 1.75 U = 0(不到常态,占总资产 14%) = 0 A:C + U = 1.75 < 2,门控生效,A = 0 X = 0 F = 0
C = 2 × (6.66 − 4) = 5.33 + 里程碑 1.0 = 6.33 U = +1(Δ 占总资产 7.7%) A = 0.6 × (8.5 − 5) = 2.1 X = 0.5 × 12 / 5 = 1.2 F = 0
读法:无名的大动作靠结果和反常自己站到前面;名人的中等动作靠名气跟上,和无名氏的强平并列;名人的小动作和零盈亏动作,名气一分不加,沉底。这正是 v1 想要而没做到的排序。
| 现有 | 去处 |
|---|---|
scoring_v1.py | 保留;新增 scoring_v2.py,gen_feed3 加开关 SCORER = v1 | v2,两套并存以便后台并列对比 |
| 无 | 新增 baseline.py:每地址 30 天名义中位、盈亏中位、最大值,从 rawstore 算,每天一次,出 baseline.json |
assign_tiers 十分位 | 取消;出流改为第 5 节的拼页,前端 fyBatch 改为按 S 加名额 |
P = 0 排除、EXCL 集合 | 拆成资格门 eligible(),含做市商例外与行为判定 |
| 刷单 × 0.6 | 取消;新增故事合并 merge_stories() |
作者名 zh | 新增 label_at(addr, coin, ts),从 asset_leaders.json 的每拍快照取;前端作者名两行 |
| 无 | 新增 passive_posts()、asset_posts() 两个生成器与各自模板 |
build_admin | 加金标准命中页、v1 / v2 并列列、每条金标准的分量拆解 |
| 无 | 新增 eval_golden.py:输入 posts 与 golden,输出 recall@30 与首屏三个体检数 |
建议顺序:① 评估脚本和金标准集,先把旧公式、v1 的基线数字记下来 → ② scoring_v2 加拼页,用两批数据过评估 → ③ 临时标签 → ④ 被动帖 → ⑤ 资产帖。前两步做完首屏就该明显不一样,后三步各自独立。
scoring_v2,评估集跑完选一个。fetch_market.py。《HyperdashFlows 监控改良》是推送频道的触发规则(仓库 方法论/参考_HyperdashFlows监控改良.md)。推送和信息流是两种产品:推送要的是「少而准、发了就不能收回」,所以全是硬阈值加冷却;信息流要的是「排序」,阈值只管成帖,好坏由分决定。因此它的数字不能直接搬来当打分,但有四样东西正好补 v2 的短板:市场分层、事件的去重与重新武装、做市商的处理、以及几个 v2 还没有的资产事件。逐条对照如下。
| 频道规则 | v2 的去处 | 采纳程度 |
|---|---|---|
| 市场四层 Majors / Large alts / HIP3 / Alts,HIP3 按机制独立成轴 | 3.3 分层表,被动帖与资产帖的阈值按层给;HIP3 的量与持仓量基线用 24 小时均速 | 全盘采纳,替换原来的主流币 / 其他币两档 |
| 爆仓推送与连环聚合 同资产同方向 60 秒内合并,合计 ≥ 100 万且 ≥ 2 笔升级为连环,5 分钟内不重复 | 动作帖里单个地址的强平照旧(底分 2.0)。跨地址的连环爆仓变成资产帖事件:「ZEC 空头 12 分钟内 5 个地址被清算,合计 78 万,最大一笔 62 万」,正文列最大单笔的地址;5 分钟静默 = 原地更新 | 采纳,作为资产帖第四类触发 |
| 临近爆仓预警 仓位 ≥ 200 万改 500 万、距清算 < 1%、按 0.1% 档只报一次、回撤到 2% 外重新武装 | 3.2 被动帖的清算门:原稿 5% 太松,改为 500 万加 1%,档位与重新武装照搬 | 采纳,数字直接用频道调过的值 |
| TWAP 开始 按层 5,000 万 / 2,500 万 / 1,000 万,存活 60 秒才推,防喷单 | v2 的行来自成交不来自挂单,喷单本来进不来。若以后从挂单流生成「TWAP 启动」帖,60 秒存活是必须的 | 记录,暂不做 |
| 成交量激增 5 分钟窗对 20 窗均值 10 倍且过绝对量;HIP3 对 24 小时均速 15 倍;附买卖失衡;30 分钟一条 | 资产帖第五类触发,参数照搬;标题写成人话(见 11.2) | 采纳,需先补 5 分钟量序列 |
| 持仓量激增 5 分钟变化对 20 窗均值 6 倍(HIP3 5 倍)、绝对额与活跃度下限、30 分钟一条 | 资产帖第六类触发,替换原稿含糊的「24 小时持仓量变动 ≥ 20%」 | 采纳,需先补 5 分钟持仓量序列 |
| 资金费率异动 30 天小时费率 95 分位为线、不低于 20% APR、此前 6 小时低于半线、回落半线才重置、资格门(量、持仓、7 天史) | 资产帖第七类触发,整套照搬。它和 U 是同一个思想:只和自己的历史比 | 采纳,需先攒 30 天费率史 |
| 大额桥接充提 做市商白名单改日汇总;其他 ≥ 250 万实时;同地址 1 小时合并 | 4.0 资格门:做市商出入金改实体级日汇总帖;普通地址的出入金仍按 1.5 成帖门槛(5 万)成帖,250 万只是频道的推送线,信息流靠分排 | 日汇总采纳;阈值不搬 |
| HYPE 质押 / 解押 ≥ 10 万枚,解押分发起与完成两次,1 分钟内合并 | 账本类动作:≥ 10 万枚时类型底分从 0.2 / 0.4 抬到 0.8 / 1.0,解押发起与完成各成一帖,后者原地更新前者 | 采纳 |
| 大额平仓获利 单次已实现 ≥ 100 万 | C 里已覆盖:100 万记 4 分,自然到顶 | 已有 |
| 大额单笔成交 单笔 ≥ 1,000 万,🔥 分级 | 规模项已覆盖;单笔 ≥ 1,000 万在正文加一句「其中一笔 1,057 万」 | 已有,加一句话 |
| 表情分级 💥 按 25 万 / 50 万 / 100 万 | 信息流不用表情堆叠,强度由排序表达 | 不采纳 |
频道消息受两行格式限制,信息流的帖子可以把倍数、绝对量、买卖差写成一句人话。建议模板:
放量 SNDK 过去 5 分钟成交 4,277 万美元,是平时的 185 倍,买单多出 299 万。 持仓量 HYPE 过去 5 分钟持仓量增加 1,820 万美元,是平时变动的 7.4 倍,总持仓 20.2 亿。 费率 SILVER 资金费率年化 86%,30 天里只有 5% 的时间比这高;6 小时前还是 12%。
三条都遵守 3.3 的「报价必须带人」:正文接持仓者处境,例如「池内 5 个空头合计浮亏 210 万,Loracle 离清算不到 1%」。