F · 算法

1.112026-08-29

每个算法都基于第 6 节的形式框架表述,构成计算流水线的可执行契约。算法通过方法版本向量(第 10.2 节)版本化;对其中任何一个的修改递增 method_ver 并在审计轨迹中记录。

算法 1. 分层观测状态计算

  • 输入:原始来源记录 r∈Rr \in \mathcal{R};名册 I∪S\mathcal{I} \cup \mathcal{S};尺度契约 S\mathcal{S};来源注册表 K\mathcal{K}。
  • procedure L1_ingest(R\mathcal{R})
    • for 每条记录 rr do
      • 对键 (org,source,title)(\mathrm{org}, \mathrm{source}, \mathrm{title}) 分类;
      • 加盖到达时间;对照来源画像校验模式
      • 赋予来源状态:在现 / 降级 / 缺失(第 6.2 节)
    • return 带来源状态的原始记录
  • procedure L2_derive(raw\mathrm{raw}, S\mathcal{S})
    • 按因子将缺失分类为 P/Z/A/FP/Z/A/F(算法 2)
    • 按因子类别应用尺度契约(线性 / 重尾 / 逆序 / 布尔)
    • 按构成权重将因子聚合为块(算法 3)
    • return 派生指标状态 ξ(t)\xi(t)(定义 6.1)
  • procedure L3_publish(ξ(t)\xi(t), roster)
    • 计算 FAadj\mathrm{FA}^{\mathrm{adj}}、RI\mathrm{RI} 包络、Θ\Theta、Γ\Gamma、Λ\Lambda
    • 应用结算重居中与呈现噪声(算法 5、6)
    • return 已发布的层值

算法 2. 缺失值分类与两级重归一化

  • 输入:因子值 vi,kv_{i,k};块权重 wkw_k,∑kwk=1\sum_k w_k = 1;状态注册表 M\mathcal{M}。
  • procedure Classify(ii, kk)
    • if 单位不在该因子定义覆盖范围内 then
      • return PP(真零)
    • else if 来源状态缺失且无可读排名 then
      • return ZZ(数值缺失)
    • else if 低于印刷截断线但仍有最后可读排名 then
      • return AA(榜单下限)
    • else if 来源中断 / 模式失效 then
      • return FF(技术不可用)
  • procedure Renormalize(ii)
    • P←{k:state(i,k)∈{P,A,Z-with-fill}}\mathcal{P} \gets \{ k : \text{state}(i,k) \in \{P, A, Z\text{-with-fill}\} \}
    • 对状态为 ZZ 且无填补的 kk:vi,k←0v_{i,k} \gets 0;对状态 AA 取下限值
    • Vi←∑k∈Pwk v^i,k  /  ∑k∈PwkV_i \gets \sum_{k\in\mathcal{P}} w_k\, \hat v_{i,k} \;/\; \sum_{k\in\mathcal{P}} w_k
    • 对状态 FF:carry(i,k)←vi,k(tlast-valid)\mathrm{carry}(i,k) \gets v_{i,k}(t_{\text{last-valid}})(沿用最近合法值)
    • 在 M\mathcal{M} 中登记 (i,k,state)(i, k, \text{state}) 并加盖版本戳
    • return ViV_i(到现存块上的投影,命题 6.4)

算法 3. 基本面锚构成(V1)

  • 输入:归一化块 cap,edge,eco,com∈[0,1]\mathrm{cap}, \mathrm{edge}, \mathrm{eco}, \mathrm{com} \in [0,1]; V1 权重(附录 B);名册。
  • procedure Compose(cap,edge,eco,com\mathrm{cap}, \mathrm{edge}, \mathrm{eco}, \mathrm{com})
    • cap′←(0.55 cap+0.05 edge)/0.60\mathrm{cap}' \gets (0.55\,\mathrm{cap} + 0.05\,\mathrm{edge}) / 0.60
    • eco′←(0.25 eco+0.15 com)/0.40\mathrm{eco}' \gets (0.25\,\mathrm{eco} + 0.15\,\mathrm{com}) / 0.40
    • FAi←100×(0.60 cap′+0.40 eco′)\mathrm{FA}_i \gets 100 \times \bigl(0.60\,\mathrm{cap}' + 0.40\,\mathrm{eco}'\bigr)
    • 按构成映射,从各因子为每个块合并出 merge\mathrm{merge} 值
    • return FAi\mathrm{FA}_i
  • procedure Adjust(FAi\mathrm{FA}_i, streaks, incidents)
    • Di←D_i \gets 持续领先值((15)),封顶于 DcapD_{\mathrm{cap}}
    • Ri←R_i \gets 实际危害值,封顶于 RcapFAiR_{\mathrm{cap}}\mathrm{FA}_i,仅限官方事实
    • FAiadj←FAi (1+Di)−Ri\mathrm{FA}^{\mathrm{adj}}_i \gets \mathrm{FA}_i\,(1 + D_i) - R_i
    • 在结算时冻结 FAiadj(t0)\mathrm{FA}^{\mathrm{adj}}_i(t_0);日内不可变
    • return FAiadj(t0)\mathrm{FA}^{\mathrm{adj}}_i(t_0)

算法 4. 实时影响力(RI)更新

  • 输入:事件流;残差映射 r(⋅)r(\cdot);半衰期映射 T1/2(⋅)T_{1/2}(\cdot)。
  • for 每个事件 ee(时刻 tet_e) do
    • rnew←Ae 2−0r_{\text{new}} \gets A_e\, 2^{-0}(全值)
    • if r(key)≤rnewr(\mathrm{key}) \le r_{\text{new}} then
      • (更新规则)
      • 作废同一主键下的残差
      • 以开始时刻 tet_e 插入 rnewr_{\text{new}}
      • 追加到更新日志(确定性重放账本)
    • else
      • 保留既有脉冲;记录被拒绝的事件
  • for 每个活跃脉冲 do
    • ρe←(当前时刻−te)/T1/2(e)\rho_e \gets (\text{当前时刻} - t_e)/T_{1/2}(e);值 ←Ae 2−ρe\gets A_e\, 2^{-\rho_e}
  • RIi(t)←∑active eAe 2−(t−te)/T1/2(e)\mathrm{RI}_i(t) \gets \sum_{\text{active } e} A_e\, 2^{-(t-t_e)/T_{1/2}(e)}
  • Hi(t)←∑active e∣Ae∣ 2−(t−te)/T1/2(e)\mathrm{H}_i(t) \gets \sum_{\text{active } e} |A_e|\, 2^{-(t-t_e)/T_{1/2}(e)}
  • return RIi(t)\mathrm{RI}_i(t)、Hi(t)\mathrm{H}_i(t)(命题 6.14)

算法 5. 结算与居中

  • 输入:由已结算慢数据((14))重算的新 FAiadj(t0)\mathrm{FA}^{\mathrm{adj}}_i(t_0)、 RIi\mathrm{RI}_i、名册 I\mathcal{I}。
  • t←t \gets 窗口收盘(UTC 04:00–07:00、16:00–19:00)
  • procedure Settle
    • RI‾←1∣I∣∑j∈IRIj(t)\overline{\mathrm{RI}} \gets \frac{1}{|\mathcal{I}|}\sum_{j\in\mathcal{I}}\mathrm{RI}_j(t)
    • for i∈Ii \in \mathcal{I} do
      • Θi(t)←FAiadj(t0)+kri(RIi(t)−RI‾)+BRi(t)\Theta_i(t) \gets \mathrm{FA}^{\mathrm{adj}}_i(t_0) + k_{\mathrm{ri}}\bigl(\mathrm{RI}_i(t) - \overline{\mathrm{RI}}\bigr) + \mathrm{BR}_i(t)
    • (精确守恒:∑Θi=∑FAiadj\sum\Theta_i = \sum\mathrm{FA}^{\mathrm{adj}}_i(命题 6.9))
    • 冻结 FAiadj(t0)\mathrm{FA}^{\mathrm{adj}}_i(t_0) 作为新锚 (慢锚,而非收盘线)
    • 写入结算记录;递增 flagship_ver
    • return Θi(t)\Theta_i(t)、已冻结的 FAiadj(t0)\mathrm{FA}^{\mathrm{adj}}_i(t_0)

算法 6. 呈现层名义双值过程

  • 输入:实际线 Θi(t)\Theta_i(t);展示参数(表 22)。
  • procedure Nominalize(Θi(t)\Theta_i(t))
    • x←0x \gets 0(展示噪声存量,按单位哈希播种)
    • for 每个发布 tick do
      • x←x⋅(1−2−1/15)+N(0,σ02)x \gets x\cdot (1 - 2^{-1/15}) + \mathcal{N}(0,\sigma_0^2) (离散 OU,零均值)
      • 每分钟以 0.15%0.15\% 概率跳跃:x←x±U(3,5) σx \gets x \pm U(3,5)\,\sigma
      • x←clip(x, ±75 bps)x \gets \mathrm{clip}(x,\ \pm 75\,\mathrm{bps})
      • if 处于渐隐窗口内:距收盘 τ\tau 分钟 then
        • x←x⋅(1−τ/Ntaper)x \gets x\cdot (1 - \tau/N_{\mathrm{taper}}) (收盘时归零)
      • Θ~i(t)←Θi(t)+x+N(0,σj2)\widetilde{\Theta}_i(t) \gets \Theta_i(t) + x + \mathcal{N}(0,\sigma_j^2)
    • return Θ~i(t)\widetilde{\Theta}_i(t);收盘时 Θ~≡Θ\widetilde{\Theta} \equiv \Theta(命题 6.17)

算法 7. 双轨审计与重放

  • 输入:生产轨迹;重放引擎;主键。
  • procedure Audit(窗口 WW)
    • 在 WW 上从原始输入重算全部输出(重放路径)
    • 在每个已发布 tick 上比较重放值与生产值
    • 在 WW 上检查 Hi(t)≥∣RIi(t)∣\mathrm{H}_i(t) \ge |\mathrm{RI}_i(t)|(命题 6.14)
    • 在每次结算检查守恒 ∣∑Θi−∑FAiadj∣≤ϵ|\sum\Theta_i - \sum\mathrm{FA}^{\mathrm{adj}}_i| \le \epsilon
    • 验证更新日志的确定性(重放关键事件)
    • return 审计结论与异常清单
  • procedure Reconcile(异常清单)
    • for 每个异常 do
      • 分类:展示噪声 / 来源互换 / 模型变更 / 操作错误
      • 若与来源相关:触发算法 8
      • 发出更正记录;递增 decision_ver

算法 8. 熔断器与来源互换迁移

  • 输入:来源状态;因子权重 wsw_s;告警阈值。
  • procedure Monitor(k∈Kk \in \mathcal{K})
    • if kk 的健康度连续 22 个窗口低于阈值 then
      • 将来源 kk 降级:丢弃其观测,在存活来源上重新归一化
      • 断言 ∣v^−v^out∣≤wk/(1−wk)|\hat v - \hat v_{\mathrm{out}}| \le w_k/(1-w_k)(命题 6.1)
      • 将因子状态标记为 FF(技术不可用),向前沿用(第 6.2 节)
    • if 恢复时 Δk>\Delta_k > 告警阈值 then
      • 记录差异;上报对账(算法 7)
    • return 熔断器状态;更新 source_ver

算法 9. 动态成员纳入

  • 输入:全域 U\mathcal{U};观测层完整性 cuc_u;阈值 c∗c^*。
  • procedure Review(u∈Uu \in \mathcal{U})
    • 计算 cuc_u = 最近 NN 个窗口内所需因子的观测比例
    • if u∈Su \in \mathcal{S} 且连续 22 次评审 cu≥c∗c_u \ge c^* then
      • 将 uu 移入 I\mathcal{I};应用命题 3.1 检查
      • 若归一化极端改变:披露重估,不回溯
    • else if u∈Iu \in \mathcal{I} 且连续 22 次评审 cu<c∗c_u < c^* then
      • 将 uu 移入 S\mathcal{S};在新 I\mathcal{I} 上重跑居中
    • return 名册;递增 roster_ver

算法 10. BR-01 桥接过渡

  • 输入:机械变化缺口 GmechG_{\mathrm{mech}};水平 HH;路径 φ(t)\varphi(t)。
  • procedure Transition
    • if Gmech=0G_{\mathrm{mech}} = 0 then
      • return(无桥接;命题 6.19(d))
    • BR(0)←−Gmech\mathrm{BR}(0) \gets -G_{\mathrm{mech}}
    • Ipub(0)←I++BR(0)=I−+ΔfundI^{\mathrm{pub}}(0) \gets I^{+} + \mathrm{BR}(0) = I^{-} + \Delta_{\mathrm{fund}}(价值保持不变)
    • for t∈(0,H]t \in (0, H] do
      • BR(t)←−Gmech φ(t)\mathrm{BR}(t) \gets -G_{\mathrm{mech}}\,\varphi(t), φ(0)=1\varphi(0)=1, φ(H)=0\varphi(H)=0
      • Ipub(t)←I++BR(t)I^{\mathrm{pub}}(t) \gets I^{+} + \mathrm{BR}(t)
    • 对 t>Ht > H:BR(t)←0\mathrm{BR}(t) \gets 0;桥接从不存入 FA\mathrm{FA},从不进入 RI\mathrm{RI}
    • return 已发布路径;递增 method_ver

算法 11. 权重敏感性分析

  • 输入:冻结 V1 权重 β\beta;因子不确定性模型 Θunc\Theta_{\mathrm{unc}};MM 次抽样。
  • procedure Analyze
    • for m=1,…,Mm = 1, \dots, M do
      • βm←β⋅(1+εm)\beta_m \gets \beta \cdot (1 + \varepsilon_m),εm∼\varepsilon_m \sim 按块的有限噪声
      • 重算全部 FA\mathrm{FA}、Θ\Theta;记录完整榜单排名 πm\pi_m
      • for 每个相邻数对 (i,j)(i,j) do
        • rij←r_{ij} \gets 使排序反转的最小相对扰动(附录 D.4)
    • 报告:最小相邻 rijr_{ij};排名变化分布;极端边界带
    • return 敏感性报告(第 8.7 节)

算法 1–11 共同覆盖从原始观测到已发布值的完整管线,并配有以使整条管线可审计为设计目标的验证与治理循环。版本向量记账(第 10.2 节)标记每次算法运行,使状态变化按设计可从记录的输入重放。


返回目录  |  ← E · 证明汇编  |  G · FA 快照 →

非实盘 · 非金融交易 · 无充值功能 · 不涉及投资建议