From ffd7bed387d764b8280475f38c65f093b224cccf Mon Sep 17 00:00:00 2001 From: dev-worker Date: Tue, 3 Mar 2026 05:32:44 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20=E8=A1=A5=E5=85=85V5.1/V5.2=E4=BF=A1?= =?UTF-8?q?=E5=8F=B7=E7=B3=BB=E7=BB=9F=E8=AF=A6=E7=BB=86=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - v51-signal-system.md: V5.1基础信号系统 - v51-signal-enhancement.md: V5.1增强方案 - v52-signal-system.md: V5.2信号系统 - v52-evolution-roadmap.md: V5.2进化路线图 - v52-development.md: V5.2开发文档(完整版) --- .../v51-signal-enhancement.md | 250 ++++++++++++ docs/arbitrage-engine/v51-signal-system.md | 130 ++++++ docs/arbitrage-engine/v52-development.md | 383 ++++++++++++++++++ .../arbitrage-engine/v52-evolution-roadmap.md | 269 ++++++++++++ docs/arbitrage-engine/v52-signal-system.md | 151 +++++++ 5 files changed, 1183 insertions(+) create mode 100644 docs/arbitrage-engine/v51-signal-enhancement.md create mode 100644 docs/arbitrage-engine/v51-signal-system.md create mode 100644 docs/arbitrage-engine/v52-development.md create mode 100644 docs/arbitrage-engine/v52-evolution-roadmap.md create mode 100644 docs/arbitrage-engine/v52-signal-system.md diff --git a/docs/arbitrage-engine/v51-signal-enhancement.md b/docs/arbitrage-engine/v51-signal-enhancement.md new file mode 100644 index 0000000..82319a6 --- /dev/null +++ b/docs/arbitrage-engine/v51-signal-enhancement.md @@ -0,0 +1,250 @@ +--- +title: V5.1 信号增强方案 +description: V5.1 信号评分体系 + 仓位管理 + TP/SL + 风控 + 回测框架 +--- + +# V5.1 信号增强方案 + +> 讨论参与:露露(Opus 4.6) + 小周(GPT-5.3-Codex) + 范总审核 +> 定稿时间:2026-02-28 + +## 1. 概述 + +V5.0 以 aggTrades 原始成交流为核心(CVD三轨 + ATR + VWAP + P95/P99大单),V5.1 在此基础上增加 4 个数据维度 + 完善交易管理系统。 + +**核心理念**:aggTrades 是我们的独特优势(别人没有原始成交流),新增数据源作为方向确认和风控补充,不替代 aggTrades 的核心地位。 + +## 2. 信号评分体系(100分制) + +### 2.1 权重分配 + +| 层级 | 数据源 | 权重 | 角色 | +|------|--------|------|------| +| **方向层** | aggTrades(CVD三轨 + P95/P99大单) | **45%** | 核心方向判断 | +| **拥挤层** | L/S Ratio + Top Trader Position | **20%** | 市场拥挤度 | +| **环境层** | Open Interest 变化 | **15%** | 资金活跃度/可交易性门槛 | +| **确认层** | 多时间框架一致性 | **15%** | 方向确认 | +| **辅助层** | Coinbase Premium | **5%** | 机构资金流向 | + +### 2.2 各层级详细计算 + +#### 方向层(45分) + +- **CVD_fast(30m滚动)方向**:与信号方向一致 +15 +- **CVD_mid(4h滚动)方向**:与信号方向一致 +15 +- **P95/P99 大单**:无反向 P99 大单 +10,有同向 P99 大单 +15 +- **CVD_fast 斜率加速**:斜率 > 阈值 +5(额外加分) + +#### 拥挤层(20分) + +- **L/S Ratio**: + - L/S > 2.0(做空信号)或 L/S < 0.5(做多信号):+10 + - L/S 1.5-2.0 / 0.5-0.67:+5 + - 中性区间:0 +- **Top Trader Position Ratio**: + - 大户方向与信号一致:+10 + - 大户方向中性:+5 + - 大户方向反向:0 + +#### 环境层(15分) + +- **OI 变化**(不判断方向,判断活跃度): + - OI 15分钟变化率 > 阈值(活跃):+15 + - OI 变化温和:+10 + - OI 萎缩(市场冷清):+5 + +#### 确认层(15分) + +- **多时间框架确认规则**: + - `1m` = 触发层(入场点) + - `5m/15m` = 方向确认层 + - `1h` = 风险闸门 +- **评分**: + - 5m AND 15m 同向:+15 + - 5m OR 15m 同向:+10 + - 无同向确认:+0 +- **1h 反向处理**:不在评分里扣分,而是在仓位管理里降仓(见 3.2) + +#### 辅助层(5分) + +- **Coinbase Premium**: + - Premium 方向与信号一致且 > 阈值:+5 + - 中性:+2 + - 反向:0 + +### 2.3 开仓门槛 + +| 总分 | 操作 | +|------|------| +| < 60 | **不开仓** | +| 60 - 74 | 轻仓(基础仓位 × 0.5) | +| 75 - 84 | 标准仓位 | +| ≥ 85 | 允许加仓(基础仓位 × 1.3) | + +## 3. 仓位管理 + +### 3.1 基础仓位 + +- **默认**:总资金的 10% +- **杠杆**:3X(可调) +- **单笔最大风险**:总资金的 2% + +### 3.2 1h 时间框架降仓规则 + +| 1h 状态 | 仓位调整 | +|---------|---------| +| 1h 同向 | 正常仓位 | +| 1h 弱反向 | 仓位 × 0.7 | +| 1h 强反向(CVD + 趋势都反) | 仓位 × 0.5,且仅允许 ≥85 分信号 | + +### 3.3 Funding Rate 偏置 + +- FR 不做触发因子,做"慢变量偏置" +- 计算 `FR z-score(7d)` + `FR 斜率(近3个结算点)` +- 映射为 `bias`(-1 ~ +1)叠加到总分 +- FR 极端且与信号方向冲突时:仅降仓,不反向开仓 + +## 4. TP/SL 管理(双ATR融合) + +### 4.1 ATR 计算 + +``` +risk_atr = 0.7 × ATR_5m + 0.3 × ATR_1h +``` + +- ATR_5m:5分钟K线,14周期 → 管入场灵敏度 +- ATR_1h:1小时K线,14周期 → 管极端波动保护 +- 好处:分钟级不钝化(靠5m),又不被短时噪音洗掉(靠1h兜底) + +### 4.2 止盈止损参数 + +| 参数 | 计算 | 说明 | +|------|------|------| +| **SL** | Entry ± 2.0 × risk_atr | 初始止损 | +| **TP1** | Entry ∓ 1.5 × risk_atr | 第一目标 | +| **TP2** | Entry ∓ 3.0 × risk_atr | 第二目标 | + +### 4.3 分批平仓逻辑 + +1. **TP1 触发**:平 50% 仓位,SL 移至成本价 + 手续费(Breakeven) +2. **TP2 触发**:平剩余 50%,信号标记 "tp" +3. **SL 触发(TP1 已达)**:标记 "sl_be"(保本止损,实际盈亏 ≈ +0.5R) +4. **SL 触发(TP1 未达)**:标记 "sl"(完整止损,亏损 -1.0R) + +### 4.4 期望值计算 + +假设 60% 胜率(TP1 命中率): +- 60% × 2.0R = +1.2R +- 40% × -1.0R = -0.4R +- **期望值 = +0.8R/笔** + +## 5. 风控系统 + +### 5.1 自适应冷却期 + +| 条件 | 冷却时间 | +|------|---------| +| 基础(同向信号开仓后) | 10 分钟 | +| 近 30min 同向连续 2 笔止损 | 升到 20 分钟 | +| 上一笔同向达到 TP1 | 缩短到 5 分钟 | +| 第 4 个同向信号 | 默认不开,除非上一笔已TP1 + 当前≥85分 + 1h不强反向 | + +- **反向信号**不受同向冷却限制,但需过最小反转阈值(防止来回翻单) + +### 5.2 清算瀑布检测 + +- **主通道(实时)**:aggTrades 异常成交密度 + 价格加速度 + 点差扩张 → 推断清算瀑布 +- **辅通道(校验)**:Binance `forceOrders` API → 事后校验和阈值再训练 +- 交易决策吃主通道,模型校准吃辅通道 + +### 5.3 盘口轻量监控(资源受限版) + +- 仅采集 Top-of-Book + 前5档聚合(每 100-250ms 采样) +- 保留 3 个指标:`microprice`、`imbalance`、`spread` +- 只存特征,不存全量快照 +- 后续评估是否升到10档 + +## 6. 数据源汇总 + +### 6.1 Binance 免费 API(V5.1 新增) + +| 数据 | 接口 | 更新频率 | +|------|------|---------| +| 多空比 | `GET /futures/data/globalLongShortAccountRatio` | 5min | +| 大户持仓比 | `GET /futures/data/topLongShortPositionRatio` | 5min | +| OI 历史 | `GET /futures/data/openInterestHist` | 5min | +| Funding Rate | `GET /fapi/v1/fundingRate` | 8h结算 | + +### 6.2 Coinbase Premium + +- 对比 Coinbase BTC/USD 与 Binance BTC/USDT 实时价差 +- 正 Premium = 机构买入(看多信号) +- 负 Premium = 机构卖出(看空信号) + +### 6.3 已有数据源(V5.0) + +| 数据 | 来源 | 存储 | +|------|------|------| +| aggTrades | Binance WebSocket 实时 + REST 回补 | PostgreSQL agg_trades 表 | +| CVD三轨 | signal_engine 内存计算 | signal_indicators 表 | +| ATR/VWAP | signal_engine 内存计算 | signal_indicators 表 | +| P95/P99大单 | signal_engine 24h滚动统计 | signal_indicators 表 | +| Funding Rate | agg_trades_collector 定时采集 | rate_snapshots 表 | + +## 7. 回测框架 + +### 7.1 架构:逐tick事件回放 + +**不用逐分钟K线回测**(会系统性高估策略),用 aggTrades 逐tick回放。 + +### 7.2 三层数据结构 + +``` +FeatureStore +├── 按时间索引缓存 1m/5m/15m/1h 特征 +├── CVD, L/S, OI, FR bias, 盘口因子 +└── 滚动窗口自动过期 + +SignalEvent +├── ts, symbol, side, score, regime +├── factors (各层评分明细) +└── entry_rule_id + +PositionState +├── entry_ts, entry_px, size +├── sl_px, tp1_px, tp2_px +├── status (active/tp1_hit/tp/sl/sl_be) +└── cooldown_until +``` + +### 7.3 撮合逻辑 + +1. 每个 tick 到来 → 先更新未平仓位(检查 TP/SL/时间止损) +2. 再评估新信号(检查冷却期、评分、仓位规则) +3. 输出交易记录 + +### 7.4 统计输出 + +- 胜率 (Win Rate) +- 总盈亏 (Total PnL in R) +- 盈亏比 (Profit Factor) +- 夏普比率 (Sharpe Ratio) +- 最大回撤 (MDD) +- 平均持仓时间 (Avg Hold) +- 滑点影响评估 (Slippage Impact) + +## 8. 远期规划 + +### V5.2(远期备选) + +- **Twitter 新闻情绪面**:监控关键账号,AI分析利好/利空 +- **范总判断**:新闻最终反映在 aggTrades 里,信号跑通后不急 + +### V5.3(数据充足后) + +- ML模型替换规则引擎(XGBoost/LightGBM集成) +- 需要足够回测数据训练 + +--- + +*文档版本:V5.1-draft | 待范总最终确认* diff --git a/docs/arbitrage-engine/v51-signal-system.md b/docs/arbitrage-engine/v51-signal-system.md new file mode 100644 index 0000000..eae337d --- /dev/null +++ b/docs/arbitrage-engine/v51-signal-system.md @@ -0,0 +1,130 @@ +--- +title: V5.1 信号系统文档 +--- + +# V5.1 基线信号系统(v51_baseline) + +## 概述 + +V5.1 是基于市场微观结构的短线交易信号系统,使用 5 层 100 分评分体系,通过 CVD(累积成交量差)、大单流、持仓结构等 6 个信号源综合判断交易方向和强度。 + +## 评分体系(5层100分) + +| 层级 | 权重 | 信号源 | 逻辑 | +|------|------|--------|------| +| 方向层 | 45分 | CVD_fast(30m) + CVD_mid(4h) + P99大单 + 加速度 | 三票共振定方向 | +| 拥挤层 | 20分 | 多空比 + 大户持仓 | 反向拥挤 = 机会 | +| 环境层 | 15分 | OI变化率 | 资金流入确认趋势 | +| 确认层 | 15分 | CVD_fast + CVD_mid 同向 | 双周期共振确认 | +| 辅助层 | 5分 | Coinbase Premium | 美国机构动向 | + +### 方向层详解(45分 + 5分加速奖金) + +信号方向由 CVD_fast 和 CVD_mid 综合判断: + +``` +CVD_fast > 0 且 CVD_mid > 0 → LONG +CVD_fast < 0 且 CVD_mid < 0 → SHORT +不一致 → 以 CVD_fast 方向为准,但标记 no_direction +``` + +评分项: +- CVD_fast 方向一致:+15 +- CVD_mid 方向一致:+15 +- P99 大单顺向流入:+15(无反向大单时+10) +- 加速度奖金:CVD_fast 加速度方向一致 → +5(可超过45) + +### 拥挤层详解(20分) + +| 子项 | 满分 | 逻辑 | +|------|------|------| +| 多空比(LSR) | 10分 | 做空+LSR>2.0=满分,做多+LSR<0.5=满分 | +| 大户持仓比 | 10分 | 做多+多头占比≥55%=满分 | + +数据缺失时给中间分(5分),避免因采集失败误杀信号。 + +### 环境层详解(15分) + +基于 OI(持仓量)变化率评分: +- OI 显著增长 → 趋势确认 → 满分 +- OI 变化不大 → 中等分 +- OI 下降 → 低分 + +### 确认层详解(15分) + +CVD_fast 和 CVD_mid 同时为正(LONG)或同时为负(SHORT)→ 15分,否则 0分。 + +> **已知问题**:与方向层存在同源重复(两者都用 CVD_fast/CVD_mid)。两周后根据数据评估是否重构。 + +### 辅助层详解(5分) + +Coinbase Premium = Coinbase 价格 vs Binance 价格差。 +- 正溢价 + 做多 → 5分(美国机构买入) +- 负溢价 + 做空 → 5分 +- 溢价绝对值 ≤ 0.05% → 2分(中性) +- 反向溢价 → 0分 + +## 开仓规则 + +| 档位 | 分数 | 行为 | +|------|------|------| +| 不开仓 | < 75 | 不触发 | +| 标准 | 75-84 | 正常开仓 | +| 加仓 | ≥ 85 | 加重仓位 | + +- **冷却期**:同币种同策略 10 分钟 +- **最大持仓**:4 笔/策略 +- **反向翻转**:收到反向 ≥75 分信号 → 平旧仓 + 开新仓 + +## TP/SL 设置 + +| 参数 | 值 | 说明 | +|------|------|------| +| SL | 2.0 × ATR | 止损 | +| TP1 | 1.5 × ATR | 第一止盈(平50%仓位) | +| TP2 | 3.0 × ATR | 第二止盈(平剩余仓位) | + +TP1命中后 SL 移到保本价(Break Even)。 + +## 信号源 + +| 信号 | 数据源 | 更新频率 | +|------|--------|----------| +| CVD_fast | aggTrades 30分钟窗口 | 15秒 | +| CVD_mid | aggTrades 4小时窗口 | 15秒 | +| P99 大单 | aggTrades P99分位数 | 实时 | +| 加速度 | CVD_fast 二阶导数 | 15秒 | +| 多空比/大户持仓 | Binance API | 5分钟 | +| OI | Binance API | 5分钟 | +| Coinbase Premium | 计算值 | 5分钟 | + +## 策略配置 + +```json +{ + "name": "v51_baseline", + "version": "5.1", + "threshold": 75, + "weights": { + "direction": 45, + "crowding": 20, + "environment": 15, + "confirmation": 15, + "auxiliary": 5 + }, + "accel_bonus": 5, + "tp_sl": { + "sl_multiplier": 2.0, + "tp1_multiplier": 1.5, + "tp2_multiplier": 3.0 + }, + "signals": ["cvd", "p99", "accel", "ls_ratio", "oi", "coinbase_premium"] +} +``` + +## 历史表现(修正后数据,截至 2026-03-02) + +- 总交易:282+ 笔 +- 胜率:~65% +- 盈亏比:~0.72 +- 按档位:85+ 胜率73.6%,75-79 胜率78%(最佳档位) diff --git a/docs/arbitrage-engine/v52-development.md b/docs/arbitrage-engine/v52-development.md new file mode 100644 index 0000000..96ce5b0 --- /dev/null +++ b/docs/arbitrage-engine/v52-development.md @@ -0,0 +1,383 @@ +--- +title: V5.2 开发文档(完整版) +description: 套利引擎V5.2 — Bug修复 + 策略优化 + 8信号源 + 策略配置化 + AB测试 +--- + +# V5.2 开发文档(完整版) + +> **版本**:V5.2 | **状态**:待开发 | **负责人**:露露 +> **创建**:2026-03-01 | **前置**:V5.1 tag `v5.1` commit `d8ad879` +> **V5.1-hotfix**:commits `45bad25` → `4b841bc`(P0修复已上线) + +--- + +## 一、V5.1 现状总结 + +### 模拟盘数据(截至2026-03-01) + +| 指标 | 数值 | +|------|------| +| 总交易 | 181笔 | +| 总盈亏 | +37.07R | +| 每笔平均 | +0.20R | +| 初始资金 | $10,000 | +| 当前余额 | ~$17,414 | + +### 按档位统计(关键数据) + +| 档位 | 笔数 | 胜率 | 总PnL | 每笔平均 | 结论 | +|------|------|------|-------|---------|------| +| **85+ (heavy)** | 53 | 73.6% | +15.00R | +0.28R | ✅ 优质 | +| **80-84** | 81 | 65.4% | +4.11R | +0.05R | ⚠️ 平庸 | +| **75-79** | 41 | 78.0% | +17.05R | +0.42R | ✅ 最佳 | +| **70-74** | 6 | 50.0% | -2.65R | -0.44R | ❌ 亏钱 | + +### 手续费分析(核心发现) + +| 币种 | SL距离% | 仓位价值 | 隐含杠杆 | 手续费/R | +|------|---------|---------|---------|---------| +| BTC | 0.43% | $46,000 | 4.6x | 0.23R | +| ETH | 0.56% | $36,000 | 3.6x | 0.18R | +| XRP | 0.44% | $45,000 | 4.5x | 0.05R | +| SOL | 0.58% | $34,000 | 3.4x | 0.04R | + +**手续费公式**:`fee_R = 2 × 0.05% × position_value / risk_usd` + +**BTC盈亏比问题**:TP2净利+0.89R vs SL净亏-1.23R,盈亏比仅0.72,需55%以上胜率才保本。 + +### V5.1已修复的P0 Bug(hotfix已上线) + +| Bug | 影响 | 修复Commit | +|-----|------|-----------| +| pnl_r虚高2倍 | 统计数据全部失真 | `45bad25` | +| 冷却期阻断反向平仓 | 反向信号无法关仓 | `45bad25` | +| 分区月份Bug | 月底数据写入失败 | `45bad25` | +| SL/TP用市价不是限价 | SL超过1R | `2f9dce4` | +| 浮盈没算半仓 | 持仓盈亏虚高 | `4b841bc` | + +--- + +## 二、V5.2 目标 + +### 核心目标 +1. **修复所有已知Bug**(Claude Code审阅 + 实际使用发现的) +2. **FR+清算加入评分**(8信号源完整版) +3. **开仓阈值提到75分**(砍掉70-74垃圾信号) +4. **策略配置化框架**(一套代码多份配置) +5. **AB测试**(V5.1 vs V5.2并行对比) +6. **24小时warmup**(消除冷启动) + +### 设计原则 +- **55%胜率必须盈利**:盈亏比至少0.82:1 +- **无限趋近实盘**:模拟盘和实盘逻辑完全一致 +- **数据驱动**:所有决策基于数据,不拍脑袋 + +--- + +## 三、Bug修复清单 + +### 后端(15项) + +| ID | 优先级 | 文件 | 问题 | 修复方案 | +|----|--------|------|------|---------| +| P0-3 | **P1** | signal_engine.py:285 | 开仓价用30分VWAP而非实时价 | `price = win_fast.trades[-1][2]` | +| P0-4 | P2 | signal_engine+paper_monitor | 双进程并发写paper_trades | `SELECT FOR UPDATE SKIP LOCKED` | +| P1-2 | P2 | signal_engine.py:143-162 | 浮点精度漂移(buy_vol/sell_vol) | 每10000次trim从deque重算sums | +| P1-3 | **P1** | market_data_collector.py:51 | 单连接无重连 | 改用`db.get_sync_conn()`连接池 | +| P1-4 | P3 | db.py:36-43 | 连接池初始化线程不安全 | `threading.Lock`双重检查 | +| P2-1 | P2 | market_data_collector.py:112 | XRP/SOL coinbase_premium KeyError | `if symbol not in pair_map: return` | +| P2-3 | P2 | agg_trades_collector.py:77 | flush_buffer每秒调ensure_partitions | 移到定时任务(每小时一次) | +| P2-4 | P3 | liquidation_collector.py:127 | elif条件冗余 | 改为`else` | +| P2-5 | P2 | signal_engine.py:209 | atr_percentile @property有写副作用 | 拆成`update_atr_history()`方法 | +| P2-6 | P2 | main.py:554 | 1R=$200硬编码 | 从paper_config.json动态读取 | +| P3-1 | P2 | auth.py:15 | JWT密钥硬编码默认值 | 启动时强制校验`JWT_SECRET`环境变量 | +| P3-2 | P3 | main.py:17 | CORS allow_origins=["*"] | 限制为`https://arb.zhouyangclaw.com` | +| P3-3 | P3 | auth.py:316 | refresh token刷新非原子 | `UPDATE...WHERE revoked=0 RETURNING` | +| P3-4 | P3 | auth.py:292 | 登录无频率限制 | slowapi或Redis计数器 | +| NEW-1 | **P1** | signal_engine.py:664 | 冷启动warmup只有4小时 | 分批加载24小时,加载完再出信号 | + +### 前端(12项) + +| ID | 优先级 | 文件 | 问题 | 修复方案 | +|----|--------|------|------|---------| +| FE-P1-1 | **P1** | lib/auth.tsx:113 | 并发401多次refresh竞态 | 单例Promise + `_refreshPromise` | +| FE-P1-2 | **P1** | lib/auth.tsx:127 | 刷新失败AuthContext未同步 | `window.dispatchEvent("auth:session-expired")` | +| FE-P1-3 | **P1** | 所有页面 | catch{}静默吞掉API错误 | 每个组件加`error` state + 红色提示 | +| FE-P1-4 | P2 | paper/page.tsx:119 | LatestSignals串行4请求 | `Promise.allSettled`并行 | +| FE-P2-1 | P3 | app/page.tsx:52 | MiniKChart每30秒销毁重建 | 只更新data不重建chart | +| FE-P2-3 | P2 | paper/page.tsx:20 | ControlPanel非admin可见 | 校验`isAdmin`,非admin隐藏 | +| FE-P2-4 | **P1** | paper/page.tsx:181 | WebSocket无断线重连 | 指数退避重连 + 断线提示 | +| FE-P2-5 | P2 | paper/page.tsx:217 | 1R=$200前端硬编码 | 从`/api/paper/config`读取 | +| FE-P2-6 | P2 | signals/page.tsx:101 | 5秒轮询5分钟数据 | 改为300秒间隔 | +| FE-P2-8 | P3 | paper/signals | 大量`any`类型 | 定义TypeScript interface | +| FE-P3-1 | P3 | lib/auth.tsx:33 | Token存localStorage | 评估httpOnly cookie方案 | +| FE-P3-3 | P3 | app/page.tsx:144 | Promise.all任一失败全丢 | 改`Promise.allSettled` | + +--- + +## 四、新功能:8信号源评分 + +### 当前6信号源 → V5.2增加2个 + +| # | 信号源 | 层级 | 当前 | V5.2 | +|---|--------|------|------|------| +| 1 | CVD三轨(fast/mid) | 方向层 | ✅ 评分中 | 保持 | +| 2 | P99大单流 | 方向层 | ✅ 评分中 | 保持 | +| 3 | CVD加速度 | 方向层 | ✅ 评分中 | 保持 | +| 4 | 多空比+大户持仓比 | 拥挤层 | ✅ 评分中 | 保持 | +| 5 | OI变化率 | 环境层 | ✅ 评分中 | 保持 | +| 6 | Coinbase Premium | 辅助层 | ✅ 评分中 | 保持 | +| **7** | **资金费率(FR)** | **拥挤层** | ⬜ 仅采集 | **✅ 加入评分** | +| **8** | **清算数据** | **确认层** | ⬜ 仅采集 | **✅ 加入评分** | + +### FR评分逻辑(草案) + +```python +# 资金费率 → 拥挤层加分 +# FR > 0.03% = 多头过度拥挤 → SHORT加分 +# FR < -0.03% = 空头过度拥挤 → LONG加分 +# |FR| > 0.1% = 极端值 → 反向强信号 + +funding_rate = self.market_indicators.get("funding_rate") +if funding_rate is not None: + if direction == "LONG" and funding_rate < -0.0003: + fr_score = 5 # 空头拥挤,做多有利 + elif direction == "SHORT" and funding_rate > 0.0003: + fr_score = 5 # 多头拥挤,做空有利 + elif direction == "LONG" and funding_rate > 0.001: + fr_score = -5 # 多头极度拥挤,做多危险(减分) + elif direction == "SHORT" and funding_rate < -0.001: + fr_score = -5 # 空头极度拥挤,做空危险 + else: + fr_score = 0 +``` + +### 清算数据评分逻辑(草案) + +```python +# 大额清算 → 确认层加分 +# 大额空单清算 = 空头被清洗 → SHORT可能结束,LONG加分 +# 大额多单清算 = 多头被清洗 → LONG可能结束,SHORT加分 +# 5分钟内清算量 > 阈值 = 趋势加速信号 + +liq_long = self.market_indicators.get("long_liq_usd", 0) +liq_short = self.market_indicators.get("short_liq_usd", 0) +if direction == "LONG" and liq_short > 500000: + liq_score = 5 # 大量空单被清算,趋势确认 +elif direction == "SHORT" and liq_long > 500000: + liq_score = 5 +else: + liq_score = 0 +``` + +### V5.2权重分配(草案) + +| 层级 | V5.1权重 | V5.2权重 | 变化 | +|------|---------|---------|------| +| 方向层 | 45+5 | 40+5 | -5 | +| 拥挤层 | 20 | 25(+FR 5分) | +5 | +| 环境层 | 15 | 15 | 不变 | +| 确认层 | 15 | 20(+清算 5分) | +5 | +| 辅助层 | 5 | 5 | 不变 | +| **总计** | **100+5** | **105+5** | +5 | + +> 注:总分超过100不影响,阈值按绝对分数判断(75/80/85) + +--- + +## 五、策略调整 + +### 开仓阈值调整 + +| | V5.1 | V5.2 | 原因 | +|---|------|------|------| +| 最低开仓分 | 60分 | **75分** | 70-74档位50%胜率,扣手续费亏钱 | +| light档 | 60-74 | **取消** | 数据证明低分信号无价值 | +| standard档 | 75-84 | 75-84 | 保持 | +| heavy档 | 85+ | 85+ | 保持 | + +### TP/SL倍数(待AB测试确认) + +| 参数 | V5.1(方案A) | V5.2候选(方案B) | +|------|-------------|-----------------| +| SL | 2.0 × risk_atr | 3.0 × risk_atr | +| TP1 | 1.5 × risk_atr | 2.0 × risk_atr | +| TP2 | 3.0 × risk_atr | 4.0 × risk_atr | +| BTC手续费占比 | 0.23R | 0.15R | +| TP2净利 | +0.89R | +0.97R | +| SL净亏 | -1.23R | -1.15R | +| 盈亏比 | 0.72 | 0.84 | +| 保本胜率 | 58% | 54% | + +--- + +## 六、策略配置化框架 + +### 设计目标 +一个signal-engine进程,支持多套策略配置并行。 + +### 配置文件结构 +```json +// strategies/v51.json +{ + "name": "v51_baseline", + "threshold": 75, + "weights": { + "direction": 45, + "crowding": 20, + "environment": 15, + "confirmation": 15, + "auxiliary": 5 + }, + "tp_sl": { + "sl_multiplier": 2.0, + "tp1_multiplier": 1.5, + "tp2_multiplier": 3.0 + }, + "signals": ["cvd", "p99", "accel", "ls_ratio", "oi", "coinbase_premium"] +} + +// strategies/v52.json +{ + "name": "v52_8signals", + "threshold": 75, + "weights": { + "direction": 40, + "crowding": 25, + "environment": 15, + "confirmation": 20, + "auxiliary": 5 + }, + "tp_sl": { + "sl_multiplier": 3.0, + "tp1_multiplier": 2.0, + "tp2_multiplier": 4.0 + }, + "signals": ["cvd", "p99", "accel", "ls_ratio", "oi", "coinbase_premium", "funding_rate", "liquidation"] +} +``` + +### paper_trades表新增字段 +```sql +ALTER TABLE paper_trades ADD COLUMN strategy VARCHAR(32) DEFAULT 'v51_baseline'; +``` + +--- + +## 七、AB测试方案 + +### 架构 +``` +signal_engine.py + ├── evaluate_signal(state, strategy="v51") → score_A, signal_A + ├── evaluate_signal(state, strategy="v52") → score_B, signal_B + │ + ├── paper_open_trade(strategy="v51", ...) → paper_trades.strategy='v51' + └── paper_open_trade(strategy="v52", ...) → paper_trades.strategy='v52' +``` + +### 独立资金池 +- V5.1:$10,000虚拟资金,独立统计 +- V5.2:$10,000虚拟资金,独立统计 + +### 对比指标 +| 指标 | V5.1 | V5.2 | +|------|------|------| +| 总笔数 | ? | ? | +| 胜率 | ? | ? | +| 每笔平均R | ? | ? | +| 最大回撤 | ? | ? | +| 盈亏比 | ? | ? | +| PF | ? | ? | + +### 测试周期 +- **两周**(目标每策略100+笔) +- 结束后选表现更好的上实盘 + +--- + +## 八、24小时Warmup + +### 当前问题 +signal-engine启动时只加载4小时数据,P99大单需要24小时窗口。 + +### 方案(范总确认) +```python +def main(): + states = {sym: SymbolState(sym) for sym in SYMBOLS} + + # 分批加载24小时(每批100万条,避免OOM) + for sym, state in states.items(): + load_historical_chunked(state, 24 * 3600 * 1000) + logger.info(f"[{sym}] warmup complete") + + logger.info("=== 全部币种warmup完成,开始出信号 ===") + # 这之后才开始评估循环 +``` + +### 预估 +- 4币种24小时约2000-3000万条 +- 加载时间1-3分钟 +- 启动后信号质量从第一笔就是100% + +--- + +## 九、V5.1-hotfix已修复清单(参考) + +| Commit | 内容 | +|--------|------| +| `45bad25` | P0-1: 反向信号绕过冷却 | +| `45bad25` | P0-2: pnl_r统一(exit-entry)/risk_distance | +| `45bad25` | P1-1: 分区月份+UTC修复 | +| `2f9dce4` | TP/SL改限价单模式(趋近实盘) | +| `4b841bc` | 前端浮盈半仓计算 | +| `d351949` | 历史pnl_r修正脚本 | +| `8b73500` | Auth从SQLite迁移PG | +| `9528d69` | recent_large_trades去重 | + +--- + +## 十、开发排期(草案) + +| 阶段 | 时间 | 内容 | 产出 | +|------|------|------|------| +| Phase 1 | Day 1-2 | Bug修复(P1全部 + P2重要的) | 代码+测试 | +| Phase 2 | Day 2-3 | FR+清算评分逻辑 | signal_engine.py | +| Phase 3 | Day 3-4 | 策略配置化框架 | strategies/*.json + 代码 | +| Phase 4 | Day 4-5 | AB测试机制 | paper_trades.strategy字段 | +| Phase 5 | Day 5 | 24h warmup | signal_engine.py | +| Phase 6 | Day 6-7 | 前端Bug修复 + 策略对比页面 | 前端代码 | +| **部署** | Day 7 | 全部写好测好,一次性部署 | 减少重启 | + +--- + +## 十一、数据需求 + +### 当前数据量 +- aggTrades:7039万条(BTC 23天 + ETH 3天 + XRP/SOL 3天) +- signal_indicators:2.7万+条 +- paper_trades:181笔 +- market_indicators:5400+条 +- liquidations:3600+条 + +### V5.2需要的数据量 +- **AB测试**:每策略至少100笔 → 两周 +- **权重优化(Phase 1统计分析)**:300+笔 +- **回归分析**:500+笔 +- **ML优化**:1000+笔 + +--- + +## 十二、风险与注意事项 + +1. **手续费是盈亏关键** — BTC手续费0.23R/笔,必须控制交易频率 +2. **样本量不足** — 当前181笔,按分数段分析可能不稳定 +3. **过拟合风险** — 两周一次微调,每次±10-20%,不做大改 +4. **AB测试期间** — 两套策略共享最大持仓4个,需要分配 +5. **24h warmup** — 启动时间变长,需要告知运维(小周) +6. **策略配置化** — 改动signal_engine核心代码,必须充分测试 + +--- + +*本文档为V5.2开发的完整参考,开发过程中持续更新。* +*商业机密:策略细节不对外暴露。* diff --git a/docs/arbitrage-engine/v52-evolution-roadmap.md b/docs/arbitrage-engine/v52-evolution-roadmap.md new file mode 100644 index 0000000..5c43977 --- /dev/null +++ b/docs/arbitrage-engine/v52-evolution-roadmap.md @@ -0,0 +1,269 @@ +--- +title: V5.2 策略进化路线图 +description: 信号引擎V5.2 — 数据驱动的策略迭代框架,将信号源视为特征、权重视为模型参数,通过模拟盘持续优化 +--- + +# V5.2 策略进化路线图 + +> **优先级:P0(最高)** | 负责人:露露 | 创建:2026-02-28 + +--- + +## 一、核心思路 ⭐⭐⭐ + +### 信号源 = 特征(Feature) + +每一个数据源都是模型的一个**输入特征**。特征越多、越有效,模型的预测能力越强。 + +当前V5.1的5层评分体系,本质上就是一个**手动设计的线性模型**: + +``` +总分 = W1×方向层 + W2×拥挤层 + W3×环境层 + W4×确认层 + W5×辅助层 +``` + +### 权重 = 模型参数(Parameter) + +当前权重是人工拍的(45/20/15/15/5),不一定是最优的。 + +**目标**:用真实交易数据(模拟盘+实盘),自动学习每个特征的最优权重。 + +### 迭代循环(正向飞轮) + +``` +┌─────────────────────────────────────────────┐ +│ │ +│ ① 加入新信号源(特征) │ +│ ↓ │ +│ ② 模拟盘跑数据(每笔记录5层分数+盈亏) │ +│ ↓ │ +│ ③ 分析数据(哪些特征有效、最优权重) │ +│ ↓ │ +│ ④ 调整权重 / 加减特征 │ +│ ↓ │ +│ ⑤ 实盘验证 │ +│ ↓ │ +│ ⑥ 数据反馈 → 回到① │ +│ │ +│ 数据越多 → 模型越准 → 赚越多 → 数据越多 │ +│ │ +└─────────────────────────────────────────────┘ +``` + +这就是量化交易的**核心方法论**,和大模型训练思路一样: +- 大模型:数据 → 特征提取 → 权重训练 → 验证 → 迭代 +- 信号引擎:行情数据 → 信号源/指标 → 评分权重 → 模拟盘验证 → 调参迭代 + +**护城河**:积累的数据和调优后的参数,是别人无法复制的。 + +--- + +## 二、当前架构(V5.1) + +### 已有信号源(特征) + +| 层 | 权重 | 信号源 | 数据来源 | 状态 | +|----|------|--------|---------|------| +| 方向层 | 45分 | CVD_fast(30m) | agg_trades计算 | ✅ 真实数据 | +| 方向层 | - | CVD_mid(4h) | agg_trades计算 | ✅ 真实数据 | +| 方向层 | - | P99大单流 | agg_trades计算 | ✅ 真实数据 | +| 方向层 | +5 | CVD加速度 | agg_trades计算 | ✅ 真实数据 | +| 拥挤层 | 20分 | 多空比 | 币安API globalLongShortAccountRatio | ✅ 真实数据 | +| 拥挤层 | - | 大户持仓比 | 币安API topLongShortAccountRatio | ✅ 真实数据 | +| 环境层 | 15分 | OI变化率 | 币安API openInterestHist | ✅ 真实数据 | +| 确认层 | 15分 | 多时间框架CVD一致性 | agg_trades计算 | ✅ 真实数据 | +| 辅助层 | 5分 | Coinbase Premium | 币安+CB价差 | ✅ 真实数据 | + +### 每笔交易记录的数据 + +```json +{ + "score": 85, + "score_factors": { + "direction": {"score": 45, "cvd_fast": 15, "cvd_mid": 15, "p99_flow": 15, "accel_bonus": 5}, + "crowding": {"score": 15, "long_short_ratio": 10, "top_trader_position": 5}, + "environment": {"score": 10, "open_interest_hist": 0.02}, + "confirmation": {"score": 15}, + "auxiliary": {"score": 5, "coinbase_premium": 0.0012} + }, + "pnl_r": 2.25, + "status": "tp" +} +``` + +--- + +## 三、V5.2 待加入信号源(按优先级) + +### 第一批(数据容易获取) + +| 信号源 | 类型 | 获取方式 | 预期价值 | +|--------|------|---------|---------| +| 资金费率(Funding Rate) | 拥挤指标 | 币安API /fapi/v1/fundingRate | 高 — 极端FR是反转信号 | +| 清算数据(Liquidation) | 情绪指标 | 币安WS forceOrder | 高 — 大额清算=趋势加速 | +| 期权PCR(Put/Call Ratio) | 情绪指标 | Deribit API | 中 — 机构对冲意愿 | +| 波动率指数(DVOL) | 环境指标 | Deribit API | 中 — 波动率扩张/收缩 | + +### 第二批(需要爬取/计算) + +| 信号源 | 类型 | 获取方式 | 预期价值 | +|--------|------|---------|---------| +| Twitter/X情绪 | 情绪指标 | Agent-Reach xsearch | 中 — 散户情绪反指标 | +| 恐贪指数 | 情绪指标 | alternative.me API | 低 — 日级更新太慢 | +| 链上大额转账 | 鲸鱼行为 | Etherscan/Blockchain API | 中 — 鲸鱼动向 | +| 交易所净流入 | 资金流 | CryptoQuant/Glassnode | 高 — 抛压预警 | + +### 第三批(高级) + +| 信号源 | 类型 | 获取方式 | 预期价值 | +|--------|------|---------|---------| +| 订单簿深度不对称 | 微观结构 | 币安WS depth | 中 — 支撑/阻力判断 | +| 跨交易所价差 | 套利信号 | 多交易所API | 低 — 实现复杂 | +| 新闻事件检测 | 事件驱动 | LLM分析 | 中 — 黑天鹅预警 | + +--- + +## 四、权重优化方法(数据足够后实施) + +### Phase 1:统计分析(200+笔交易后) + +```python +# 按各层分数分桶,看胜率 +# 例如:方向层>=40分时胜率65%,<30分时胜率45% +# → 说明方向层有效,保持高权重 + +# 按拥挤层分桶 +# 例如:拥挤层>=15分时胜率60%,<10分时胜率58% +# → 说明拥挤层区分度低,可以降权重 +``` + +### Phase 2:回归分析(500+笔交易后) + +```python +# 逻辑回归:各层分数 → 是否盈利 +# 输出:每个特征的系数 = 最优权重 +from sklearn.linear_model import LogisticRegression +model = LogisticRegression() +model.fit(X_factors, y_win) # X=5层分数, y=盈利/亏损 +optimal_weights = model.coef_ +``` + +### Phase 3:机器学习(1000+笔交易后) + +```python +# XGBoost/随机森林:自动发现非线性关系 +# 例如:方向层高+拥挤层低 = 最佳组合(简单线性模型发现不了) +from xgboost import XGBClassifier +model = XGBClassifier() +model.fit(X_factors, y_win) +# 特征重要性排序 → 指导信号源增减 +``` + +--- + +## 五、2026-02-28 开发记录 + +### V5.1完善 +- **5层评分真实数据修复**:signal_engine之前没正确解析market_indicators的JSONB,拥挤/环境/辅助层全是默认中间分。修了fetch_market_indicators正确解析JSONB → commit `317031a` +- **前端UI全面压缩**:标题改"⚡ 信号引擎 V5.1",所有面板字体/间距/padding缩小 → commits `9382d35`, `271658c` + +### 模拟盘上线(Paper Trading) +- **paper_trades表** + signal_engine集成 + 5个API → commit `e054db1` +- **开关机制**:默认关闭,前端按钮控制,API热更新 → commit `282aed1` +- **手续费**:Taker 0.05%×2=0.1%来回 → commit `47004ec` +- **反向信号翻转**:持多仓来空信号→先平后开 → commit `6681070` +- **WebSocket实时TP/SL**:独立paper_monitor.py进程,毫秒级平仓 → commit `7b901a2` +- **前端aggTrade实时价格**:逐笔成交推送 → commit `1d23042` +- **当前资金显示** → commit `d0e626a` +- **冷启动保护**:重启后跳过前3轮防重复开仓 → commit `95b45d0` +- **5层评分明细记录**:score_factors JSONB字段 → commit `022ead6` + +### Bug修复 +- arb-api缩进错误 → commit `cd17c76` +- Request未导入 → commit `b232270` +- useAuth登录检测 → commit `59910fe` +- 现价不准改币安API → commit `d177d28` +- 最新信号symbol参数修复 → commit `404cc68` +- 资金字体超框 → commit `95fec35` +- gitignore __pycache__ → commit `961cbc6` + +--- + +## 六、下一步行动 + +| 阶段 | 时间 | 内容 | +|------|------|------| +| 现在 | 2026-02-28 ~ 03-14 | 模拟盘跑两周,积累200-300笔交易数据 | +| Phase 1 | 03-14 | 统计分析各层贡献,初步调权重 | +| Phase 2 | 03-21 | 加入资金费率+清算数据(第一批新信号源) | +| Phase 3 | 04-01 | 回归分析自动优化权重 | +| Phase 4 | 04-15 | 小仓实盘验证 | +| 持续 | 长期 | 不断加入新信号源,数据驱动迭代 | + +--- + +## 七、行业竞品与信号源调研(2026-02-28) + +### 与我们思路相似的项目 + +#### 1. Hyper-Alpha-Arena(GitHub开源)— 相似度85% +- **地址**:https://github.com/HammerGPT/Hyper-Alpha-Arena +- **核心**:监控Order Flow + OI变化 + Funding Rate极端值,触发自动交易 +- 支持币安合约+Hyperliquid,用LLM(GPT-5/Claude/DeepSeek)做策略决策 +- **区别**:他们用LLM自然语言描述策略做决策,我们用评分模型 +- **我们的优势**:5层评分+权重训练更可量化、可回测、可优化 + +#### 2. FinRL-AlphaSeek(哥伦比亚大学,ACM竞赛)— 相似度80% +- **地址**:https://github.com/Open-Finance-Lab/FinRL_Contest_2025 +- **论文**:https://arxiv.org/html/2504.02281v4 +- **核心**:因子挖掘(Factor Mining) + 集成学习(Ensemble Learning) +- 两阶段:① 特征工程+因子选择 ② 多模型集成 +- **映射关系**:他们的"因子"=我们的"信号源",他们的"集成权重"=我们的"评分权重" +- **区别**:他们用强化学习(RL)训练Agent,我们用统计回归优化权重 +- **可借鉴**:遗传算法优化权重(比逻辑回归更强) + +#### 3. ACM论文:ML驱动多因子量化模型(ETH市场)— 相似度75% +- **地址**:https://dl.acm.org/doi/10.1145/3766918.3766922 +- **核心**:把交易因子分三类 — 传统技术因子 + 链上因子 + ML生成因子 +- 用IC值(信息系数)衡量每个因子的预测力 +- 用**遗传算法**自动优化因子权重 +- 信号用Z-score阈值触发(>1买入,<-1卖出) +- **启发**:我们也可以用IC值来量化每个信号源的贡献 + +#### 4. CoinGlass CDRI(衍生品风险指数)— 相似度70% +- **地址**:https://www.coinglass.com/pro/i/CDRI +- **核心**:综合OI/FR/清算/CVD等多指标打分,评分>80或<20触发信号 +- **区别**:他们只做风险预警展示,不做自动交易 + +### 行业信号源使用频率排名 + +| 排名 | 信号源 | 行业使用频率 | 我们状态 | 数据源 | 获取难度 | +|------|--------|------------|---------|--------|---------| +| 1 | CVD/Order Flow | ⭐⭐⭐⭐⭐ | ✅ 已有 | agg_trades | - | +| 2 | Open Interest | ⭐⭐⭐⭐⭐ | ✅ 已有 | 币安API | - | +| 3 | Funding Rate | ⭐⭐⭐⭐⭐ | ⬜ 待加 | 币安API(免费) | ⭐ | +| 4 | 清算数据 | ⭐⭐⭐⭐ | ⬜ 待加 | 币安WS forceOrder | ⭐⭐ | +| 5 | 多空比 | ⭐⭐⭐⭐ | ✅ 已有 | 币安API | - | +| 6 | 链上净流入/流出 | ⭐⭐⭐⭐ | ⬜ 待加 | CryptoQuant(付费) | ⭐⭐⭐ | +| 7 | Coinbase Premium | ⭐⭐⭐ | ✅ 已有 | 价差计算 | - | +| 8 | 社交情绪 | ⭐⭐⭐ | ⬜ 待加 | Santiment/LLM | ⭐⭐⭐ | +| 9 | 期权PCR/DVOL | ⭐⭐⭐ | ⬜ 待加 | Deribit API | ⭐⭐ | +| 10 | 鲸鱼钱包追踪 | ⭐⭐⭐ | ⬜ 待加 | Nansen(付费) | ⭐⭐⭐ | +| 11 | 清算热力图 | ⭐⭐ | ⬜ 待加 | CoinGlass API(付费) | ⭐⭐ | +| 12 | 订单簿深度 | ⭐⭐ | ⬜ 待加 | 币安WS depth | ⭐⭐ | + +### 关键结论 + +1. **没有人做得和我们完全一样** — 大多数用传统技术指标或纯ML黑箱,用CVD+多空比+OI做多层评分的几乎没有 +2. **行业趋势明确** — 多因子 + ML权重优化,和范总定的方向完全一致 +3. **Funding Rate是最高优先级** — 行业使用率最高、免费获取、我们还没加 +4. **权重优化可升级** — 从逻辑回归→IC值+遗传算法,参考ACM论文方法 + +### 数据供应商参考 + +| 平台 | 核心能力 | 价格 | 适合 | +|------|---------|------|------| +| CoinGlass | 衍生品数据(OI/FR/清算/热力图) | 免费基础+付费API | 清算数据 | +| CryptoQuant | 链上数据(净流入/矿工/交易所储备) | $29/月起 | 链上因子 | +| Santiment | 社交情绪+链上+开发活跃度 | 免费基础+付费 | 情绪因子 | +| Glassnode | 链上高级指标(SOPR/NUPL/STH-LTH) | $39/月起 | 深度链上 | +| Nansen | 鲸鱼钱包追踪+Smart Money | $100/月起 | 鲸鱼行为 | diff --git a/docs/arbitrage-engine/v52-signal-system.md b/docs/arbitrage-engine/v52-signal-system.md new file mode 100644 index 0000000..539be5a --- /dev/null +++ b/docs/arbitrage-engine/v52-signal-system.md @@ -0,0 +1,151 @@ +--- +title: V5.2 信号系统文档 +--- + +# V5.2 八信号源系统(v52_8signals) + +## 概述 + +V5.2 在 V5.1 基础上新增 **资金费率(Funding Rate)** 和 **清算数据(Liquidation)** 两个信号源,形成 7 层 100 分评分体系。目标是提高信号精准度,减少无效开仓。 + +## 与 V5.1 的核心差异 + +| 对比项 | V5.1 | V5.2 | +|--------|------|------| +| 信号源 | 6个 | 8个(+FR, +清算) | +| 评分层 | 5层 | 7层(+FR层, +清算层) | +| 方向权重 | 45分 | 40分 | +| TP/SL | SL=2.0×ATR | SL=3.0×ATR(更宽) | +| 盈亏比目标 | 0.72 | 0.84+ | + +## 评分体系(7层100分) + +| 层级 | 权重 | 信号源 | 说明 | +|------|------|--------|------| +| 方向层 | 40分 | CVD_fast + CVD_mid + P99大单 | 同V5.1但权重降低 | +| 拥挤层 | 18分 | 多空比 + 大户持仓 | 结构性仓位判断 | +| **FR层** | **5分** | **资金费率** | **持仓成本顺风度** | +| 环境层 | 12分 | OI变化率 | 同V5.1但权重降低 | +| 确认层 | 15分 | CVD双周期共振 | 同V5.1 | +| **清算层** | **5分** | **清算比率** | **市场清洗力度** | +| 辅助层 | 5分 | Coinbase Premium | 同V5.1 | + +### FR层详解(5分)— 线性评分 + +**数据源**:Binance fundingRate,每5分钟采集,每8小时结算。 + +**评分公式**: +``` +raw_score = (|当前FR| / 历史最大FR) × 5,上限5分 + +有利方向 → fr_score = raw_score(0~5) +不利方向 → fr_score = 0 +``` + +**方向判断**: +- 做多 + FR为负(空头付费给多头)= 有利 → 给分 +- 做空 + FR为正(多头付费给空头)= 有利 → 给分 +- 其他 = 不利 → 0分(不扣分) + +**历史最大FR**:从数据库实时计算,每小时缓存一次。数据越多越精准。 + +| 币种 | 历史最大FR | 说明 | +|------|-----------|------| +| BTC | ~0.0046% | 波动最小 | +| ETH | ~0.0095% | 中等 | +| XRP | ~0.022% | 波动大 | +| SOL | ~0.022% | 波动大 | + +**设计原则**: +- 信号方向已确定,FR只评估"有多顺风" +- 不利方向不扣分(方向决策不由FR层负责) +- 线性映射,不分层不设阈值,灵活精准 +- 分数带小数(如 +2.27分、+0.33分) + +### 清算层详解(5分)— 梯度评分 + +**数据源**:liq-collector 实时采集清算事件。 + +**评分逻辑**: +``` +ratio = 对手方清算USD / 己方清算USD + +做多 → ratio = 空头清算 / 多头清算 +做空 → ratio = 多头清算 / 空头清算 + +ratio ≥ 2.0 → 5分 +ratio ≥ 1.5 → 3分 +ratio ≥ 1.2 → 1分 +ratio < 1.2 → 0分 +``` + +**逻辑**:对手方爆仓越多,说明市场正在朝我们的方向清洗,有利信号。 + +## TP/SL 设置 + +| 参数 | V5.1 | V5.2 | 变化原因 | +|------|------|------|----------| +| SL | 2.0 × ATR | 3.0 × ATR | 更宽止损,减少噪声出局 | +| TP1 | 1.5 × ATR | 2.0 × ATR | 更远止盈,提高盈亏比 | +| TP2 | 3.0 × ATR | 4.5 × ATR | 大幅提升盈亏比目标 | + +理论盈亏比从 0.72 提升到 0.84。 + +## 开仓规则 + +与 V5.1 相同: +- 阈值:75分(标准),85分(加仓) +- 冷却:10分钟 +- 最大持仓:4笔 +- 反向翻转:反向≥75分 → 平旧开新 + +## 策略配置 + +```json +{ + "name": "v52_8signals", + "version": "5.2", + "threshold": 75, + "weights": { + "direction": 40, + "crowding": 18, + "funding_rate": 5, + "environment": 12, + "confirmation": 15, + "liquidation": 5, + "auxiliary": 5 + }, + "accel_bonus": 0, + "tp_sl": { + "sl_multiplier": 3.0, + "tp1_multiplier": 2.0, + "tp2_multiplier": 4.5 + }, + "signals": ["cvd", "p99", "accel", "ls_ratio", "oi", "coinbase_premium", "funding_rate", "liquidation"] +} +``` + +## AB测试观测清单(2026-03-02 ~ 03-16) + +### 冻结期规则 +- 不改权重、不改阈值、不改评分逻辑 +- 单写入源(小周生产环境) +- 目标:V5.1 500+笔,V5.2 200+笔 + +### 两周后评审项 +1. **确认层重复计分审计** — 方向层和确认层同源,看区分度 +2. **拥挤层 vs FR相关性** — `corr(FR_score, crowd_score)`,>0.7则降一层 +3. **OI持续性审计** — `oi_persist_n=1` vs `>=2` 胜率差异 +4. **清算触发率审计** — 按币种,避免触发不均衡 +5. **config_hash落库** — 权重调整前补版本标识 + +### 权重优化路径 +- 200+笔 → 统计分析(各层分布+胜率关联) +- 500+笔 → 回归分析(哪些层对盈亏贡献最大) +- 1000+笔 → ML(XGBoost等) + +## 已知问题 + +1. **方向层与确认层同源重复** — 等数据验证 +2. **清算样本少** — 才积累2天,ratio波动大 +3. **币种间FR基准差异大** — BTC max=0.0046% vs SOL=0.022%,线性映射已自动处理