假设我是交易的5分钟级别的,那么协整检验可以4小时级别的K线吗?

这是一个非常成熟、也是专业量化里真实在用的问题
直接给结论,然后我把什么时候可以、什么时候绝对不行、以及正确用法全部讲清楚。


一、结论先行(非常明确)

可以,而且这是专业交易里“推荐”的做法之一。

用 4H K 线做协整检验,用 5min 做进出场,是一种“多时间尺度分离”的标准结构。

但要立刻补一句:

⚠️ 前提是:你清楚“谁管什么”,而不是混着用。

二、为什么这在统计和交易上是“合理的”?

1️⃣ 协整 ≠ 交易信号,它是“结构假设”

协整检验在做什么?

验证两个价格是否存在长期(低频)均衡关系

而 5min 交易在做什么?

利用短期(高频)偏离

👉 这两件事本来就不该在同一个频率上做


2️⃣ 用 4H 做协整,反而更“干净”

4H 数据相比 5min:

维度5min4H
微结构噪声极高极低
bid-ask 影响几乎无
自相关复杂度简单
协整稳定性假阳性多更可靠

👉 用 5min 做协整:

  • 很容易检出“噪声协整”
  • 回测很好,实盘崩

3️⃣ 多时间尺度是对“regime 风险”的天然防御

  • 协整关系是 慢变量
  • 5min 波动是 快变量

你等于在做:

低频确认结构 + 高频榨取噪声

这是非常经典的工程分层设计。


三、什么时候“绝对不可以”这样做?

❌ 错误场景 1:用 4H β 直接算 5min spread

这是大坑。

❌ 错误:

spread_5m = log_price_5m_A - (alpha_4h + beta_4h * log_price_5m_B)

原因:

  • β 在不同频率下 不严格等价
  • 高频存在 lead-lag、异方差

👉 正确做法见后面。


❌ 错误场景 2:4H 协整早已失效,还在 5min 交易

你必须意识到:

4H 协整失效 ≠ 5min 马上爆炸
迟早会出事

所以协整检验必须 滚动更新


四、正确的“工程级”做法(推荐你直接照着用)

🧠 结构分层(重点)

层级频率作用
协整层4H结构过滤(pair 是否可交易)
参数层5min 或 15minβ、均值、波动
信号层5minZ-score / 进出场
风控层5min止损、退场

1️⃣ 协整检验(4H)

# 用 4H 数据
beta_4h = sm.OLS(logA_4h, sm.add_constant(logB_4h)).fit().params
spread_4h = logA_4h - beta_4h[1] * logB_4h
adf_4h = adfuller(spread_4h, autolag='AIC')

要求:

  • AIC + BIC 双重通过
  • 半衰期 < 某阈值(如 < 30 根 4H)

2️⃣ β 的正确用法(非常关键)

两种专业做法,二选一:

✅ 方案 A(更稳健,推荐)

  • 5min 数据重新估 β
  • 只在 4H 协整通过时才允许交易
beta_5m = rolling_ols(logA_5m, logB_5m, window=200)

⚠️ 方案 B(简化版)

  • 用 4H β
  • 对 5min spread 做 EMA 平滑
  • 且只做小仓位

3️⃣ 进出场(5min)

z = (spread_5m - mean_rolling) / std_rolling

if z > 2:
    short_spread()
elif z < -2:
    long_spread()

4️⃣ 协整失效处理(必须)

  • 每天 / 每 2 天
  • 重跑一次 4H 协整
  • 一旦失败:
    • 立刻禁止新开仓
    • 老仓只做被动平仓

五、一个“量化老手级”的判断标准

如果你的交易频率比协整检验频率高 1–2 个数量级,
那你做的是“结构 + 噪声”的分离,这是好设计。

你现在的设定是:

  • 4H 协整(结构)
  • 5min 交易(噪声)

👉 完全合理,甚至是教科书级的设计


六、一句话总结

5min 交易,完全可以、而且应该用 4H 做协整检验,
但必须:分层、滚动、不要混频率乱算 spread。

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