基于聚类与LSTM的比特币价格深度分析与预测

·

通过近九年的历史数据,我们融合 K-Means 聚类与 LSTM 神经网络,一步步拆解比特币的价格逻辑,并提供面向未来的可操作思路。全程零广告,只留关键洞察与可复制代码片段。

1|研究背景:为什么要重访比特币

关键词:比特币、加密货币、投资决策、量化分析、LSTM 模型

“过去十年,比特币用波动诠释了风险与收益并存。”
它受到宏观政策、链上数据、机构操盘、甚至社媒舆论的交叠影响。传统 K 线与指标已难以完整描述市场状态,因此我们需要:

本项目以 2014-09-18 至 2024-01-21 的日线数据为例(CoinDesk BTC/USD),语言为 Python,面向所有想“用数据说话”的读者。如果你只关心结论,可直接跳到第 8 章「总结与 FAQ」。若你打算复现实验,请先确保安装下列依赖:

pip install pandas tensorflow seaborn scikit-learn keras-tuner matplotlib

👉 立即查看完整 Notebook 与可视化源码(无套路)

2|数据准备与清洗

核心字段: Date、Open、High、Low、Close、Volume。
数据集唯一缺失的是 2024-01-20 全天,缺失量 <0.01%,使用线性插值填补即可:

df = pd.read_csv('BTC-USD.csv', parse_dates=['Date'])
df['Close'] = df['Close'].interpolate()

为了消除量纲差异,后续所有分析都对价格取自然对数,资金量取对数后再标准化。

常见问题一览:

3|五步可视化:先让数据自己讲故事

3.1 全景 K 线 & 重⼤事件映射

3.2 均线系统:黄金 vs 死亡交叉

3.3 RSI 热力

3.4 布林带宽

布林带张口角度 vs 收盘价位置,可拆解为 4 个信号:
① 价格升穿上轨 → 短线追多;② 价格跌穿下轨 → 看恐慌盘;
③ 带宽收窄 → 暴风雨前的宁静;④ 带宽拉开 → 波动盛宴。

3.5 成交量异常

两次巨量: 2017-12 日成交 > 650k BTC;2020-12-20 突破 1.5M BTC。
量在价先,天量后三天若未创出新高,那可视为多头衰竭。

4|K-Means 聚类:把十年切出五张“市场照片”

聚类价格波动区间成交量区间市场称呼
0中等 500-1,500 USD中等 20k-40k BTC调整蓄势期
1低 < 500 USD低 < 10k BTC熊市冬眠期
2极高 >4,000 USD 极端 12k高 50k-100k 极端 350k牛市癫狂期
3单日 4,000 USD极高 350k BTC极端事件
4高 2,000-4,000 USD高 30k-50k BTC牛市主升浪

提示:聚类非黑箱,轮廓系数 0.46 指向 5 类划分最稳定。

时间轴复盘

👉 点此获取可交互聚类时间线(高分辨率)

5|LSTM 进行时序预测

5.1 数据塑形

5.2 基准模型

model = Sequential([
    Input(shape=(60, 1)),
    LSTM(50, return_sequences=False),
    Dropout(0.2),
    Dense(1)
])
model.compile(optimizer='adam', loss='mse')

表现:
MSE ≈ 1.87E6;MAE ≈ 921 美元,肉眼可见峰部低估、底部长阴影。

5.3 超参数调优(Keras Tuner)

搜索空间举例:

最优组合(已通过贝叶斯搜索确认):

{
  "lstm_layers": 2,
  "units": [64, 32],
  "dropout": [0.2, 0.3],
  "lr": 0.002
}

优化后结果:

限制与对策

LSTM 不屈服于黑天鹅:

→ 建议叠加「波动率聚类 + 宏观信息」联合推断,而非单押 LSTM。

6|实操指南:如何把研究落地交易

  1. CLUSTER 先行: 每晚运行聚类脚本判断当日所属簇。
    若触发 Cluster2/4 且 RSI<80 → 考虑趋势追随。
  2. LSTM 次日价预测: 若预测价 > 今日收盘价 2% 且成交量预示放大,可执行轻仓多单。
  3. 风控脚本: 任何仓位预设最大亏损 3% 的硬止损,符合 Cluster0 常态则轻参与或不参与。

7|风险声明

本文仅为技术学习与交流,不构成投资建议。

8|常见问题快答(FAQ)

1. 为何不用 Transformer?
Transformer 在长序列任务更占优,但 BTC 仅 3,000+ 日频样本;LSTM 轻量级,单卡 2 分钟训练完毕。
2. 聚类数目能否动态调节?
可引入 HDBSCAN 实现自适应聚类,但对参数敏感,需回测验证。
3. 实盘延迟怎么解决?
用交易所 API 轮询 1-min K 线,本地 GPU 推理整体延迟 <1.5 秒。
4. 是否可迁移至以太坊?
方法论完全通用,仅需替换数据集;但 ETH 受 DeFi 事件冲击更高频,需把成交量维度再细拆分。
5. 模型多久需要再训练?
半年一次即可;若遇到极端宏观拐点(如 FTX 破产),即时滚动重训。