OFI 完整的微观结构 Alpha Pipeline

从数据 → 信号 → 决策 → 执行 → 风险反馈 的顺序来,你可以把它直接当成系统设计蓝图


一、整体总览(先给你一张“文字结构图”)

┌────────────────────────────────────────┐
│            ① 数据与微结构层             │
│   LOB / Trades / Quotes / Latency       │
└────────────────────────────────────────┘
                    ↓
┌────────────────────────────────────────┐
│            ② 状态识别(Regime)         │
│   波动 / 流动性 / 市场节奏 / 风险态      │
└────────────────────────────────────────┘
                    ↓
┌────────────────────────────────────────┐
│            ③ Alpha 信号层               │
│   Lead-Lag / OFI / Volume Cluster /     │
│   Micro-price / Short-term Momentum     │
└────────────────────────────────────────┘
                    ↓
┌────────────────────────────────────────┐
│            ④ 信号融合与决策层           │
│   加权 / 条件化 / 非线性压缩             │
└────────────────────────────────────────┘
                    ↓
┌────────────────────────────────────────┐
│            ⑤ 执行层(Execution)        │
│   Aggressive / Passive / Smart Routing  │
└────────────────────────────────────────┘
                    ↓
┌────────────────────────────────────────┐
│            ⑥ 风险与反馈层               │
│   仓位 / 回撤 / 执行质量 / 自适应更新    │
└────────────────────────────────────────┘

OFI 在第 ③ 层,但它会“向下影响执行,向上影响决策权重”


二、① 数据与微结构层(你的一切上限)

这一层决定了:

你是在做“微观结构交易”,还是在用高频数据做低频策略

核心数据流

  • L2/L3 Order Book(增量更新,非 snapshot)
  • Trades(是否 aggressive、方向)
  • Quotes(spread、mid、micro-price)
  • 时间戳(本地 vs 交易所)

📌 关键点

  • 所有信号 必须基于事件驱动(event-based)
  • 不用固定时间 bar(这是低频思维)

三、② 状态识别层(90% 的人没有)

这是是否允许 alpha 发声的“开关层”

常见 Regime 状态

状态含义
Volatility Regime高 / 低 / 爆炸
Liquidity Regime深 / 薄
Spread Regime正常 / 扩张
Market Pace快 / 慢
Risk Mode正常 / 降仓 / 禁止交易

示例

if spread > Q90
or depth < Q10
or vol > max_vol:
    trading_allowed = False

📌 原则

Alpha 再强,状态不对 → 不交易

四、③ Alpha 信号层(OFI 在这里)

这一层的特点是:

多个弱但不同来源的信号并存

典型信号分类

1️⃣ 方向型(Information)

  • Lead-Lag(跨市场 / 跨合约)
  • Micro momentum
  • Short-term return imbalance

2️⃣ 力度型(Pressure)

  • OFI(你关注的重点)
  • Aggressive volume imbalance
  • Queue depletion rate

3️⃣ 结构型(Microstructure)

  • Micro-price deviation
  • Spread asymmetry
  • Book convexity

OFI 在这一层的定位

OFI 不说“方向对不对”,只说:

“盘口是否正在朝某个方向用力”

所以它通常是:

  • 权重因子
  • 条件因子
  • 执行调节输入

五、④ 信号融合与决策层(灵魂层)

这是大多数文章完全不讲,但真正赚钱的地方

1️⃣ 条件化(Conditioning)

Use OFI only if:
    LeadLag_signal ≠ 0

👉 防止 OFI 单独乱叫。


2️⃣ 加权融合(Weighted Alpha)

alpha =
    w1 * LeadLag
  + w2 * OFI_scaled
  + w3 * VolumeCluster

权重是:

  • 状态相关
  • 非常数
  • 经常用 EWMA / Online update

3️⃣ 非线性压缩(极其重要)

alpha_final = tanh(alpha)

📌 原因:

  • 防极端值
  • 保持仓位平滑
  • 防 spoof / 突发事件

六、⑤ 执行层(Execution ≠ 下单)

执行层回答的是:

“现在这笔交易,如何下,代价最小?”

OFI 在这里的第二次出场

if OFI_z > 3:
    use aggressive (market / IOC)
elif OFI_z > 1:
    use passive limit
else:
    wait

结合流动性

  • 深度薄 → 小单拆分
  • 深度厚 → 提高 aggressiveness

📌 很多团队:alpha 与 execution 是两套系统,但 OFI 是桥梁


七、⑥ 风险与反馈层(系统能否活下来)

这是一个闭环

风险控制

  • Max position
  • Drawdown stop
  • Kill-switch(异常延迟 / 行情)

执行反馈

  • Slippage vs OFI
  • Fill rate
  • Queue position decay
if OFI strong but slippage ↑:
    reduce aggressiveness

👉 系统会“学习盘口是否可靠”


八、把 OFI 的“生命周期”串起来(非常重要)

OFI 生成
   ↓
信号层:作为 pressure factor
   ↓
决策层:影响 alpha 强度
   ↓
执行层:影响 aggressiveness
   ↓
反馈层:校正 OFI 可信度

这就是为什么:

OFI 是“贯穿系统”的信号成分,而不是一个策略

九、最小但“正确”的完整 Pipeline(伪代码)

if not regime_ok():
    return

leadlag = compute_leadlag()
ofi = compute_ofi_scaled()
volume = volume_cluster()

if leadlag == 0:
    return

alpha = tanh(
    w1 * leadlag +
    w2 * ofi +
    w3 * volume
)

size = base_size * abs(alpha)

if ofi > high_threshold:
    execute_aggressive(size)
else:
    execute_passive(size)

十、一句“系统级”总结给你

微观结构 Alpha 不是“找一个强信号”
而是“在对的状态下,让多个弱信号一起说同一句话”

OFI 的价值,正是在这里。

Read more

跑步的技巧(滚动落地)

“滚动落地(rolling contact / rolling foot strike)”不是一种教条式的“脚法”,而是一种 让冲击沿着整只脚、整条后链逐级传递的落地机制。 它的核心不是“你先用哪儿着地”,而是: 你的脚落地之后,冲击是不是像轮子一样滚过去,而不是像锤子一样砸下去。 这就是滚动落地的本质。 一、什么叫“滚动落地”? 你可以把它理解成两种完全不同的落地方式: 1. 砸地(撞击式) 脚像锤子一样拍到地上: * 要么后跟先砸 * 要么前掌先戳 * 冲击集中在一个点 * 一个结构瞬间吃掉大部分载荷 结果就是: * 后跟砸 → 膝盖难受 * 前掌戳 → 前脚掌磨烂 * 都不是长跑友好模式 这叫 撞击式着地(impact strike)。 2. 滚地(滚动式) 脚像轮胎一样“滚”过地面: * 不是某一点硬砸 * 而是外侧中足先轻触 * 再向前滚到前掌 * 最后从大脚趾蹬离

By SHI XIAOLONG

AMI的优越性

世界模型(World Models)的具体例子 如下,我按类型分类,便于理解。每类都附带实际实现、演示效果和应用场景。 1. Yann LeCun / Meta 的 JEPA 系列(最直接对应“世界模型”概念) 这些是 LeCun 主张的非生成式抽象预测世界模型代表。 * I-JEPA(Image JEPA,2023) 输入一张图像,模型把不同区域(context 和 target)编码成抽象表示,然后预测 target 的表示(不在像素级别重建)。 例子:给定一张遮挡了部分物体的图片,模型能预测“被遮挡物体的大致位置和属性”,构建对物体持久性和空间关系的理解。 这是一个“原始世界模型”,能学习物理常识(如物体不会凭空消失)。 * V-JEPA / V-JEPA 2(Video JEPA,

By SHI XIAOLONG

什么是:“世界模型(World Models)”

世界模型(World Models) 是人工智能领域的一个核心概念,尤其在 Yann LeCun 等研究者推动的下一代 AI 架构中占据中心位置。它指的是 AI 系统在内部构建的对现实世界的抽象模拟或内部表示,让机器能够像人类或动物一样“理解”物理世界、预测未来、规划行动。 简单比喻 想象你闭上眼睛也能“看到”房间里的物体会如何移动、碰撞或掉落——这就是你大脑里的世界模型。AI 的世界模型就是类似的“数字孪生”(digital twin)或“内部模拟器”:它不是简单记住数据,而是学习世界的动态、因果关系和物理直觉(如重力、物体持久性、遮挡、因果等)。 为什么需要世界模型? 当前主流的大型语言模型(LLM) 擅长处理文本(统计模式预测),但存在根本局限: * 缺乏对物理世界的真正理解 → 容易“幻觉”、无法可靠规划。 * 样本效率低 → 人类/

By SHI XIAOLONG

K线周期可配置化设计方案

K线周期可配置化设计方案 1. 背景与目标 当前 Beta 套利策略的 K 线周期硬编码为 "1h",分散在多个文件中。需要: 1. 将 K 线周期从 1h 改为 2h 2. 提取为环境变量 BETA_ARB_KLINE_INTERVAL,使其可在 .env 中配置 2. 影响范围分析 2.1 需要修改的文件(共 6 个) 文件 硬编码位置 修改内容 src/trading/config.py BetaArbConfig dataclass 新增 kline_interval 字段,

By SHI XIAOLONG