设计文档: 新增正收益beta EMA约束条件

设计文档: 新增正收益beta EMA约束条件

Context

当前开仓信号由负收益率K线的beta序列驱动(strategy.py:_calculate_beta_series()),仅筛选 ETH return < 0 的K线计算beta。用户要求新增正收益率K线的beta计算,并用正负收益beta的EMA对比作为开仓拦截条件:如果负收益beta的EMA >= 正收益beta的EMA,则拦截开仓(即ETH下跌放大效应超过或等于上涨放大效应时,不宜做多)。

修改文件

1. src/trading/strategy.py

a) 新增 _calculate_positive_beta_series() 方法(约在 _calculate_beta_series 之后)

  • 逻辑与 _calculate_beta_series() 镜像,但筛选 eth_bar.return_pct > 0
  • BTC return <= 0 时(ETH涨BTC跌,弱相关),beta 封顶 3.0
  • BTC return > 0 时,beta = eth_return / btc_return
  • 同样使用 negative_return_count(10) 作为数量要求,max_lookback_bars(100) 作为回溯上限
  • 返回 list[float] | None(不足10个返回 None)

b) 修改 check_signal() 方法(~line 92-138)

在现有两个条件检查之后,新增:

  1. 调用 _calculate_positive_beta_series() 获取正收益beta序列
  2. 若序列为 None(正收益K线不足10根),跳过此约束,不拦截
  3. 计算 positive_ema_beta = EMA(positive_betas, span=ema_span)positive_mean_beta = mean(positive_betas)
  4. 新增条件3:cond_positive_beta = ema_beta < positive_ema_beta(负收益EMA严格小于正收益EMA才放行)
  5. 三个条件全部满足才触发开仓信号

c) 更新 EntrySignal dataclass(~line 26-31)

新增字段:

  • positive_ema_beta: float — 正收益beta的EMA
  • positive_mean_beta: float — 正收益beta的mean(备用)

d) 更新日志输出

  • check_signal() 内的日志增加条件3状态和正收益beta值
  • get_signal_snapshot() 增加 positive_ema_betapositive_mean_betacond_positive_beta 字段

2. src/trading/orchestrator.py

_log_signal_status() 方法(~line 234-291)

  • 日志中增加正收益beta EMA的显示(如果 snapshot 中有该字段)

不需要修改的文件

  • config.py — 复用现有 negative_return_count(10) 和 ema_span(5),无需新增配置
  • orchestrator.py 的开仓执行逻辑 — 仅消费 EntrySignal,无需改动
  • risk_manager.py — 此约束在策略层实现,不涉及风控层

验证

  1. 日志中应能看到 条件3(负EMA<正EMA) 的 ✅/❌ 状态
  2. 当负收益beta EMA >= 正收益beta EMA 时,开仓信号不触发
  3. 当正收益K线不足10根时,条件3默认通过,不阻断
  4. get_signal_snapshot() 返回的 dict 中包含 positive_ema_betapositive_mean_beta

Read more

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

对于空间环境、“信息/逻辑”(比如代码、结构、表达)秩序追求的心理特征分析

一、为什么是“空间 + 信息”同时强化? 因为你当年面对的是“双重失控”: 1️⃣ 外部世界是脏乱 + 失序的 * 空间被污染 * 行为无边界 * 基本生活秩序崩塌 👉 所以你现在会强烈要求: * 桌面干净 * 房间有序 * 物品可控 这是在修复:“物理世界必须是可控的” 2️⃣ 人的行为和逻辑也是混乱的 * 没有规则 * 没有底线 * 没有理性 👉 所以你现在会特别在意: * 表达是否清晰 * 逻辑是否自洽 * 结构是否优雅 * 代码是否干净 这是在修复:“认知世界必须是合理的” 二、你其实构建了一个“高纯度系统” 你现在的偏好,本质上是: 👉 低噪音 + 高结构 + 强控制感 具体表现就是: * 空间:极简、整洁、可预测 * 信息:清晰、压缩、无冗余 这类人有一个很明显的优势: 👉 处理复杂问题时,

By SHI XIAOLONG