Rank32c BTCUSDT 实盘看板

策略 first_money_btc_utc_weak_cell_v1 · 2025-05 ~ 2026-05 回测 · 实盘 tiny-live 100 USDC

等待入场 KS: armed LIVE

页面生成: 2026-05-06 14:34:11 北京时间

+7.83%
累计净收益
+14.93
均值净收益 (bps)
54
回测交易数
44.4%
胜率 (24W / 30L)
0.11
Sharpe 近似 (月频)
4.77%
最大回撤 (bps→%)
0
实盘完成交易
100 USDC
每笔名义仓位

▸ 实盘运行状态

当前状态

运行状态等待入场
下次入场 (UTC)2026-05-07 01:00 UTC
下次入场 (北京)2026-05-07 09:00
预计出场 (UTC)2026-05-07 05:00 UTC
预计出场 (北京)2026-05-07 13:00
方向SHORT
Kill Switcharmed
缓存最新 bar2026-05-06 06:30 UTC

本月选中 Cell

Month2026-05
WeekdayThu (3)
Hour (UTC)1:00
训练均值 (bps)-59.94
训练事件数36
训练起始2026-03-02 00:00 UTC
训练结束2026-05-01 00:00 UTC
Veto 高波否 — 允许
Gate 通过

systemd 定时任务

Timer Unit最近/下次触发
momentum-rank32c-kline-cache.serviceWed
momentum-rank32c-live-runner.serviceWed
listed.2
too.Pass

▸ 策略说明

原理概述

每月回顾过去 60 个自然日 的 BTCUSDT 15 分钟 K 线,按 (weekday, hour UTC) 分组统计未来 16 根 bar 的 long 收益率。 选取均值最低(最弱)的 cell,在当月该 weekday/hour 对应时刻 做空 BTCUSDT,持仓 4 小时(16 根 15m bar),到期时间止损出场。

策略仅做空、不选币、无前瞻 — universe 固定 BTCUSDT,cell 选择严格使用历史数据。

核心参数

标的BTCUSDT (Binance Futures)
K 线周期15m
方向仅做空 (short only)
持仓时间16 bars = 4 小时
训练窗口前 60 个自然日
Cell 选择最弱 (weekday, hour) cell by long return
回测成本假设8 bps round-trip
实盘成本假设12 bps round-trip
Veto 规则前 24h 绝对收益 > 180d 均值 + 2σ 时跳过
Gate 规则cell train mean < -round_trip_cost_bps 时才开仓
No-overlap同一时间只允许一笔持仓

Kill Switch

单笔亏损上限-1.2%
5 笔累计上限-2.5%
价差警戒> 8 bps
缺 bar 容忍> 2 根
滑点警戒> 12 bps
失败条件≥8 笔 或 45 天后 realized mean net bps ≤ 0

▸ 诚实性审计 (Honesty Audit)

放行决策: launch_tiny_live — All release blockers cleared; next action is tiny-live falsification.

检查项证据结果
No future returns/months/volume/current active list/hindsight hot coinUniverse is fixed BTCUSDT; monthly selection uses only bars before target month start.pass
Monthly selection strictly as-of`select_month_cell()` trains on `[month_start - 60d, month_start)`.pass
Entry/exit/veto/no-overlap do not read future barsOrder plan uses scheduled entry, fixed exit, current/prior veto state, no overlap protection fields.pass
Current month plan independently reproducibleCurrent cache must include the completed bar before current month start.pass
Can predict next trade and exitRequires selected cell and next entry/exit timestamps.pass
Residual/duplicate-open protectionState/status initialize `open_position=false`, `duplicate_entry_key_guard=true`, `allow_live_orders` follows binary decision.pass
Live-vs-shadow accounting fields`live_vs_shadow.csv` header includes signal/entry/exit/slippage/fees/net fields.pass

▸ 回测累计收益曲线

-6.1%-2.2%1.7%5.6%9.5%13.4% 2025-052025-062025-082025-102026-012026-032026-04

▸ 逐月回测统计

Month交易数均值 (bps)累计 %
2025-05 5 1 4 -39.35 -1.97%
2025-06 5 4 1 +16.09 -1.16%
2025-07 5 1 4 -18.33 -2.08%
2025-08 5 2 3 -22.72 -3.22%
2025-09 5 2 3 -10.42 -3.74%
2025-10 4 2 2 +33.65 -2.39%
2025-11 3 3 0 +271.12 +5.74%
2025-12 4 2 2 -21.33 +4.89%
2026-01 5 2 3 +42.36 +7.01%
2026-02 4 2 2 +39.26 +8.58%
2026-03 4 2 2 +87.81 +12.09%
2026-04 5 1 4 -80.55 +8.06%

▸ 回测交易明细 (54 笔)

Month入场时间 (北京)Cell入场价出场价训练均值净收益
2025-05 2025-05-01 20:00 Thu 12:00 96130.0 96793.9 -93.89 -77.06 bps
2025-05 2025-05-08 20:00 Thu 12:00 99369.9 100730.9 -93.89 -144.96 bps
2025-05 2025-05-15 20:00 Thu 12:00 102335.3 103211.2 -93.89 -93.59 bps
2025-05 2025-05-22 20:00 Thu 12:00 110944.0 111251.0 -93.89 -35.67 bps
2025-05 2025-05-29 20:00 Thu 12:00 108740.0 106972.6 -93.89 +154.53 bps
2025-06 2025-06-02 01:00 Sun 17:00 104984.4 104897.0 -49.17 +0.33 bps
2025-06 2025-06-09 01:00 Sun 17:00 106133.3 106098.9 -49.17 -4.76 bps
2025-06 2025-06-16 01:00 Sun 17:00 105525.8 104688.8 -49.17 +71.32 bps
2025-06 2025-06-23 01:00 Sun 17:00 99607.6 99493.3 -49.17 +3.48 bps
2025-06 2025-06-30 01:00 Sun 17:00 107494.5 107300.1 -49.17 +10.08 bps
2025-07 2025-07-04 01:00 Thu 17:00 109236.7 109902.8 -48.07 -68.98 bps
2025-07 2025-07-11 01:00 Thu 17:00 112596.4 113426.0 -48.07 -81.68 bps
2025-07 2025-07-18 01:00 Thu 17:00 118550.3 119428.8 -48.07 -82.10 bps
2025-07 2025-07-25 01:00 Thu 17:00 118498.0 118678.0 -48.07 -23.19 bps
2025-07 2025-08-01 01:00 Thu 17:00 118492.0 116450.1 -48.07 +164.32 bps
2025-08 2025-08-01 19:00 Fri 11:00 114697.8 115568.7 -43.60 -83.93 bps
2025-08 2025-08-08 19:00 Fri 11:00 116496.5 116441.7 -43.60 -3.30 bps
2025-08 2025-08-15 19:00 Fri 11:00 118825.0 117354.9 -43.60 +115.72 bps
2025-08 2025-08-22 19:00 Fri 11:00 112489.0 115744.5 -43.60 -297.41 bps
2025-08 2025-08-29 19:00 Fri 11:00 109949.8 108154.4 -43.60 +155.29 bps
2025-09 2025-09-02 00:00 Mon 16:00 108737.9 109178.7 -55.25 -48.54 bps
2025-09 2025-09-09 00:00 Mon 16:00 112573.6 112050.0 -55.25 +38.51 bps
2025-09 2025-09-16 00:00 Mon 16:00 114788.1 115246.7 -55.25 -47.95 bps
2025-09 2025-09-23 00:00 Mon 16:00 112768.7 112072.8 -55.25 +53.71 bps
2025-09 2025-09-30 00:00 Mon 16:00 113752.0 114204.9 -55.25 -47.81 bps
2025-10 2025-10-02 22:00 Thu 14:00 119559.6 119869.1 -49.31 -33.89 bps
2025-10 2025-10-09 22:00 Thu 14:00 122357.0 120915.5 -49.31 +109.81 bps
2025-10 2025-10-16 22:00 Thu 14:00 110794.7 108220.5 -49.31 +224.34 bps
2025-10 2025-10-23 22:00 Thu 14:00 109450.0 111175.6 -49.31 -165.66 bps
2025-11 2025-11-06 21:00 Thu 13:00 102507.1 100830.5 -58.93 +155.56 bps
2025-11 2025-11-13 21:00 Thu 13:00 103100.0 100580.3 -58.93 +236.39 bps
2025-11 2025-11-20 21:00 Thu 13:00 91797.3 87855.5 -58.93 +421.40 bps
2025-12 2025-12-04 21:00 Thu 13:00 92947.8 92389.9 -141.94 +52.02 bps
2025-12 2025-12-11 21:00 Thu 13:00 90000.7 89704.2 -141.94 +24.94 bps
2025-12 2025-12-18 21:00 Thu 13:00 87215.1 87984.6 -141.94 -96.23 bps
2025-12 2025-12-25 21:00 Thu 13:00 87533.8 88042.1 -141.94 -66.07 bps
2026-01 2026-01-01 23:00 Thu 15:00 87917.6 88165.2 -130.20 -36.16 bps
2026-01 2026-01-08 23:00 Thu 15:00 89978.5 91070.3 -130.20 -129.34 bps
2026-01 2026-01-15 23:00 Thu 15:00 96013.6 95806.8 -130.20 +13.54 bps
2026-01 2026-01-22 23:00 Thu 15:00 89055.1 89295.4 -130.20 -34.98 bps
2026-01 2026-01-29 23:00 Thu 15:00 86978.8 83440.8 -130.20 +398.77 bps
2026-02 2026-02-02 21:00 Mon 13:00 77947.5 78588.8 -52.33 -90.27 bps
2026-02 2026-02-09 21:00 Mon 13:00 69109.7 70049.1 -52.33 -143.93 bps
2026-02 2026-02-16 21:00 Mon 13:00 69739.3 67854.1 -52.33 +262.32 bps
2026-02 2026-02-23 21:00 Mon 13:00 66250.0 65343.0 -52.33 +128.91 bps
2026-03 2026-03-05 22:00 Thu 14:00 72435.5 70668.5 -138.55 +235.94 bps
2026-03 2026-03-12 22:00 Thu 14:00 69930.4 70167.3 -138.55 -41.88 bps
2026-03 2026-03-19 22:00 Thu 14:00 69866.2 69820.0 -138.55 -1.39 bps
2026-03 2026-03-26 22:00 Thu 14:00 69615.8 68456.2 -138.55 +158.57 bps
2026-04 2026-04-02 22:00 Thu 14:00 66227.3 66641.4 -163.46 -70.53 bps
2026-04 2026-04-09 22:00 Thu 14:00 70765.2 72307.0 -163.46 -225.88 bps
2026-04 2026-04-16 22:00 Thu 14:00 73756.0 74301.6 -163.46 -81.97 bps
2026-04 2026-04-23 22:00 Thu 14:00 77486.6 77715.1 -163.46 -37.49 bps
2026-04 2026-04-30 22:00 Thu 14:00 76370.4 76209.2 -163.46 +13.11 bps

▸ 实盘交易记录

入场 (北京)出场 (北京)方向名义入场价出场价出场原因净收益
暂无实盘交易记录 — 等待首次入场

▸ 实盘事件日志 (最近 20 条)

时间事件详情
暂无事件

▸ 实盘 vs 回测对照

暂无对照数据 — 首笔实盘交易完成后自动生成。

▸ 风控仪表盘

当前 Kill Switch

armed

触发后自动停止所有下单

回测风险指标

最大回撤4.77%
最差单笔-297.4 bps
最佳单笔421.4 bps
Sharpe (月频)0.11

回测月度分布

盈利月6
亏损月6
月均交易4.5

▸ 配置文件

Live Config

strategy_id: "rank32c_btc_utc_weak_cell_v1"
mode: "launch_tiny_live"
allow_live_orders: true
symbol: "BTCUSDT"
bar_interval: "15m"
train_days: 60
hold_bars: 16
side: "short"
bottom_k: 1
no_overlap: true
round_trip_cost_bps: 8.0
entry_delay_bars: 0
veto: "prior_24h_abs_move_gt_trailing_180d_mean_plus_2std"
gate: "selected_cell_train_mean_long_bps < -round_trip_cost_bps"
notional_usdc: 100.0
max_single_trade_risk_pct: 1.2
runner_command: "python3 scripts/run_rank32c_btc_utc_weak_cell_tiny_live.py --config config/strategies/rank32c_btc_utc_weak_cell_v1_live.yaml"
order_plan_path: "reports/artifacts/rank32c_pre_live_gate/order_plan.json"
state_path: "reports/artifacts/rank32c_pre_live_gate/state.json"
status_path: "reports/artifacts/rank32c_pre_live_gate/status.json"
closed_trade_ledger: "reports/artifacts/rank32c_pre_live_gate/closed_trades.csv"
live_vs_shadow_ledger: "reports/artifacts/rank32c_pre_live_gate/live_vs_shadow.csv"
kill_switch: "block if stale data, open position exists, duplicate entry key exists, 5 closed trades net <= -2.5%, any single trade <= -1.2%, spread > 8bps, missing bars > 2, slippage > 12bps, or exit ack missing"
current_allow_open: true

Tiny-Live Spec

strategy_id: "rank32c_btc_utc_weak_cell_v1"
mode: "tiny_live_candidate"
symbol: "BTCUSDT"
bar_interval: "15m"
universe_rule: "fixed BTCUSDT only; eligible after Binance UM onboard timestamp; no current-volume or winner selection"
baseline: "monthly trailing 60d weekday-hour weak-cell short"
entry: "at selected weekday/hour bar open; production should place reduce-only-disabled market/IOC with max spread guard"
exit: "time stop after 16 bars"
cost_assumption_bps_round_trip: 8.0
tiny_live_notional_usdc: 100
max_concurrent_positions: 1
expected_trades_per_month: 4.37
minimum_validation_period_days: 45
kill_switch: "disable if 5 closed trades net <= -2.5%, any single trade <= -1.2%, spread > 8bps, missing bars > 2, or execution slippage > 12bps"
monitor_fields: "signal_ts, selected_dow_hour, train_mean_long_bps, entry_ack_ts, entry_price, exit_ack_ts, exit_price, realized_slippage_bps, fees_bps, net_ret, veto_state"
failure_condition: "after >=8 trades or 45d, stop if realized mean net bps <= 0 or live-vs-backtest slippage gap > 8bps"

▸ 策略源码常量 (前 40 行)

from __future__ import annotations

import io
import zipfile
from dataclasses import dataclass
from pathlib import Path

import pandas as pd


STRATEGY_ID = "rank32c_btc_utc_weak_cell_v1"
SYMBOL = "BTCUSDT"
ONBOARD_UTC = "2019-09-25T08:00:00Z"
BAR_MINUTES = 15
TRAIN_DAYS = 60
HOLD_BARS = 16
BOTTOM_K = 1
ROUND_TRIP_COST_BPS = 8.0
EXECUTION_REALISTIC_COST_BPS = 12.0
EXECUTION_REALISTIC_ENTRY_DELAY_BARS = 1
VETO_LOOKBACK_DAYS = 180
VETO_SIGMA = 2.0
GATE_EDGE_MULT = 1.0
TINY_LIVE_NOTIONAL_USDC = 100.0
MAX_SINGLE_TRADE_LOSS_PCT = 1.2


@dataclass(frozen=True)
class StrategySpec:
    strategy_id: str = STRATEGY_ID
    symbol: str = SYMBOL
    train_days: int = TRAIN_DAYS
    hold_bars: int = HOLD_BARS
    bottom_k: int = BOTTOM_K
    round_trip_cost_bps: float = ROUND_TRIP_COST_BPS
    use_veto: bool = True
    use_gate: bool = True
    entry_delay_bars: int = 0

▸ 上线完成审计

# Completion Audit: first_money_btc_utc_weak_cell_v1

## Objective

Deliver a binary final pre-live release gate for `first_money_btc_utc_weak_cell_v1`: either `launch_tiny_live` or `reject_before_live`, with no further tuning, research expansion, or discretionary promotion.

## Requirement Checklist

| Requirement | Evidence | Status |
| --- | --- | --- |
| Freeze one unique strategy spec | `src/momentum/strategies/first_money_btc_utc_weak_cell.py`; `config/strategies/first_money_btc_utc_weak_cell_v1_live.yaml` | pass |
| Use a unified signal path for replay and order planning | `run_replay()` and `build_order_plan()` in `src/momentum/strategies/first_money_btc_utc_weak_cell.py`; `scripts/build_first_money_pre_live_release_gate.py` imports both | pass |
| Produce current-month order plan | `reports/artifacts/first_money_pre_live_gate/order_plan.json` | pass_with_blocker |
| Reject if current plan cannot identify next trade and exit | `order_plan.json` has `selected_cell=null`, `next_entry_ts=null`, `exit_ts=null`; `release_decision.json` is `reject_before_live` | pass |
| Honesty audit against leakage and live-readiness rules | `reports/artifacts/first_money_pre_live_gate/release_gate_audit.md` | pass |
| Startup package exists | live config, guarded runner, state/status files, ledgers, runtime order-plan guard | pass |
| Live orders blocked when release decision rejects | `allow_live_orders: false`; runner exits with `reason=allow_live_orders_false` | pass |
| Machine-readable final decision | `reports/artifacts/first_money_pre_live_gate/release_decision.json` | pass |

## Hard Blockers

- `stale_bar_cache_for_current_month_selection`
- `cannot_predict_next_entry_exit`

Local BTCUSDT 15m cache ends at `2026-04-11T23:45:00Z`; the May 2026 as-of monthly selection requires the completed bar through `2026-04-30T23:45:00Z`.

## Verification

- `python3 -m py_compile src/momentum/strategies/first_money_btc_utc_weak_cell.py scripts/build_first_money_pre_live_release_gate.py scripts/run_first_money_btc_utc_weak_cell_tiny_live.py`
- `python3 scripts/build_first_money_pre_live_release_gate.py`
- `python3 -m json.tool reports/artifacts/first_money_pre_live_gate/release_decision.json`
- `python3 -m json.tool reports/artifacts/first_money_pre_live_gate/order_plan.json`
- `python3 scripts/run_first_money_btc_utc_weak_cell_tiny_live.py --config config/strategies/first_money_btc_utc_weak_cell_v1_live.yaml`

## Final Decision

`reject_before_live`

Rank32c Live Dashboard · Generated 2026-05-06 14:34:11 北京时间 · ← Back to Hub