12 KiB
12 KiB
| title | date | updated |
|---|---|---|
| V5.3 统一信号系统设计案 | 2026-03-03 | 2026-03-03 |
V5.3 统一信号系统设计案
目标:让策略从"手工打分规则"升级为"可持续训练和迭代的小模型系统"。统一架构覆盖 BTC/ETH/XRP/SOL,per-symbol 参数化门控,消除双轨维护成本。
1. 设计原则
- 统一评分、差异化门控:四层评分逻辑完全一致,通过
symbol_gates参数化各币种的门控阈值。 - 先数据、后调参:先补齐特征与标签落库,再做参数优化。
- 反过拟合优先:任何优化必须先过样本外验证(OOS)。
- 信号与执行解耦:Alpha(信号)与成本(执行)分开归因。
- 版本可追溯:每次信号和交易都可回溯到
strategy_version + config_hash + engine_instance。
2. 现状问题归纳(V5.1/V5.2)
- V5.1:毛R为正、净R为负,说明有 Alpha 但被手续费和执行摩擦吞噬。
- V5.2:交易频率下降但毛R转负,说明新增因子未提升预测力,存在噪声与冗余。
- 评分结构存在共线性:方向层与确认层同源(重复使用 CVD_fast/CVD_mid)。
- BTC 与 ALT 使用同构逻辑,忽略了市场微结构差异。
3. V5.3 总体架构
Market Data → Feature Snapshot → _evaluate_v53() → Gate Check → Signal Decision → Execution → Label Backfill → Walk-Forward Eval
3.1 统一策略(v53)
单一策略文件 backend/strategies/v53.json,覆盖 BTC/ETH/XRP/SOL。
四层评分(总分100)
| 层 | 权重 | 子项 |
|---|---|---|
| Direction | 55 | CVD共振(30) + P99大单对齐(20) + 加速奖励(5) |
| Crowding | 25 | LSR反向(15) + 大户持仓(10) |
| Environment | 15 | OI变化率 |
| Auxiliary | 5 | Coinbase Premium |
Per-symbol 四门控制(symbol_gates)
| 门 | BTC | ETH | XRP | SOL |
|---|---|---|---|---|
| 波动率下限 | 0.2% | 0.3% | 0.4% | 0.6% |
| 鲸鱼阈值/逻辑 | whale_cvd_ratio >$100k | 大单否决 $50k | 大单否决 $30k | 大单否决 $20k |
| OBI否决 | ±0.30 | ±0.35 | ±0.40 | ±0.45 |
| 期现背离否决 | ±0.3% | ±0.5% | ±0.6% | ±0.8% |
开仓档位
- < 75分:不开仓
- 75–84分:标准仓(1×R)
- ≥ 85分:加仓档(1.5×R)
- 冷却期:10分钟
3.2 实时数据流
| 数据 | 来源 | 频率 | 覆盖币种 |
|---|---|---|---|
| OBI(订单簿失衡) | @depth10@100ms perp WS |
100ms | BTC/ETH/XRP/SOL |
| 期现背离 | @bookTicker spot + @markPrice@1s perp |
1s | BTC/ETH/XRP/SOL |
| 巨鲸CVD | aggTrades 流内计算(>$100k) | 实时 | BTC |
| 大单方向 | aggTrades 流内计算 | 实时 | ETH/XRP/SOL |
4. 训练数据飞轮(Phase 3)
signal_feature_events (raw features, 每轮评分写入)
↓ label_backfill.py (T+60m打标签)
signal_label_events (y_binary_60m, mfe_r_60m, mae_r_60m)
↓ walk_forward.py
权重优化 → v53.json 更新
Walk-Forward 规则(严防过拟合)
- 训练窗口:30天,步长:7天
- 验证集:永远在训练集之后,不交叉
- 评估指标:OOS 净R、胜率、MDD
5. 版本演进记录
| 版本 | 时间 | 变更摘要 |
|---|---|---|
| V5.1 | 2026-02 | 基础CVD评分,有毛Alpha,净R为负 |
| V5.2 | 2026-02 | 新增8信号层,频率下降但净R未改善 |
| V5.3 Phase0 | 2026-03-03 | 建立feature/label落库表,ATR列 |
| V5.3 Phase1 | 2026-03-03 | 四层评分+双轨(alt/btc),删确认层 |
| V5.3 Phase2 | 2026-03-03 | RT-WS接入(OBI+期现背离),覆盖所有symbol |
| V5.3 统一版 | 2026-03-03 | 合并alt/btc为单一v53策略,per-symbol门控 |
- Feature Snapshot:每次评估时落库原始特征和中间分数(含
atr_value快照)。 - Track Router:按 symbol 路由到 ALT/BTC 模型。
- Signal Decision:输出开仓/不开仓/翻转决策和原因。
- Execution:独立处理 maker/taker、TP/SL、BE、flip。
- Label Backfill:按 15/30/60 分钟回填标签。
- Walk-Forward Eval:滚动训练与验证,驱动版本迭代。
4. 双轨模型定义
4.1 ALT 轨(ETH/XRP/SOL)
- 目标:保留 V5.1 有效微观结构 Alpha,去除冗余。
- 关键变更:取消独立 Confirmation 层(避免与 Direction 共线性重复计分)。
- 决策机制:线性加权评分(总分 100)+ 门控 + 阈值。
4.1.1 ALT 权重总表(V5.3 初版)
| 层级 | 权重 | 子特征 | 子特征权重 | 说明 |
|---|---|---|---|---|
| Direction | 55 | cvd_resonance |
30 | cvd_fast 与 cvd_mid 同向共振 |
| Direction | 55 | p99_flow_alignment |
20 | P99 大单方向与主方向一致 |
| Direction | 55 | cvd_accel_bonus |
5 | CVD 加速度同向奖励 |
| Crowding | 25 | lsr_contrarian |
15 | 多空比反向拥挤 |
| Crowding | 25 | top_trader_position |
10 | 大户持仓方向确认 |
| Environment | 15 | oi_delta_regime |
15 | OI 变化状态 |
| Auxiliary | 5 | coinbase_premium |
5 | 美系现货溢价辅助 |
4.1.2 ALT 子特征评分函数(标准化)
cvd_resonance(0/30):- LONG:
cvd_fast > 0 && cvd_mid > 0 - SHORT:
cvd_fast < 0 && cvd_mid < 0 - 否则
0且gate_no_direction=true
- LONG:
p99_flow_alignment(0/10/20):- 强同向净流:20
- 无明显反向压制:10
- 明显反向:0
cvd_accel_bonus(0/5):- 加速度方向与主方向一致:5
lsr_contrarian(0~15):- LONG:
lsr<=0.5高分,0.5<lsr<1.0线性递减 - SHORT:
lsr>=2.0高分,1.0<lsr<2.0线性递减
- LONG:
top_trader_position(0~10):- 与方向一致比例越高分越高
oi_delta_regime(0/7.5/15):- 资金显著流入:15
- 平稳:7.5
- 显著流出:0
coinbase_premium(0/2/5):- 顺向溢价:5
- 中性:2
- 反向:0
4.1.3 ALT 决策阈值
open_threshold = 75flip_threshold = 85max_positions_per_track = 4cooldown_seconds = 300
4.1.4 ALT 信号总分公式
score_alt = direction(55) + crowding(25) + environment(15) + auxiliary(5)
open if score_alt >= 75 and no veto
flip if reverse_score_alt >= 85 and no veto
4.2 BTC 轨(独立模型)
- 目标:针对机构主导盘口,提升信号有效性。
- 决策方式:先用"条件门控 + 否决条件",不与 ALT 共用线性总分。
4.2.1 BTC 核心特征
atr_percent_1h:1小时 ATR 占当前价格百分比(波动率门控)tiered_cvd_whale:按成交额分层的大单净流(建议主桶>100k)obi_depth_10:盘口前 10 档失衡spot_perp_divergence:现货与永续价量背离
4.2.2 BTC 门控与否决逻辑
- 波动率门控:
atr_percent_1h < min_vol_threshold-> veto - 方向门控:巨鲸净流未达阈值 -> veto
- 挂单墙否决:方向与 OBI 显著冲突 -> veto
- 期现背离否决:perp 强多但 spot 弱(或反向)-> veto
4.2.3 BTC 参数(初始值,可配置)
min_vol_threshold = 0.002(0.2%)obi_veto_threshold = 0.30whale_flow_threshold:按币价与流动性分档配置- 以上参数均定义为配置项,禁止散落硬编码。
4.2.4 BTC 决策伪代码
if missing_any_feature:
block("missing_feature")
if atr_percent_1h < min_vol_threshold:
block("low_vol_regime")
if abs(tiered_cvd_whale) < whale_flow_threshold:
block("weak_whale_flow")
if direction_conflict_with_obi:
block("obi_imbalance_veto")
if spot_perp_divergence_is_trap:
block("spot_perp_divergence_veto")
otherwise:
allow_open
5. 数据基建(ML Ready)
5.1 表设计
signal_feature_events
- 用途:每次信号评估快照(无论是否开仓)。
- 关键字段:
- 元数据:
event_id, ts, symbol, track, side - 版本:
strategy, strategy_version, config_hash, engine_instance - 原始特征:
cvd_fast_raw, cvd_mid_raw, p99_flow_raw, accel_raw, ls_ratio_raw, top_pos_raw, oi_delta_raw, coinbase_premium_raw, fr_raw, liq_raw, obi_raw, tiered_cvd_whale_raw, atr_value - 决策:
score_total, score_direction, score_crowding, score_environment, score_aux, gate_passed, block_reason
- 元数据:
signal_label_events
- 用途:延迟回填标签,评估信号纯预测能力。
- 字段:
event_id, y_binary_30m, y_binary_60m, y_return_15m, y_return_30m, y_return_60m, mfe_r_60m, mae_r_60m
execution_cost_events
- 用途:独立归因执行成本。
- 字段:
trade_id, entry_type, exit_type, fee_bps, slippage_bps, maker_ratio, flip_flag, hold_seconds, friction_cost_r
5.2 标签定义
Y_binary_60m(严格定义):从信号触发时间ts起 60 分钟内,使用Mark Price序列判定,若价格先触及+2.0 * atr_value,且在该触发时刻之前从未触及-1.0 * atr_value,则记为1,否则记为0。- 时间顺序要求(Chronological Order):若 60 分钟窗口内先触及
-1.0 * atr_value,即使后续再触及+2.0 * atr_value,也必须记为0。 Y_return_t:固定时间窗(15m/30m/60m)净收益率(含成本估计)。
说明:
- 标签优先评价"信号有效性",而不是被具体 TP/SL 参数污染的最终交易结果。
- 统一使用
Mark Price+atr_value快照,避免插针和重算偏差。
6. 执行引擎改造
- TP 优先 Maker + Taker 兜底:入场后预挂 TP1/TP2 限价单;若价格已越过 TP 触发价且挂单在超时窗口(如 2 秒)内仍未成交,立即撤单并用 Taker 市价平仓兜底。
- 部分成交分支:兜底前查询成交量,仅对剩余仓位执行
Cancel -> Taker Close。 - Break-Even 费用感知:BE 触发价需覆盖手续费与滑点缓冲,避免"名义保本、账户实亏"。
- Flip 双门槛:开仓阈值
75,翻转阈值85。 - 并发和幂等:
Cancel -> Market需要状态锁和幂等键,防止重复平仓。 - 执行质量指标化:持续监控
maker_ratio / avg_friction_cost_r / flip_loss_r。
7. 反过拟合协议(强制)
- Walk-Forward Optimization:训练窗与验证窗严格时间隔离。
- 参数冻结:一个评估周期内禁止改权重、阈值。
- 特征预算:样本不足时严格限制特征数量,新增特征先 shadow 记录。
- 升级门槛:样本外结果不达标不得进入下一阶段。
- 可解释性检查:无金融逻辑支撑的"高胜率规则"禁止上线。
8. 模型权重训练与更新机制(新增)
8.1 参数分层
static_params:交易风控硬约束(如最大仓位、最大回撤阈值)tunable_params:可训练参数(ALT 子特征权重、阈值、BTC 门控阈值)release_params:版本发布参数(strategy_version,config_hash)
8.2 ALT 权重训练流程
- 用
signal_feature_events + signal_label_events生成训练集。 - 先做单变量稳定性审计(IC、分箱胜率、PSI)。
- 再做有约束优化:
- 权重非负
- 总和固定为 100
- 单层权重变化设上限(如不超过上版的 30%)
- 在 OOS 上评估,未达标不发布。
8.3 BTC 阈值训练流程
- 针对每个门控特征做阈值网格搜索。
- 以 OOS
net_r + drawdown共同评分。 - 选择 Pareto 最优点,不追单一胜率最优。
8.4 参数更新节奏
- 建议频率:每 1-2 周滚动一次。
- 每次仅允许小步更新,避免参数跳变。
- 每次更新必须附带变更记录:
old -> new、样本窗口、验证结果。
9. 发布与回滚机制
- 每次策略升级必须生成新
strategy_version和config_hash。 - 发版前必须附带:训练窗结果 + 验证窗(OOS)结果 + 执行成本变化。
- 任一核心指标触发阈值告警(如净R断崖、回撤超限)立即回滚到上一稳定版本。
10. 版本验收标准(V5.3)
- ALT 轨:样本外连续两个窗口净R为正。
- BTC 轨:样本外净R非负,且胜率不低于随机基线。
- 执行层:
maker_ratio >= 40%,且avg_friction_cost_r(滑点+手续费)较 V5.1 基线下降 >= 30%。 - 稳定性:最大回撤不显著劣化。
11. 里程碑
- M1:完成三张新表与事件落库。
- M2:完成 ALT/BTC 路由与首版决策逻辑。
- M3:完成执行成本改造(maker/BE/flip)。
- M4:跑通首轮 Walk-Forward 并产出 V5.3 首次评估报告。