← Back
16.8%
CAGR (2018–2026)
0.52
Sharpe
3
Assets (BTC/ETH/SOL)
96
Training Samples

01 · 背景与动机

加密货币市场极度情绪化——恐惧时无人敢买,贪婪时无人愿卖。传统的技术分析(MA 金叉/死叉/RSI)在趋势市中有效,但在极端行情中完全失效。

核心假设:恐惧贪婪指数(Fear & Greed Index)是一个被低估的反向指标——当 F&G ≤ 25(极度恐惧)时,往往是历史最佳买入点;当 F&G ≥ 85(极度贪婪)时,是系统性卖出信号。用代码执行这个简单的规则,可以克服人性的情绪偏差。

重要约束:Bot 只输出信号,不自动下单。最终交易决策始终在人——工具解决纪律问题,不解决判断问题。

02 · 策略演化:从三层到纯 F&G

V1: 三层信号系统(失败)

最初设计了三层过滤:

Layer 1: 周线 MA50/200 金叉/死叉 → 牛市/熊市判定
Layer 2: F&G 恐惧贪婪指数 → 仓位倍数 (0x / 0.5x / 1x / 1.5x / 2.5x)
Layer 3: F&G ≥ 85 持续 → 极端卖出

回测 2017-2026(457周):FG-Trend +5.4% vs HODL +1810% vs DCA +347%。根因:MA200 需要 200 周数据 → 2021 年前无买入信号,完美错过了整个牛市。Death cross 在 BTC 39K→24K 后才触发,卖出过晚。

结论:MA 趋势过滤在 BTC 上是反优化——它阻止了恐惧底部的买入。

V2: 纯 F&G 仓位目标再平衡(当前策略)

去掉 MA 过滤层,改为日线级别纯 F&G 驱动的仓位目标:

F&G ≤ 25 → target = base × 2.5 (极度恐惧, 全力买入)
26 ≤ F&G ≤ 44 → target = base × 1.5 (恐惧, 积极加仓)
45 ≤ F&G ≤ 74 → target = base × 1.0 (中性, 保持)
75 ≤ F&G ≤ 84 → target = base × 0.5 (贪婪, 减半)
F&G ≥ 85 → target = 0 (极度贪婪, 暂停)
F&G ≥ 85 连续 5 天 → 额外减仓 20%

回测结果(日线,2018-2026):

策略CAGRSharpeMaxDD
HODL (持有不动)
纯 F&G 仓位目标16.8%0.52
F&G + MA 过滤10.4%0.39
F&G + 死叉清仓5.4%0.1075.2%

03 · 系统设计

1

数据采集 — 双源冗余

F&G 指数:alternative.me(主力)→ 失败时自动 fallback → CoinMarketCap(备用)。价格数据:Binance API 日线 OHLCV。因子模块:CoinGecko BTC 主导率 + 自算 RSI-14 + 成交量趋势。

2

仓位目标计算

F&G → multiplier → target_allocation。多币种支持:BTC(base=85%)、ETH(base=75%)、SOL(base=60%)——高波动币种基准仓位更低。所有参数在 config.yaml 集中管理。

3

因子评分 — 辅助研判

综合评分 0-100:F&G(40%)+ RSI(25%)+ BTC 主导率(15%)+ 成交量趋势(20%)。权重可配置。评分仅作参考,不干预 F&G 仓位目标的主逻辑。

4

LLM 研判 — 多因子分析

Qwen3.5-9B (QLoRA) 训练 96 条金融研判样本。输入:BTC 价格 + F&G + RSI + BTC.D + 成交量 → 输出:判断(恐惧/贪婪/中性)+ 建议 + 理由。LLM 替代手工因子加权,提供多因子综合研判。

5

定时通知 — Cron 调度

每天 00:00 自动运行信号计算,仅当 F&G 区间变化 ≥ 15 或极端信号(极度恐惧/极度贪婪)时推送通知到 QQ。策略纪律 ≥ 频繁交易。

04 · 回测验证

主要发现

05 · LLM 数据扩充

从 12 条到 96 条——规则模板自动生成

方法:不是收集真实交易数据,而是基于 12 条手工构造的金融研判模板,在规则边界内随机扰动指标数值。

原始 12 条模板(5 个 F&G 区间 × 不同 RSI/量/BTC.D 组合)
    ↓ 规则变换(同区间内随机扰动)
96 条变体(极端恐惧 24 + 恐惧 24 + 中性 16 + 贪婪 16 + 极贪 16)

本质:教模型"读盘规则"——F&G=28 恐惧 → 该买——而不是背"BTC $77K 该买"这个具体数字。每条变体保留判断逻辑一致但指标数据不同。

06 · 项目文件

signal_bot.py — 主信号引擎。--assets BTC,ETH,SOL/ALL,双数据源 fallback,config.yaml 驱动
factors.py — 因子模块。BTC Dominance / RSI-14 / 成交量趋势 / CMC F&G 冗余
backtest.py — 日线/周线回测。--asset BTC/ETH/SOL,三策略对比
config.yaml — 统一参数管理。F&G 阈值/仓位倍数/因子权重/币种配置
data_augment.py — 金融研判数据扩充(12→96条),Qwen QLoRA 训练用
expanded_finllm_data.json — 96 条扩充训练数据

07 · 版本日志

v32026-05-18 — 多币种 + 双数据源冗余 + config.yaml 配置化。Qwen 金融研判接入
v22026-05-17 — 纯 F&G 仓位目标,去掉 MA 过滤。新增 factors.py 因子模块
v12026-05-17 — 三层 MA+F&G 信号系统。回测发现 MA 为负优化