当前位置: 首页 > news >正文

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

1.项目背景

比特币作为全球最具影响力的加密货币之一,其价格受到多种复杂因素的共同作用,包括市场情绪、政策变化、大型机构的投资行为等,这些因素在不同的市场阶段对比特币价格波动产生直接或间接的影响。通过对比特币市场的深入分析,可以更清晰地了解价格动态和市场行为,进而为投资决策提供更可靠的依据。

本项目对比特币市场进行了全面而深入的分析,采用多种技术指标和数据分析方法,揭示了比特币价格动态和市场行为的关键特征,详细刻画了比特币的市场波动性,还提供了对市场结构和未来价格走势的深刻洞察,这些成果对于投资者、交易者和市场研究人员具有重要的参考价值,能够帮助他们制定更加明智且数据驱动的决策。然而,尽管本项目揭示了比特币市场的许多关键特征,投资者仍需意识到虚拟货币市场的高风险性。比特币等虚拟货币的价格波动极大,常常受全球市场情绪、政策变化和大型机构投资行为的影响,容易出现剧烈的价格波动,此外,虚拟货币市场缺乏足够的监管保护,存在较大的金融风险。

2.数据说明

字段名说明
Date交易日期
Open开盘价(当天交易开始时的价格)
High最高价(当天交易中的最高价格)
Low最低价(当天交易中的最低价格)
Close收盘价(当天交易结束时的价格)
Adj Close复权收盘价(经过调整的收盘价格) 在加密货币中,调整收盘价通常较少使用,因为它不涉及股息或拆股。
Volume成交量(当天的比特币交易总量)

3.Python库导入及数据读取

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
from pandas.plotting import register_matplotlib_converters
import numpy as np
from matplotlib.ticker import MaxNLocator
from sklearn.preprocessing import StandardScaler,MinMaxScaler
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import LSTM, Dense, Dropout
from sklearn.metrics import mean_squared_error, mean_absolute_error
from tensorflow.keras import Input
from tensorflow.keras.optimizers import Adam
from keras_tuner import RandomSearch
import seaborn as sns
from keras_tuner.engine.hyperparameters import HyperParameters
data = pd.read_csv('/home/mw/input/09068560/BTC-USD (2014-2024).csv')

4.数据预览及预处理

查看数据信息:

这里先处理日期,把日期转为正确的日期格式,再对缺失值进行处理。

查找缺失值所在的行:

发现数据在“2024-01-20”这一天全部都丢失了,考虑丢失的比较少,可以使用插值法进行填充。

可以看到,通过插值法填充的数据,还是相对合理的,这里观察数据的起始时间。

该数据集的日期范围是从 2014年9月18日 到 2024年1月21日,并且日期列中没有缺失值。数据是连续的。

5.可视化分析

5.1K线图

  1. 长期增长趋势:从2014年到2024年,比特币价格整体呈现显著的上升趋势,尽管存在周期性波动。

  2. 主要周期:

    • 2014-2016年:价格低位徘徊期
    • 2017年:第一个主要牛市,价格急剧上升
    • 2018-2020年初:长期调整期
    • 2020年中-2021年底:第二个主要牛市,创历史新高
    • 2022年:大幅回调
    • 2023年至今:新一轮上涨趋势
  3. 关键价格点:

    • 2017年末:首次突破20,000美元
    • 2021年4月和11月:两次突破60,000美元,达到历史最高点
  4. 波动性:

    • 早期(2014-2016):相对低波动
    • 中期(2017-2019):波动性增大
    • 近期(2020-2024):呈现更大幅度的价格波动
  5. 调整幅度:

    • 2018年初的回调:从近20,000美元跌至约3,000美元
    • 2022年的回调:从约69,000美元高点跌至约15,000美元

这里由Claude列出比特币价格走势中的重要事件节点,并将其与价格变动相关联,以下是主要事件及其对应的时间点:

  1. 2017年末急涨:

    • 价格从低位急剧上涨至约20,000美元高点
    • 背景:首次加密货币热潮,比特币期货合约推出
  2. 2018年初大跌:

    • 从高点快速回落至约6,000美元
    • 事件:多国开始收紧加密货币监管
  3. 2020年末至2021年初快速上涨:

    • 价格突破50,000美元
    • 背景:机构投资者大规模进入,特斯拉宣布购入比特币
  4. 2021年11月历史新高:

    • 达到接近70,000美元的历史最高点
    • 事件:首只比特币期货ETF在美国上市
  5. 2022年中大幅下跌:

    • 价格跌破20,000美元
    • 背景:全球加息周期开启,加密货币市场整体低迷
  6. 2023年初至今显著上涨:

    • 价格再次突破40,000美元
    • 背景:比特币现货ETF获批预期升温

5.2价格趋势分析

总体来看,尽管比特币价格有周期性的波动,但整体趋势是上升的,说明比特币在长期内的投资价值依然得到一定的市场认可。

  1. 短期与长期价格趋势变化:

    • 短期趋势(由30天线表示)变化更为频繁,对价格变动反应更敏感
    • 长期趋势(由100天线表示)变化相对平缓,反映整体方向
    • 2020年底至2021年末,短期和长期趋势都呈现强劲上升
    • 2022年上半年,短期和长期趋势均转为下降
    • 2023年中期开始,短期和长期趋势再次转为上升
  2. 买卖信号:

    • 黄金交叉(30天线从下向上穿过100天线):买入信号
      • 2020年7月出现明显黄金交叉,随后价格大幅上涨
      • 2023年初再次出现黄金交叉,预示新一轮上涨趋势
    • 死亡交叉(30天线从上向下穿过100天线):卖出信号
      • 2021年中期短暂出现死亡交叉,但很快恢复
      • 2022年初出现显著死亡交叉,随后价格大幅下跌
  3. 趋势确认:

    • 牛市期间:价格线位于30天线之上,30天线高于100天线
    • 熊市期间:价格线位于30天线之下,30天线低于100天线
    • 2023年下半年,价格线突破并保持在两条均线之上,确认上升趋势
  4. 波动性观察:

    • 价格波动幅度随时间增大,但近期相对2021年峰值有所收窄
    • 均线之间的距离反映市场波动性,距离越大表示波动越剧烈
  5. 当前市场状况(2024年初):

    • 价格处于30天和100天均线之上,表明短期和中期趋势向好
    • 30天线位于100天线之上,进一步确认上升趋势
    • 需密切关注价格是否能持续保持在均线之上,以确认趋势持续性

5.3相对强弱指数

超买:当资产的价格在短时间内快速上涨到超过其内在价值或历史平均水平时,称为超买,通常表明投资者情绪过于乐观,价格可能存在回调的风险。
超卖:当资产的价格在短时间内快速下跌到低于其内在价值或历史平均水平时,称为超卖,通常表明投资者情绪过于悲观,价格可能存在反弹的机会。
超买和超卖的概念在技术分析中用于帮助识别潜在的价格反转点。
RSI值显示了该股票的强弱程度。通常RSI值高于70表示股票处于超买状态,可能有回调的风险;低于30表示股票处于超卖状态,可能有反弹的机会。

5.4布林带

  1. 长期趋势:

    • 从2015年到2024年,比特币价格整体呈现上升趋势
  2. 重要价格突破:

    • 2017年末和2021年初,价格突破上轨,预示了显著的上涨行情
    • 2022年中期,价格跌破下轨,标志着熊市的到来
  3. 波动性变化:

    • 2021年布林带显著展开,反映了该时期巨大的市场波动性
    • 相比之下,2019-2020年布林带相对收窄,表明那段时期波动较小
  4. 近期趋势(2023-2024):

    • 价格逐渐上升,突破中轨,显示出上升趋势
    • 布林带开始缓慢展开,可能预示新一轮波动性增加
  5. 当前市场状况:

    • 价格位于中轨和上轨之间,暗示短期内可能继续上涨
    • 但尚未突破上轨,表明上涨动能还不够强劲

5.5成交量走势

  • 2021年初出现了最显著的成交量峰值,远超其他时期,可能与当时比特币价格创历史新高有关。
  • 成交量随着价格波动而波动,在价格较高时,成交量相对较大,尤其是在价格剧烈波动期间。

5.6比特币价格波动与异常检测

  • 2015-2017年:价格波动相对平稳。
  • 2017年末-2018年初:出现第一次显著的价格波动和异常点集中,可能是由ICO热潮和比特币期货合约推出推动。
  • 2020年后:价格波动和异常点明显增多,特别是2021年达到峰值,可能是受机构投资者进入、特斯拉购买比特币、萨尔瓦多将比特币列为法定货币等因素影响。

5.7比特币成交量与异常检测

  • 2015-2017年:成交量较低,无明显异常点。
  • 2017年末-2018年初:首次出现明显的成交量增长。
  • 2020年后:成交量显著增加,异常点更为频繁,反映机构投资者大规模进入市场,以及比特币价格创新高时的市场狂热。

6.市场特征聚类分析

6.1数据预处理

选择用于聚类的特征: 价格波动和成交量,并且进行标准化处理。

6.2K-Means聚类

1.左图为肘部法则图,通过此图可以看到,在聚类数4到5之间,曲线开始明显平缓。
2.右图为轮廓系数图,轮廓系数在聚类数为5时达到最高点。
结合两个图,选择5作为聚类数。

聚类特征概述

  1. 聚类 0(紫色):中等波动、中等成交量

    • 价格波动:中等(约500-1500 USD)
    • 成交量:中等(约0.2-0.4)
    • 特征:市场稳定期,可能是调整或蓄势阶段
  2. 聚类 1(蓝色):低波动、低成交量

    • 价格波动:最低(< 500 USD)
    • 成交量:最低(< 0.1)
    • 特征:市场低迷期,可能是早期阶段或熊市底部
  3. 聚类 2(绿色):极高波动、高成交量

    • 价格波动:最高(4000-8000 USD,有极端值超过12000 USD)
    • 成交量:较高(0.5-1.0,有极端值接近3.5)
    • 特征:市场极度活跃期,可能是牛市顶峰或剧烈波动期
  4. 聚类 3(单点,2021-02-26)

    • 价格波动:高(约4000 USD)
    • 成交量:极高(3.5)
    • 特征:代表单一极端事件
  5. 聚类 4(黄色):高波动、高成交量

    • 价格波动:高(2000-4000 USD)
    • 成交量:高(0.3-0.5)
    • 特征:市场活跃期,可能是牛市上升阶段或高度投机期

市场演变分析

  1. 早期阶段(2014-2017年中)

    • 主要表现为聚类1(蓝色),低波动低成交量
    • 市场处于萌芽期,参与度低
  2. 首次爆发期(2017年底-2018年初)

    • 出现聚类4(黄色)和聚类2(绿色)
    • 市场经历第一次大规模牛市,价格和成交量显著上升
  3. 调整期(2018-2020年中)

    • 主要为聚类0(紫色)和聚类1(蓝色)
    • 市场进入调整,波动和成交量回落但仍高于初期水平
  4. 成熟爆发期(2020年底-2021年)

    • 大量聚类2(绿色)和聚类4(黄色)出现
    • 市场达到前所未有的高度活跃状态,价格和成交量创历史新高
  5. 高位波动期(2022-2024年初)

    • 聚类0(紫色)、聚类4(黄色)和少量聚类2(绿色)交替出现
    • 市场维持在较高水平但波动性增加,可能进入新的调整期

7.基于LSTM模型预测比特币价格

7.1数据预处理

对数据进行归一化,归一化到0-1之间后,划分数据集,并且将数据调整为 LSTM 所需的格式。

7.2建立模型

原始模型性能:

均方误差 (MSE): 1874807.721

平均绝对误差 (MAE): 920.989

7.3优化参数

最佳超参数:

{‘num_lstm_layers’: 1,

‘lstm_units_0’: 32,

‘dropout_0’: 0.4,

‘dense_units’: 48,

‘learning_rate’: 0.0031256760850773423,

‘lstm_units_1’: 32,

‘dropout_1’: 0.4,

‘lstm_units_2’: 96,

‘dropout_2’: 0.1}

优化后的模型性能:

均方误差 (MSE): 897151.138

平均绝对误差 (MAE): 663.656

  1. LSTM模型对比特币价格的整体趋势预测较为准确。
  2. 优化确实带来了一定的改进,但改进幅度不大。
  3. 对于日常波动,两个模型都表现良好,但在预测大幅度价格变动时仍有改进空间。
  4. 这种预测模型适合用于中短期趋势分析,但不应过度依赖于其对具体价格点的预测。

8.总结

本项目对比特币市场进行了全面而深入的分析,采用多种技术指标和数据分析方法,揭示了比特币价格动态和市场行为的关键特征。

具体而言,项目包括以下主要组成部分:

  1. 多维度可视化分析:

    • 绘制K线图,直观展示价格变动。
    • 进行价格趋势分析,识别长期走势。
    • 运用移动平均线,平滑短期波动并突显趋势。
    • 通过RSI(相对强弱指数)分析,评估市场过买过卖状况。
    • 利用布林带,量化价格波动范围和潜在突破点。
    • 分析成交量走势,洞察市场参与度变化。
  2. 异常检测:

    • 实施价格异常波动检测,识别重大市场事件。
    • 进行成交量异常值检测,发现潜在的市场操纵或重大交易活动。
  3. 市场状态聚类分析:

    • 应用K-Means聚类算法,将市场状态划分为五个不同类别。
    • 深入理解不同市场阶段的特征和行为模式。
  4. 高级预测模型:

    • 构建并优化LSTM(长短期记忆)神经网络模型。
    • 对比特币收盘价进行预测,为投资决策提供数据支持。

通过这一系列全面的分析和建模,本项目不仅详细刻画了比特币的市场波动性,还提供了对市场结构和未来价格走势的深刻洞察,这些成果对于投资者、交易者和市场研究人员具有重要的参考价值,能够帮助他们制定更加明智且数据驱动的决策。然而,尽管本项目揭示了比特币市场的许多关键特征,投资者仍需意识到虚拟货币市场的高风险性。比特币等虚拟货币的价格波动极大,常常受全球市场情绪、政策变化和大型机构投资行为的影响,容易出现剧烈的价格波动,此外,虚拟货币市场缺乏足够的监管保护,存在较大的金融风险。
本项目仅供学习参考!建议投资者在做出任何投资决策时,结合市场走势和政策变化,尽量控制风险,避免盲目跟风。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 开机自动启动nginx
  • 【无人机设计与控制】 四轴飞行器的位移控制
  • Spring WebSocket 快速示例
  • 【空气能热泵热水系统原理
  • 容器测评十个热门小知识
  • JVM面试(四)类加载器和双亲委派机制
  • 什么是敏捷?
  • Kafka【九】如何实现数据的幂等性操作
  • SQL各子句的执行顺序
  • 【Jupyter Notebook】汉化
  • 简单的springboot log4j2日志配置
  • 如何在实际应用中优化AI大模型性能
  • 学习大模型最佳书籍推荐:NUS尤洋教授所著新书《实战AI大模型》,得到李开复、颜水成、周鸿祎大牛鼎力推荐
  • 如何通过商品id商品链接来获取淘宝商品主图详情图等数据?
  • 828华为云征文 | 基于Docker与Jenkins实现自动化部署
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • @angular/forms 源码解析之双向绑定
  • Github访问慢解决办法
  • java8 Stream Pipelines 浅析
  • JavaScript DOM 10 - 滚动
  • Javascript Math对象和Date对象常用方法详解
  • JavaWeb(学习笔记二)
  • leetcode-27. Remove Element
  • passportjs 源码分析
  • python学习笔记-类对象的信息
  • React+TypeScript入门
  • tab.js分享及浏览器兼容性问题汇总
  • Wamp集成环境 添加PHP的新版本
  • 大主子表关联的性能优化方法
  • 力扣(LeetCode)56
  • 面试总结JavaScript篇
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 突破自己的技术思维
  • 线性表及其算法(java实现)
  • 一个SAP顾问在美国的这些年
  • 国内开源镜像站点
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • $.ajax中的eval及dataType
  • $.proxy和$.extend
  • (52)只出现一次的数字III
  • (LeetCode 49)Anagrams
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (第三期)书生大模型实战营——InternVL(冷笑话大师)部署微调实践
  • (转载)Google Chrome调试JS
  • .ai域名是什么后缀?
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .form文件_一篇文章学会文件上传
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net 获取某一天 在当月是 第几周 函数
  • .NET 药厂业务系统 CPU爆高分析
  • .net实现头像缩放截取功能 -----转载自accp教程网
  • .net网站发布-允许更新此预编译站点