| name | 5minbtc |
| version | 5.6 |
| description | BTC 5分钟K线实时方向预测。v5.6冲突检测引擎,11正交因子+momentum/decel冲突降权+V反转+放量突破+Chainlink价格对齐+Platt Scaling+Bull惩罚。 |
| triggers | ["5minbtc","5min btc","btc 5min"] |
| tools | ["terminal","web"] |
5minbtc — BTC 5分钟实时预测 v5.5
最后更新: 2026-05-27 v5.6 冲突检测引擎
v5.6 变更 (2026-05-27)
基于3次方向错误深度复盘的4项修复(已实施验证):
| 修复项 | 变更 | 根因 |
|---|
| R1 momentum/decel冲突检测 | |mom|>0.7且|decel|>0.8且方向相反时,动态降权mom 1.0→0.4, 升权decel 0.7→0.9 | V型反转点momentum锁定错误方向 |
| R2 V型反转因子 | v_reversal_detect() 检测低点抬高模式 [-1,1], BASE_W=0.8 | 捕捉结构性的反转信号 |
| R3 放量突破因子 | vol_breakout_signal() 用最近3根完整K线的最大量K线方向 [-1,1], BASE_W=0.4 | 避免未完成K线的量价误导 |
| R4 Chainlink价格对齐 | fetch_chainlink_ref() Coinbase BTC-USD作参考,自动补偿Binance偏移 | Polymarket结算价≠Binance价格 |
关键代码模式:
- 冲突降权用saved_base模式:
saved_base = BASE_W.copy() → 临时改权重 → combine_factors() → BASE_W.update(saved_base) 恢复。避免跨调用污染全局权重。
- Chainlink偏移安全边界: |offset|>300时不补偿(防止API异常导致预测价飞出合理范围)
- V反转用已完成K线: 取
candles[-4:-1](最近3根完成K线),不用当前未完成K线
- 输出新增字段:
chainlink_offset 追踪每次偏移量, v_reversal/vol_breakout 因子值
v5.5 变更 (2026-05-26)
基于120轮v5.4实战复盘的4项优化:
| 优先级 | 修复项 | 变更 | 影响 |
|---|
| P0-1 | 置信度校准 | 40+abs(score) → Platt Scaling sigmoid | conf与准确率正相关 |
| P0-2 | 新闻因子 | 98% NEUTRAL死代码,保留扫描给LLM | 减少噪声 |
| P1-1 | Bull bias | score>0时×0.92衰减 | bear 70.2% > bull 65.4%修正 |
| P1-2 | 高vol惩罚 | HIGH_VOL 0.6→0.45 | 放量准确率更低 |
附加优化:
- neutral区收缩 [-2,2]→[-1,1],减少无信息预测
- 置信度上限 80→85,让强信号有区分度
calibrate_confidence() 独立函数,midpoint=15, steepness=0.10
概述
对当前5min K线做方向判断和收盘预测。架构:引擎脚本算指标+给基准建议,LLM做综合分析+微调+完整输出。
铁律
- 每次必须重新执行引擎脚本 — 不缓存
- 每次必须重新搜索3组新闻
- 先 settle 上一根,再 log 新预测
- LLM可微调引擎的bias/pred_close/range,但必须说明理由
- 输出15-25行(平衡深度和Telegram可读性)
⚠️ Pitfalls
Binance API 451 封禁
中国大陆所有标准 Binance 端点返回 HTTP 451。必须用 data-api.binance.vision 替代 api.binance.com / api.binance.me。
详见 references/binance-api-geo.md。
验证: curl -s -o /dev/null -w "%{http_code}" "https://data-api.binance.vision/api/v3/klines?symbol=BTCUSDT&interval=5m&limit=5" → 200
路径硬编码
不要用 WORKSPACE = dirname(dirname(dirname(...))) 指向旧 OpenClaw workspace。用 SKILL_DIR = os.path.dirname(os.path.abspath(__file__))。
全局字典临时修改模式
当需要临时修改 BASE_W / REGIME_ADJ 等模块级字典做单次计算时,必须用 saved_base 模式:
saved_base = BASE_W.copy()
BASE_W['momentum'] = 0.4
raw = combine_factors(factors, regime)
BASE_W.update(saved_base)
不要直接修改后不恢复——Python 模块级字典是全局可变的,下次调用会读到脏数据。
执行步骤
Step 1: 并行启动(5个调用同时发出)
并行组:
├── exec: settle-all + 引擎脚本 + 新闻扫描(合并一条命令)
├── web_search: "Bitcoin BTC breaking news price" count=3 freshness=day
├── web_search: "crypto market macro stocks today" count=3 freshness=day
└── web_search: "比特币 BTC 最新 晚间" count=3 freshness=day
搜索优化: 3组通用搜索经常返回首页/目录页而非具体新闻。如果初始结果不具体,立即追加1-2组上下文定制搜索:
- 用引擎当前价格方向:
"Bitcoin BTC price [rise/drop/crash] today [当前日期]"
- 用新闻扫描发现的关键事件:
"BTC [事件关键词] crypto impact [月份] [年份]"
- 这组搜索在引擎执行后、LLM分析前发起,延迟<30秒但信息价值显著提升
引擎命令(绝对路径):
SKILL_DIR=/home/aa/.hermes/profiles/cqo/skills/5minbtc && \
python3 $SKILL_DIR/5minbtc-log.py settle-all 2>&1; \
echo "---ENGINE---"; \
python3 $SKILL_DIR/5minbtc-engine-v5.py 2>&1; \
echo "---NEWS---"; \
python3 $SKILL_DIR/5minbtc-news.py 2>&1
新闻扫描会自动更新 data/news-risk-level.json(结构化情绪+风险等级),供Step 2使用。
Step 2: LLM完整分析(参考引擎数据,不是机械填模板)
LLM收到引擎JSON后,必须:
A. 验收上一根K线(从settle输出)
- 显示:K线时间、预测 vs 实际、误差、方向✅/❌、区间✅/❌
- 1句偏差复盘
B. 综合判断方向(引擎给基准,LLM最终决定)
- 引擎的bias/strength是参考起点,不是最终答案
- 读取
data/news-risk-level.json 获取结构化新闻情绪
- LLM必须考虑引擎忽略的因素:
- 超卖/超买后的反转概率
- BB下轨/上轨的支撑/阻力效应
- 连续阴/阳线后的疲劳
- K线形态(十字星、锤子线、吞没等)
- 新闻方向的权重调整
- 如果LLM调整了引擎方向,必须说明理由
C. 微调预测价(引擎给基准,LLM微调±ATR*0.3以内)
- 引擎pred_close是数学基准
- LLM可基于K线形态、新闻、超卖反弹等调整
- 调整幅度不超过ATR*0.3
D. 完整输出(包含技术分析逻辑,不是只列数字)
Step 3: 记录日志
SKILL_DIR=/home/aa/.hermes/profiles/cqo/skills/5minbtc && \
python3 $SKILL_DIR/5minbtc-log.py log \
"<engine.candle.iso>" \
<final_pred_close> \
<final_pred_high> \
<final_pred_low> \
<confidence> \
<final_bias> \
<news_sentiment> \
<engine.indicators.vol_pct>
输出模板
✅ 验收: [上次K线时间] pred=$XX,XXX actual=$XX,XXX err=±$XX (±X.XX%) dir✅/❌ rng✅/❌
[1句复盘]
📈 BTC 5min 实时预测 @ HH:MM:SS
当前K线: HH:MM→HH:MM | ⏱ XX.X% (剩XmXs)
实时价: $XX,XXX | O=XX,XXX H=XX,XXX L=XX,XXX C=XX,XXX (body ±$XX)
---
📰 今日关键新闻 [结构化信号: 🟢BULLISH/🟡NEUTRAL/🔴BEARISH | 风险: LOW_RISK/NORMAL/ELEVATED/HIGH_VOL]:
- 🟢 [新闻1] — 影响
- 🟡 [新闻2] — 影响
- 🔴 [新闻3] — 影响
新闻净效应: 🟢/🟡/🔴 [原因] | 结构化: [news-risk-level.json sentiment]
🧭 方向: 📈/📉 [bull/bear] [strong/medium/weak] | 依据: [2-3个关键指标+新闻]
- 引擎基准: [engine bias/strength] → LLM调整: [如有调整写理由,无则写"确认引擎判断"]
- EMA9=$XX,XXX / EMA21=$XX,XXX (Δ±$XX)
- RSI=XX.X [超买/超卖/中性]
- MACD=XX.X / Signal=XX.X (Hist=XX.X)
- BB: $XX,XXX / $XX,XXX / $XX,XXX [价格位置]
- ATR=$XX.X | Vol=XX% of avg [放量/缩量/正常]
[2-3句核心分析:结合技术+新闻+K线形态的综合判断]
---
🎯 收盘预测:
| 情景 | 目标区间 | 概率 |
|------|---------|------|
| [主要情景] | $XX,XXX-$XX,XXX | XX% ← |
| [次要情景] | $XX,XXX-$XX,XXX | XX% |
**开盘$XX,XXX → 预测$XX,XXX** (±$XX, ±X.XX%) → 📈/📉
> [1句关键备注]
引擎JSON结构(LLM直接读取)
v5.6输出示例(实际字段名):
{
"version": "5.6",
"candle": {"now":"22:10:26","candle_start":"22:10","candle_end":"22:15","progress_pct":8.9,"remaining_sec":273,"iso":"..."},
"price": {"current":74978.01,"open":75020.0,"high":75037.42,"low":74950.64,"body":-42,"body_pct":-0.056},
"recent_candles": [{"O":75000,"H":75102,"L":74928,"C":75073}, ...],
"indicators": {
"ema9":75099.4, "ema21":75298.7, "ema_delta":-199.3,
"rsi":32.5, "macd":-209.78, "macd_signal":-191.92, "macd_hist":-17.86,
"bb_upper":76060.4, "bb_mid":75357.1, "bb_lower":74653.9,
"atr":155.6, "vol_pct":19.0
},
"fng": {"value":25, "label":"Extreme Fear"},
"factors": {
"momentum": -0.968, "meanrev": 0.431, "rsi": -0.351,
"volume": 0.25, "fatigue": 0, "imbalance": 0.234,
"microprice": 0.246, "decel": 1.0, "position": 0.798,
"v_reversal": 0, "vol_breakout": 0
},
"regime": "TREND",
"chainlink_offset": -152,
"prediction": {"bias":"bull","strength":"weak","confidence":45,"score":1,
"pred_close":74860,"pred_high":74954,"pred_low":74766}
}
v5.6新增字段说明:
chainlink_offset: Binance→Chainlink价格偏移($),已自动补偿pred_close/high/low。LLM在输出末尾注明此偏移即可
fng: Fear & Greed Index,值为null时API不可用
factors.v_reversal: V型反转因子 [-1,1],0=无反转信号
factors.vol_breakout: 放量突破因子 [-1,1],0=无突破信号
price.body_pct: body百分比,正=阳线,负=阴线
## 复盘
```bash
SKILL_DIR=/home/aa/.hermes/profiles/cqo/skills/5minbtc && \
python3 $SKILL_DIR/5minbtc-log.py stats
新闻数据源
| 源 | 延迟 | 状态 |
|---|
| CoinDesk | ~14min | ✅ RSS实时 |
| Cointelegraph | ~3min | ⚠️ 需TG脚本(已降级为RSS fallback) |
| TreeNews | ~120min | ⚠️ 需TG脚本(已降级) |
引擎进化史 & 复盘记录
版本演进
| 版本 | 架构 | 方向准确率 | 关键变更 |
|---|
| v3.1 | 线性打分(EMA+RSI+MACD+Vol) | 64% | 基础版,引擎+LLM混合 |
| v3.5.1 | +低vol衰减/VWAP因子 | 77% | 最佳版本 |
| v4.0 | Hermes迁移 | 60.5% | 路径适配,功能不变 |
| v4.1 | Phase1修复 | 目标70%+ | 过度自信压制+放量反转+bull修正+疲劳增强 |
| v5.4 | 正交因子+Regime | 68.1%(120r) | 9正交因子+sigmoid+TREND dampening+meanrev反转 |
| v5.5 | +校准置信度 | 待验证 | Platt Scaling+Bull惩罚+高vol增强+neutral区收缩 |
| v5.6 | +冲突检测+V反转+Chainlink | 验证中 | mom/decel冲突降权+V反转因子+放量突破+Coinbase价格对齐 |
全量复盘 (178笔结算)
| 日期 | 笔数 | 方向 | 区间 | MAE | 特征 |
|---|
| 05-05 | 107 | 64% | 55% | 0.071% | v3.1,大量测试 |
| 05-06 | 28 | 57% | 71% | 0.068% | v3.1,区间最好 |
| 05-11 | 8+ | 83% | 83% | 0.042% | v3.1手动,最佳表现 |
| 05-12 | 27 | 74% | 56% | 0.038% | v3.5.1 cron运行 |
| 05-23 | — | — | — | — | v4.1上线,待验证 |
全局(v4.0): 方向 60.5% | 区间 62.1% | MAE 0.064%
核心教训
- 过度自信是最致命问题 — conf≥60准确率56.8% < conf<60的65.4%,极端信号=行情末端
- 放量≠确认方向,放量=反转预警 — 放量(≥80%)准确率仅50%
- bull偏向严重 — bull准确率57.3% < bear 63.4%,引擎过度解读EMA金叉
- 线性打分是初学者错误 — 多个共线指标叠加不增加信息量
- 低vol微波动准确率最高 — 缩量时66%,应专注而非放弃
- EMA在底部反弹期天然滞后 — VWAP因子部分修复
- momentum/decel冲突时,decel通常是正确的 — 当 |momentum_tstat|>0.7 且 |decel|>0.8 且方向相反时,长期斜率锁定错误方向,短期反转才是真相(V型反转场景)。此时应大幅降权momentum(×0.4),提权decel(×0.9)
- volume因子使用未完成K线判断方向是致命缺陷 — 预测时点candle仅完成60-70%,在行情反转时当前K线形态仍可能是阴线但最终收盘阳线,volume因子方向判断完全错误。应改为用最近3根完整K线的量价关系
- Polymarket 5min BTC盘口使用 Chainlink Data Streams — 聚合3+家CEX数据取中位数,非单一交易所价格。与Binance BTCUSDT存在$50-150价差(0.1-0.19%),若5min方向由最后一跳决定且最后一跳跨越价差阈值,可能出现"引擎用Binance判断方向对,但Polymarket结算方向不同"的错配
v5.0 升级路线图
详见 references/quant-knowledge-index.md 和 ~/.hermes/profiles/cqo/quant-knowledge/R12-integration-blueprint.md
v5.6 方向错误修复(✅ 已实施 2026-05-27)
基于2026-05-27深度复盘的3次方向错误分析,已全部落地到引擎代码:
| 优先级 | 修复项 | 状态 | 实现 |
|---|
| R0 | momentum/decel冲突检测 | ✅ direction_rule_v5() | saved_base模式动态降权mom→0.4, decel→0.9 |
| R1 | V型反转因子 | ✅ v_reversal_detect() | BASE_W=0.8, TREND/HIGH_VOL下加权至0.9/1.0 |
| R2 | 放量突破因子 | ✅ vol_breakout_signal() | 用最近3根完成K线,BASE_W=0.4 |
| R3 | Chainlink价格对齐 | ✅ fetch_chainlink_ref()+run() | Coinbase BTC-USD参考,偏移补偿上限±$300 |
案例复盘要点:
- 20:20巨量突破(vol=182%):decel=+1.0正确预判反转,但mom=-0.98权重×1.0淹没反转信号 → R0冲突检测修复
- 20:25放量延续(vol=123%):同上,momentum仍在消化15根K线的下跌斜率 → R0冲突检测修复
- 20:50低vol(vol=33%):RANGE regime下meanrev权重放大推高bull,实际仅$2波动 → v5.5 neutral区收缩已覆盖
实时验证: 22:09 CST 运行恰好命中冲突场景(mom=-0.981, decel=+1.0),输出bear conf=45% score=-1
P0 — 立即实施
- OFI微结构因子: Binance WebSocket → 订单流不平衡 → 预测R²~15-25%
- 免费数据源: Arkham(鲸鱼), Binance WS(LOB), Deribit(IV)
- 信号仪表板: 监控因子IC/衰减率 (Simons哲学)
P1 — 2-4周
- Regime-aware仓位 (HMM检测)
- LightGBM自动化因子筛选
- CVaR动态止损
P2 — 1-2月
- TFT多时间尺度模型 → 替代贝叶斯引擎
- 期权IV信号 (Deribit)
- 完整压力测试框架
关键数学升级
- OFI (Cont et al. 2014) → 替代纯价格指标
- Microprice (Stoikov 2018) → 替代 mid price
- Kalman滤波 → 动态EMA权重
- HMM Regime → 自适应仓位
- GPD尾部 → 替代固定止损
参考文件
references/binance-api-geo.md — Binance API 区域封禁解决方案和迁移记录
references/quant-knowledge-index.md — 50轮蒸馏知识库索引(14份报告/~80KB),含升级优先级
references/polymarket-data-source.md — Polymarket BTC价格结算源(Chainlink Data Streams)、与Binance价差分析、对预测引擎的影响
复盘记录文件
存放在 skill 目录根下,按日期命名:
review-2026-05-24.md — v5.5 Platt Scaling 校准分析
review-2026-05-25.md — v5.5 上线后实战复盘
review-2026-05-27.md — v5.6 3次方向错误深度复盘 + 4项修复实施记录
报告库
14份深度蒸馏报告存放在 reports/ 目录(也同步在 AGI-Super-Team 仓库):
- R01-R12:50轮蒸馏(因子理论、策略、DeFi、组合、ML、数据源、前沿研究、期权、微结构、风控、机构方法论、整合蓝图)
- R13:准确率优化方案(178笔复盘后)
- R14:引擎审计报告(顶尖量化审查,4个Critical修复→v5.0架构设计基础)
仓库同步
Skill已同步至 AGI-Super-Team 仓库 skills/5minbtc/:
- 仓库路径:
~/clawd/repos/AGI-Super-Team/skills/5minbtc/
- 包含: 引擎、日志模块、新闻模块、SKILL.md、reports/、references/
- 不包含:
data/ 目录(运行时数据)、5minbtc-log.jsonl(实时预测记录,按需同步)
- 同步命令:
cp 核心文件 → git add → git commit → git push origin master