--- title: V5 短线交易信号系统方案 --- # V5 短线交易信号系统方案 > 版本:v5.0 | 日期:2026-02-27 | 状态:方案定稿,待开发 > > 来源:露露(Opus 4.6)× 小周(GPT-5.3-Codex)10轮讨论 --- ## 1. 目标 将 aggTrades 成交流数据转化为**可执行的短线做多/做空交易信号**,实现从"监控工具"到"交易工具"的升级。 ## 2. 信号体系 ### 2.1 核心门槛(3/3 必须全部满足) | # | 条件 | 做多 | 做空 | |---|------|------|------| | 1 | CVD_fast (30m 滚动) | > 0 且斜率正 | < 0 且斜率负 | | 2 | CVD_mid (4h 滚动) | > 0 | < 0 | | 3 | VWAP 位置 | price > VWAP_30m | price < VWAP_30m | **说明**:CVD = Cumulative Volume Delta(累计买卖差额),是成交流分析最核心的指标。 - **CVD_fast**:30分钟滚动窗口,捕捉短线动量 - **CVD_mid**:4小时滚动窗口,确认大方向 - **CVD_day**:UTC日内重置,作为盘中强弱基线参考(不作为入场条件) > ⚠️ CVD_fast 在剧烈波动时自适应:当1m成交量超过均值3倍时,窗口自动拉长到60m,防噪音误判。 ### 2.2 加分条件(决定仓位大小,满分60分) | 条件 | 分值 | 说明 | |------|------|------| | ATR 压缩→扩张 | +25 | 5m ATR分位从 <40% 突破 >60%,波动开始放大 | | 无反向 P99 超大单 | +20 | 最近15分钟内无极端反向成交 | | 资金费率配合 | +15 | 做多时费率<0.01%,做空时费率>0.01% | ### 2.3 仓位映射 | 加分总分 | 仓位等级 | 占总资金 | |----------|----------|----------| | 0-15 | 最小仓 | 2% | | 20-40 | 中仓 | 5% | | 45-60 | 满仓 | 8% | ### 2.4 预估信号频率 核心3条件同时满足概率约 20-30%,每5分钟检查一次。去掉冷却期重复后,预计**日均 5-15 个有效信号**。 ## 3. 指标计算 ### 3.1 CVD(Cumulative Volume Delta) ``` CVD = Σ(主动买量) - Σ(主动卖量) 三轨并行: - CVD_fast:滚动30m窗口(入场信号) - CVD_mid:滚动4h窗口(方向过滤) - CVD_day:UTC日内重置(盘中基线) ``` 入场优先看 fast,方向必须与 mid 同向。 ### 3.2 大单阈值(动态分位数) ``` 基于最近24h成交量分布: - P99:超大单阈值 - P95:大单阈值 - 兜底下限:max(P95, 5 BTC) 区分"大单买"和"大单卖"的不对称性: - 上涨趋势中出现P99大卖单,意义远大于P99大买单 ``` ### 3.3 ATR(Average True Range) ``` 周期:5分钟K线,14根 用于: 1. 波动压缩→扩张判断(分位数) 2. 止损距离计算 ``` ### 3.4 VWAP(Volume Weighted Average Price) ``` 滚动30分钟:VWAP_30m = Σ(price × qty) / Σ(qty) 用于:价格位置过滤(做多 price > VWAP,做空 price < VWAP) ``` ## 4. 风控体系 ### 4.1 止盈止损 | 参数 | 值 | 说明 | |------|-----|------| | 止损 (SL) | 1.2 × ATR(5m, 14) | 动态止损,适应波动 | | 止盈1 (TP1) | 1.0R | 减仓50% | | 止盈2 (TP2) | 2.0R | 剩余仓位移动止损 | | 时间止损 | 30分钟 | 无延续即平仓,防磨损 | > R = 1倍止损距离 ### 4.2 冲突与冷却 - **信号冲突**:持仓中出现反向信号 → 先平仓 + 10分钟冷却再接受新信号 - **同方向冷却**:10分钟内不重复入场 - **单币限频**:每小时最多2次入场 ### 4.3 多品种风控 - BTC / ETH 独立出信号 - 两个同时同向时,总仓位上限 10% - 需要相关性过滤(ETH Delta 经常跟 BTC 走) ## 5. 回测达标线 | 指标 | 达标线 | |------|--------| | 胜率 | ≥ 45% | | 盈亏比 (Avg Win / Avg Loss) | ≥ 1.5 | | 最大回撤 (MDD) | ≤ 5% | | 日均信号数 | 2-8 个 | | 扣手续费后 | 正收益 | **手续费模型**: - Maker: 0.02%, Taker: 0.04%(Portfolio Margin 档位) - 按 Taker 0.04% 双向估算(保守) - 回测报告必须包含净收益/毛收益对比 **额外统计**: - 持仓时长分布(验证30min时间止损合理性) - Rate-limit 重试统计(回补脚本用) ## 6. 技术架构 ### 6.1 进程拓扑 ``` ┌─────────────────┐ Binance WS ──────→ │ agg-collector │ ──→ agg_trades_YYYYMM └─────────────────┘ │ ▼ ┌─────────────────┐ │ signal-engine │ ──→ signal_indicators (5s) │ │ ──→ signal_indicators_1m (聚合) │ │ ──→ signal_trades │ │ ──→ Discord推送 └─────────────────┘ │ ┌─────────────────┐ │ backtest.py │ ──→ 回测报告 └─────────────────┘ ``` - **agg-collector**:只做采集+落库,不动(已有) - **signal-engine**:新建独立进程,指标计算 + 信号生成 - **backtest.py**:离线回测脚本 ### 6.2 数据库新增表 | 表名 | 用途 | 保留策略 | |------|------|----------| | signal_indicators | 每5秒指标快照(CVD/ATR/VWAP/P95等) | 30天 | | signal_indicators_1m | 1分钟聚合(前端默认读此表) | 长期 | | signal_trades | 信号触发的开仓/平仓记录 | 长期 | ### 6.3 指标计算策略 - **内存滚动 + 增量更新**(不是每次SQL全量聚合) - 启动时回灌历史窗口(30m/4h/24h)到内存 - 之后只处理新增 agg_id 增量 - 每5秒把快照落库(幂等) ### 6.4 冷启动处理 signal-engine 重启后: 1. 从DB回读最近4h的aggTrades重算所有指标 2. 前N根标记为 `warmup`,不出信号 3. warmup 完成后开始正常信号生成 ## 7. 历史数据回补 ### 7.1 回补脚本(backfill_agg_trades.py) ``` 参数:--symbol BTCUSDT --days 7 --batch-size 1000 流程: 1. 查DB中最早的agg_id 2. 从最早agg_id向前REST分页补拉 3. 每次1000条,sleep 200ms防限流 4. INSERT OR IGNORE 写入agg_trades_YYYYMM 5. 断点续传:记录进度到meta表 6. 完成后输出统计+连续性检查 ``` ### 7.2 速率控制 - Binance aggTrades REST 限流:weight 20/min - 每请求 sleep 200ms,实际约 3-5 req/s - 带指数退避重试,429后等60s - 记录 rate-limit 统计(429次数、退避次数) ## 8. 开发时间线 | Day | 任务 | 交付物 | 负责 | |-----|------|--------|------| | 1 | 回补脚本 + 1天小样本 | backfill跑通,BTC/ETH各1天入库 | 露露开发,小周部署 | | 2 | 全量7天回补 + 连续性验证 | 完整7天aggTrades,缺口=0 | 小周跑+验收 | | 3-4 | signal-engine + 前端指标展示 | CVD三轨/ATR/VWAP/大单标记实时可视化 | 露露开发,小周部署 | | 5 | 回测框架 + 首版回测报告 | 胜率/盈亏比/MDD/持仓分布/净收益 | 露露开发 | | 6+ | 调参优化 → 达标后模拟盘 | 模拟交易记录 | 协同 | ## 9. 前置依赖 | 依赖 | 状态 | 影响范围 | |------|------|----------| | aggTrades 实时采集 | ✅ 已运行 | Phase 1-3 已满足 | | 历史数据回补 | ⏳ Day 1-2 | 回测需要 | | Binance API Key | ⏳ 等范总 | 仅Phase 4实盘 | | Portfolio Margin | ⏳ 等范总 | 仅Phase 4实盘 | | 资金准备 | ⏳ 等范总 | 仅Phase 4实盘 | > Phase 1-3 不依赖范总,可立即开工。 ## 10. 版本历史 | 版本 | 日期 | 内容 | |------|------|------| | v2-v4 | 2026-02-27 | 权限管控+aggTrades采集+成交流面板 | | **v5.0** | **2026-02-27** | **短线交易信号系统方案定稿** |