5minbtc — BTC 5分钟实时预测 v6.0.0
BTC 单根 5min K线 方向 + 收盘价预测。引擎+LLM 混合架构。 SKILL.md 是索引, 详细内容见
references/。 v5.9 认知转变: 从"13因子预测器"→"3信号错价检测器" — 方向准确率不是 edge,EV = p − P − 成本才是 (见 对抗式审查报告) v6.0 执行转变: 方向从"body 延续统计"改成真 OFI 净流一票决定 — 赌的是"净流已发生、token 价还没定价"的 flow-gap
⚠️ 同名易混: 本 skill 只做 BTC 单标的 5min 方向 + 预测市场 EV。要做全市场永续的量价突破扫描, 用
coin-vp-scanner— 两者区别见下方 与 coin-vp-scanner 的分工。
触发
5minbtc / 5min btc / btc 5min / 监控 (配合持续盯盘)
何时使用
| 场景 | 做法 |
|---|---|
| 当前 5min K线 方向+价位 | ✅ 标准流程, 方向=OFI 净流, edge=错价 EV (v5.8 零前视回测 61.4% 是延续性不是 alpha, 见性能快照) |
| 会话内持续盯盘, 等明确信号 | ✅ 监控模式 (scripts/5minbtc-monitor.py + Monitor 工具) |
| 币安预测市场 Up/Down 5m 交易 | ✅ paper 模拟/实时监控 (见 预测市场策略) |
| "今晚 BTC 涨跌" (宽窗口) | ⚠️ 跑当前 K线 + 给方向倾向, 标注"超出引擎置信区间" |
| "下根 K线" / "1小时后" | 引导在该 K线 起始时间再触发 |
监控模式 (Claude Code)
bash# 无限持续, 直到用户喊停 (会话内盯盘推荐) Monitor(command: "python3 <SKILL>/scripts/5minbtc-monitor.py --max-runs 0", persistent: true) # 默认 20 次采样 (约 40 分钟) python3 <SKILL>/scripts/5minbtc-monitor.py # 单次判断 (非持续) python3 <SKILL>/scripts/5minbtc-monitor.py --dry-run
- 明确信号 = bias 非中性 + strength∈{medium,moderate,strong} + conf≥50 → 自动停
(⚠️ 实测引擎 strength 输出
medium, 判定集合需同时含medium和moderate) - 每根 K 线第 2/3 分钟采样 (progress ~40-70%), 比 cron 第 4 分钟更早
- 事件流:
START/DIR-CHANGE/CLEAR-SIGNAL/ENGINE-ERR/MAX-RUNS - 停止: 用户说「停/结束」→
TaskStop停 Monitor CLEAR-SIGNAL后必须拉一次完整引擎快照二次确认- 引擎验证:
python3 scripts/test_engine.py(13 项, 自带 runner 无需 pytest; 慢测加--slow) — 装了 pytest 也可python3 -m pytest scripts/test_engine.py -v(原文件名test_engine_v58.py带版本号, 引擎升到 v6.0 后即漂移, 2026-09-10 改为不带版本号)
快速开始
bashSKILL_DIR=/home/aa/.hermes/profiles/cqo/skills/5minbtc # 1. 并行: 引擎 + 新闻 + settle (前一根) python3 $SKILL_DIR/5minbtc-log.py settle-all 2>&1 python3 $SKILL_DIR/5minbtc-engine-v6.0.py 2>&1 python3 $SKILL_DIR/5minbtc-news.py 2>&1 # 2. 3 路 web_search (并行) # "Bitcoin BTC breaking news price" / "crypto market macro stocks today" / "比特币 BTC 最新 晚间" # 3. LLM 分析 → 输出 (见 output-template.md) # 4. 写日志 python3 $SKILL_DIR/5minbtc-log.py log \ "<candle.iso>" <pred_close> <pred_high> <pred_low> \ <conf> <bias> <news_sent> <vol_pct>
架构 (1 行/组件)
- 引擎
5minbtc-engine-v6.0.py(v6.0, 输出"version": "6.0.0"): bias 由真 OFI 净流一票决定 (ofi_n>0→bull / <0→bear, 二选一无中性; ofi_n 缺失/为0 用 body 符号兜底并标meta.body_fallback) + 概率P(close>open|ofi)三层(经验校准表 Bayesian shrink + flow-gap + 最近60s流) + 三层独立过滤(多周期4h/1h/15m 结构 + 跨资产ETH/SOL 广度 + WS OFI 新鲜度反转保护) + 9路并行HTTP- ⚠️ K 线开局阶段概率不可信(已知问题,见 pitfalls):主源
ofi_n = 2*(tb/v)−1取自当前进行中的 K 线,_ofi_native()只挡v<=0、无最小样本量保护 → 开局几秒的少量成交就能把 ofi_n 推到 ±0.9。而vol_gate(L692 按MIN_VOL_FRAC=0.25判断流量是否够)算出来但从不参与任何决策,只是输出里的装饰字段。建议只在进度 ≥40% 后采信概率/下单 - 门限:
T_OFI_GATE=0.20/T_OFI_60=0.35/ WS 质量闸OFI_CR_MIN=0.80/OFI_BAYES_N=30 - 13 因子仍计算并输出(JSON 契约保留), 但自 v6.0 起不参与 bias 决策 — score 只用于
strength标签与 LLM 参考
- ⚠️ K 线开局阶段概率不可信(已知问题,见 pitfalls):主源
- 订单流
scripts/ofi_feed.py: trade+bookTicker 组合流 tick规则推断主动买卖, 写~/bb-auto/ofi.json, 带 ts 保鲜(>30s 引擎降级为只信 REST 主源) (launchd: com.daniel.ofi-feed) - 日志
5minbtc-log.py: jsonl 追加 + 增量 settle (写入 logs/) - 新闻
5minbtc-news.py: CoinDesk RSS (唯一稳定源, ~14min 延迟) - 常驻进程 (launchd):
5minbtc_realtime.py(5s 刷新, 预测快照+EV下单) /5minbtc_watch.py/5minbtc_trader.py --paper-monitor - LLM: 因子打分基准 + LLM 综合裁决 + 模板输出
铁律
- 每次必须重新执行引擎脚本 — 不缓存
- 每次必须重新搜索3组新闻
- 先 settle 上一根, 再 log 新预测
- LLM 可微调引擎的
pred_close/range, 但必须说明理由 ⚠️ bias 不要轻易覆盖 (v6.0): 方向是 OFI 一票决定的, LLM 用因子/新闻翻方向 = 退回被证伪的路径。 仅在meta.body_fallback=True或 OFI 数据缺失时才允许改 bias, 并显式写明原因。 - 输出 15-25 行 (平衡深度和 Telegram 可读性)
关键裁决规则 (⚠️ 历史规则: v5.7.x 因子打分路径)
v6.0 起 bias 由真 OFI 一票决定, 下列规则不再决定方向。 仅在两条兜底路径上仍有参考价值: ①
meta.body_fallback=True(ofi_n 缺失/为0, 方向退回 body 符号) ② LLM 复核时解释meta冲突字段。 引擎的raw score仍输出, 但只影响strength标签, 不影响 bias。
- half_body vs imbalance 冲突 (v5.7.2): |half_body|>0.25 + |imbalance|>0.5 + progress≥45% → 优先 half_body (注: 两者自 v5.9 起权重已清零)
- TREND 强趋势 decel 约束 (v5.7.4): EMA delta>$100 时 |decel|>0.7 需 |half_body|>0.15 同向确认
- fatigue≥0.8: conf 上限 40, 反向 +10pp
- chainlink_offset 矛盾: bias=bull 但 pred_close<current → 以 current 为锚 ±ATR×0.3
- 极端进度 (>80%): pred_close 按剩余时间比例缩放
- Body=0 持续模式: pred_close → current ± ATR×0.2, conf 降至 35-42%
性能快照 (2026-09-10 更新)
数字口径以 对抗式审查报告 为准 — 旧数字多数含前视偏差。
- v5.7 回测 71.2% 含前视偏差(文件里自己标注"已知"); 零前视 v5.8: 前2根1min=61.4%, 前4根=69.5%
- 但 61–70% 是"看着 K 线走完再确认"的延续性, 不是 alpha — 做市商已把它定价进 token 价
- 去掉水分后的真实基准: non-neutral 方向 57.7% | bull 63.9% (唯一显著) | bear 50.0% = 纯硬币
- paper 交易: 全样本 UP 成交 44% (+$0.24) | 甜区 UP ask 0.40–0.50 → 60% (+$1.39) ← 唯一正 EV 区间
- 结论: edge 不在方向准不准, 在
EV = p − P − 成本 > 0。v6.0 的错价检测(flow-gap)就是直接做这件事。 - 当前 LLM:
zai/glm-5.2(8-15s/次) | opencaio 实测 MiniMax-M3 ~2.7s 可作更快选项
📚 引用索引 (references/)
核心方法论
- strategy-adversarial-review.md — 对抗式审查报告: 第一性原理 + 13因子证伪 + 该留/删/缺失 + P0/P1/P2行动清单 (v5.9 依据)
- lessons.md — 25 条核心教训 (必读, 含 2026-07-05 新增 23-25)
- pitfalls.md — 20 条 pitfalls 集中索引 (必读, 含并行 max() 评估陷阱; #18 = K线开局概率不可信; #19 = "真OFI" 只覆盖单一市场; #20 = 端点故障致静默断档)
- changelog.md — v5.0 ~ v6.0 详细变更
- skill-organization.md — Skill 文件结构模式 (可复用) — SKILL.md INDEX + references/ 分专题
执行与输出
- execution.md — 完整执行步骤 + 铁律 + 宽窗口处理
- output-template.md — LLM 输出模板 + 裁决规则
- monitoring-claude-code.md — 监控模式: Monitor 工具集成 + 事件协议
- telegram-push-monitor.md — Telegram 推送 daemon: watch 采样节奏/事件类型/记录与结算/launchd 持久化
- prediction-trading-cli.md — 币安预测交易 CLI: 5minbtc_trader.py 用法/参数/安全契约/API端点 (含 --paper/--paper-monitor 模拟)
- prediction-market-strategy.md — 预测市场盈利策略: EV=p−P, 价格门控, 凯利仓位, paper 模拟
数据源 & 网络
- news-sources.md — 新闻源评估 (清理后只剩 CoinDesk)
- binance-api-geo.md — Binance 端点区域问题
- binance-endpoint-flapping.md — 端点双向故障切换
- high-latency-network-handling.md — 高延迟网络处理 (SSL 超时)
Binance 三种故障模式各一份(431/451 区域、隧道抖动、高延迟 SSL 超时),不是重复文档,见 setup-from-scratch.md §6。
引擎专项
- cron-llm-provider-failure.md — Cron LLM Provider 失效诊断 (含 job 列表 §8) + 版本同步规则
回测 & 复盘
- backtest-findings.md — 365 天回测深度复盘 + 因子无预测力
- backtest-v58-1min-findings.md — v5.8 真实 1min 半 K线回测
- review-procedure.md — 每日复盘流程 + 数据质量检查
数据采集 & 仓库
- sync-procedure.md — AGI-Super-Team 同步流程 (路径映射 +
-c校验 + logs 归档策略) - archive.md — 版本归档: v5.0→v6.0 沿革 + 哪些版本已不可取回 + 归档 SOP
- setup-from-scratch.md — 从零搭建: 依赖/目录/密钥/6 个 launchd 服务/验证清单/日志轮转/故障表
- scheduled-tasks.md — 系统级定时任务教程: 常驻型vs定时型 / 2 个任务 / launchd+cc-connect+hermes 三路线 / plist 模板 / 13 条坑
- quant-knowledge-index.md — 50 轮蒸馏知识库索引
复盘记录
⚠️ reviews/ 目录本地不存在 —— 早期文件树声称有 23 份按月归档的复盘记录(2026-05/06/07),实际从未落盘。
复盘结论目前散落在 lessons.md、pitfalls.md、
strategy-adversarial-review.md 与 reports/ 里。
若要恢复这个习惯,需先补 review-procedure.md 的落盘步骤,别只在文档里声明。
报告库
14 份深度蒸馏报告在 reports/ 目录 (也同步在 AGI-Super-Team): R01-R14。
与 coin-vp-scanner 的分工
两个都是交易类 skill, 但赌的不是同一件事, 不要混用:
| 5minbtc (本 skill) | coin-vp-scanner | |
|---|---|---|
| 标的 | 单标的 BTC | 全量币安 USDT 永续 |
| 周期 | 单根 5min K线 | 1–30min 短线 |
| 核心逻辑 | 真 OFI 净流 + 错价检测 (净流已发生、token 价未定价 → flow-gap) | 确定性结构突破 (放量 + 强实体 + 收盘破 1h 结构位 + 趋势同向, 四条全 ✓) |
| 决策依据 | 概率 P(close>open|ofi) vs 市场 token 价 → EV = p − P | 结构规则布尔判定, 非概率 |
| 输出 | 方向 bull/bear + 概率 + edge | 杠杆 / TP / SL 交易卡 |
| 落地方式 | 预测市场 Up/Down token, 仅 paper (LIVE_GATE 硬闸门) | 直接做合约短线 |
| 代码位置 | 本目录自包含 (引擎+脚本+launchd) | 代码在 ~/projects/coin-vp-scanner/, 本 skill 只是索引 |
一句话选型: 要赌"市场定价错了" → 5minbtc; 要抓"价格放量破位了" → coin-vp-scanner。
仓库同步
详见 sync-procedure.md。简述:
bashrsync -av --exclude='data/' --exclude='__pycache__/' \ --exclude='*.jsonl' --exclude='*.jsonl.*' --exclude='*.gz' \ /home/aa/.hermes/profiles/cqo/skills/5minbtc/ \ /home/aa/clawd/repos/AGI-Super-Team/skills/5minbtc/ cd /home/aa/clawd/repos/AGI-Super-Team git add skills/5minbtc/ && git commit -m "sync(skills/5minbtc): <版本>" && git push origin main
回测系统
backtest/ ├── fetch_data.py # Binance 历史数据下载 ├── run_backtest.py # v5.6 回测 (因子无预测力, 公平回测) ├── run_backtest_v57.py # v5.7 回测 (含前视偏差, 已知) ├── run_backtest_v58.py # v5.8 回测 (真实 1min 半 K线, 零前视) ← 推荐 ├── run.sh # 一键运行 ├── data/ # 5min (105K) + 1min (259K) K线 └── results/ # 回测结果 (gitignore)
文件结构
5minbtc/ ├── SKILL.md # 本文件 (~170 行 INDEX) ├── 5minbtc-engine-v6.0.py # 主引擎 (v6.0 真OFI 一票定方向, launchd 调用) ├── 5minbtc-news.py # 新闻扫描 (CoinDesk RSS, 唯一稳定源) ├── 5minbtc-log.py # 日志记录 (写入 logs/) ├── logs/ # 日志 (当月 live + 历史按月压缩) │ ├── 5minbtc-log.jsonl # 当月 live (不入库) │ └── archive/*.jsonl.gz # 月度压缩归档 (入库, 见 archive.md) ├── references/ # 24 份专项 ref (含 skill-organization 模式) ├── backtest/ # 回测系统 (results/ 不入库) ├── data/ # 运行时 (news-risk-level.json 等) ├── scripts/ # 复盘/监控/交易脚本 │ ├── 5minbtc-monitor.py # ★ 监控脚本 (Claude Code Monitor 集成, v1.0) │ ├── 5minbtc_watch.py # ★ Telegram 推送监控 daemon (事件驱动+预测记录+收盘结算) │ ├── 5minbtc_day_stats.py # 预测战绩查询 (今日/历史, --push 推送) │ ├── 5minbtc_trader.py # ★ 币安预测交易桥接 (--once/--loop/--monitor/--paper/--paper-monitor) │ ├── prediction_ws_feed.py # 币安 w3w-prediction WS 实时价源 (<200ms) │ ├── ofi_feed.py # ★ 真订单流采集 (trade+bookTicker, launchd com.daniel.ofi-feed) │ ├── 5minbtc_keyless_paper.py # 免密钥模拟盘 (公开BTC数据模拟UP/DOWN价) │ ├── telegram_push.py # 通用 Telegram 推送助手 │ ├── daily-review-stats.py │ └── fetch-github-repo.sh
⚠️
archive/目录与reviews/目录本地并不存在 —— 本文件早期版本的文件树里声称有它们(还列了 23 份复盘),属于文档/现实漂移,已更正为上面的实际结构:
- 旧版本引擎源码不保留在本地,只留文字归档 → references/archive.md
- 每日复盘从未落盘到
reviews/,复盘结论散在references/lessons.md/pitfalls.md与reports/
最后更新: 2026-09-10 — 引擎 v5.7→v6.0 改名 (文件/SKILL/引用全线对齐, 修引擎内"无中性"过期注释) + SKILL.md 版本刷到 6.0.0 + 性能快照改为审查后的诚实口径 + 补 v5.9/v5.10/v6.0 changelog + 新增与 coin-vp-scanner 的分工说明 + 修文件树未闭合的代码块与 archive//reviews/ 假目录声明 + 新增 archive.md 与 setup-from-scratch.md + logs 月度压缩归档入库

