Binance 量化系统方案 B|Registry / Artifact 模板文件集(正式版)

0. 文档目标

这份文档给出方案 B 一期真正开工时要用的模板文件集,目的是:

  • 固定 artifact 结构
  • 固定 registry 元数据结构
  • 固定 risk budget 结构
  • 固定 release history 记录方式
  • 减少后续随意发挥导致的治理失控

1. 目录模板

建议目录:

strategy-registry/
  strategies/
    trend_breakout_btc_eth/
      strategy-meta.yaml
      risk-budget.yaml
      release-history.md
      versions/
        0.1.0/
          manifest.json
          strategy_spec.yaml
          params.yaml
          risk_limits.yaml
          metrics.json
          report.md

2. strategy-meta.yaml 模板

strategy_id: trend_breakout_btc_eth
owner: Rainbow Z
description: >-
  Binance Spot 中低频趋势突破策略,适用于 BTCUSDT / ETHUSDT,
  用于方案 B 一期 MVP。
default_market: binance_spot
default_symbols:
  - BTCUSDT
  - ETHUSDT
default_timeframes:
  - 15m
lifecycle_state: candidate
current_paper_version: null
current_live_version: null
notes: >-
  一期策略家族元信息文件。所有版本状态变更以 release-history.md 为准。

字段说明

  • strategy_id: 策略家族唯一 ID
  • owner: 审批/维护人
  • description: 策略家族简介
  • lifecycle_state: 当前主状态
  • current_paper_version: 当前 paper 版本
  • current_live_version: 当前 live 版本

3. risk-budget.yaml 模板

strategy_id: trend_breakout_btc_eth
paper:
  enabled: true
  max_notional_usdt: 0
  notes: "paper 模式不使用真钱,仅用于实时链路验证"
 
live_limited:
  enabled: true
  max_notional_usdt: 200
  max_daily_loss_pct: 1.0
  max_concurrent_positions: 1
  allow_symbols:
    - BTCUSDT
    - ETHUSDT
 
live_full:
  enabled: false
  max_notional_usdt: 0
  max_daily_loss_pct: 0
  max_concurrent_positions: 0
 
symbol_limits:
  BTCUSDT:
    max_exposure_pct: 10
    max_order_notional_usdt: 100
  ETHUSDT:
    max_exposure_pct: 10
    max_order_notional_usdt: 100
 
runtime_limits:
  max_slippage_bps: 15
  stale_data_timeout_sec: 90
  max_order_retries: 2
  kill_switch_on_api_failures: 3

设计原则

  • paperlive_limited 必须分开
  • live_full 一期默认禁用
  • symbol_limits 不仅管暴露,还管单笔 notional
  • runtime_limits 用于执行层硬约束

4. release-history.md 模板

# Release History
 
## 2026-03-09
- Version: `0.1.0`
- From: `candidate`
- To: `approved-paper`
- Reason: 首次通过 OOS / Walk-forward / 参数稳定性检查,允许进入 paper 运行。
- Approved by: Rainbow Z
- Notes: 尚未允许真钱;需先完成 paper-running 观察期。
 
## 2026-03-16
- Version: `0.1.0`
- From: `approved-paper`
- To: `paper-running`
- Reason: 本地执行骨架和告警链路已打通。
- Approved by: Rainbow Z
- Notes: 进入实时数据 + 模拟成交阶段。

记录规则

每次状态变化必须写:

  • 时间
  • 版本
  • 来源状态
  • 目标状态
  • 原因
  • 审批人
  • 备注

5. manifest.json 模板

{
  "strategy_id": "trend_breakout_btc_eth",
  "version": "0.1.0",
  "status": "candidate",
  "market": "binance_spot",
  "symbols": ["BTCUSDT", "ETHUSDT"],
  "timeframes": ["15m"],
  "code_commit": "abc123",
  "data_snapshot_id": "dataset-20260309-001",
  "artifact_hash": "sha256:replace_me",
  "created_at": "2026-03-09T10:00:00Z",
  "validator_summary": {
    "oos_pass": true,
    "walk_forward_pass": true,
    "stability_pass": true,
    "cost_stress_pass": true,
    "multiple_testing_adjustment": "pending_or_recorded_here"
  },
  "approved_for": null,
  "notes": "一期 candidate artifact;未审批前不得进入本地真钱执行。"
}

最关键的约束

  • status 不能缺失
  • artifact_hash 必须存在
  • approved_for 为空时,本地 live loader 必须拒绝加载

6. strategy_spec.yaml 模板

strategy_id: trend_breakout_btc_eth
name: Trend Breakout BTC/ETH
description: >-
  适用于 Binance Spot 的中低频趋势突破策略。
  核心逻辑:趋势过滤 + 突破入场 + ATR 风控 + 冷却期限制。
 
market: binance_spot
symbols:
  - BTCUSDT
  - ETHUSDT
timeframes:
  - 15m
 
inputs:
  - ohlcv
  - symbol_metadata
  - fee_model
  - runtime_risk_budget
 
signal_contract:
  generate_signal:
    outputs:
      - long_entry
      - exit
      - hold
      - no_trade
 
regime_rules:
  trend_required: true
  avoid_extreme_volatility: true
 
position_policy:
  sizing_mode: risk_budget_bounded
 
risk_contract:
  uses_stop_loss: true
  uses_cooldown: true
  requires_pretrade_sanitization: true

7. params.yaml 模板

breakout_window: 20
trend_window: 100
atr_window: 14
atr_stop_multiplier: 2.0
cooldown_bars: 4
min_volume_filter: true

规则

  • 只放参数,不放结论
  • 参数必须和策略实现保持一一对应
  • 不允许把 runtime 状态写进 params

8. risk_limits.yaml 模板

max_position_pct: 0.10
max_daily_loss_pct: 0.01
max_symbol_exposure_pct: 0.10
stop_loss_pct: 0.02
cooldown_after_loss_bars: 4
max_slippage_bps: 15
stale_data_timeout_sec: 90
max_order_retries: 2
fail_closed_on_metadata_stale: true
fail_closed_on_account_desync: true

说明

这是 artifact 自带的策略级风险约束;治理层 risk-budget.yaml 是更高层的预算和发布控制,两者不能混写。


9. metrics.json 模板

{
  "total_return": 0.0,
  "max_drawdown": 0.0,
  "sharpe": 0.0,
  "sortino": 0.0,
  "profit_factor": 0.0,
  "win_rate": 0.0,
  "avg_trade_return": 0.0,
  "turnover": 0.0,
  "oos_return": 0.0,
  "walk_forward_score": 0.0,
  "stability_score": 0.0,
  "cost_stress_score": 0.0
}

10. report.md 模板

# Strategy Report - trend_breakout_btc_eth v0.1.0
 
## 1. Strategy Summary
- Strategy ID: `trend_breakout_btc_eth`
- Version: `0.1.0`
- Market: `binance_spot`
- Symbols: `BTCUSDT`, `ETHUSDT`
- Timeframe: `15m`
 
## 2. Data Snapshot
- Dataset ID: `dataset-20260309-001`
- Date range: `TODO`
- Notes: `TODO`
 
## 3. Backtest Results
- Total Return: `TODO`
- Max Drawdown: `TODO`
- Sharpe: `TODO`
- Profit Factor: `TODO`
 
## 4. OOS Results
- OOS Return: `TODO`
- Comments: `TODO`
 
## 5. Walk-forward Results
- Summary: `TODO`
 
## 6. Parameter Stability
- Stability Score: `TODO`
- Notes: `TODO`
 
## 7. Cost / Slippage Stress
- Stress Result: `TODO`
 
## 8. Risks
- Main Risks:
  - `TODO`
  - `TODO`
 
## 9. Promotion Recommendation
- Recommendation: `candidate / approved-paper / reject`
- Reason: `TODO`

11. 一期模板使用规则

11.1 必须遵守

  • 所有 candidate 版本都必须有完整 artifact
  • 所有状态变化都必须写 release-history
  • 所有 live-limited 配置都必须经过 risk-budget
  • 本地执行只认 approved 状态

11.2 禁止做法

  • 没有 manifest 就把策略丢进执行端
  • 直接改 params 却不升版本
  • 用聊天结论代替 report.md
  • 让研究端直接控制本地下单

12. 最终收口

这一套模板的意义是:

把策略从“脚本”变成“可治理的生产资产”。

如果后续严格按这套模板走,方案 B 的研究、审批、执行三层就能真正对齐;如果模板随手乱改,治理层会很快失效。