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.md2. 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: 策略家族唯一 IDowner: 审批/维护人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设计原则
paper与live_limited必须分开live_full一期默认禁用symbol_limits不仅管暴露,还管单笔 notionalruntime_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: true7. 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 的研究、审批、执行三层就能真正对齐;如果模板随手乱改,治理层会很快失效。