比特币10年价格数据(2014-2024)分析(进阶2_时间序列分析)

数据入口:【每周挑战】比特币10年价格数据可视化和量化分析 - Heywhale.com

本数据集包含 2014 - 2024 的比特币美元价格数据,具体包含比特币每日的开盘价、最高价、最低价、收盘价以及成交量等关键信息。数据说明如下:

字段说明
Date日期,比特币的交易日期
Open (Open price per unit)开盘价,每天比特币交易开始时的价格
High (Highest price per unit)最高价,每天交易期间比特币的最高成交价格
Low最低价,每天交易期间比特币的最低成交价格
Close (Adj Close)收盘价,指当天交易结束时的价格,调整后的收盘价考虑了股息等因素
Volume成交量,每天比特币的交易量,通常以比特币的单位表示

在发布的基础与进阶一中,具体分析了价格波动与趋势分析、成交量与市场波动关系分析、价格异常波动检测和成交量异常值检测以及市场特征聚类分析等。在本文中,将从时间序列分析与预测角度入手。

首先读取处理过的数据:

import pandas as pd
file_path = 'data.csv'
data = pd.read_csv(file_path)data

一:检测平稳性

data['Date'] = pd.to_datetime(data['Date'])
data.set_index('Date', inplace=True)
import matplotlib.pyplot as plt
plt.figure(figsize=(10, 5))
plt.plot(data['Adj Close'], label='Adj Close')
plt.title('Time Series of Adjusted Closing Price')
plt.xlabel('Date')
plt.ylabel('Price')
plt.legend()
plt.grid(True)
plt.show()

我们绘制了“调整后的收盘价”的时间序列图,以便更好地了解数据的趋势和季节性:

从“调整后的收盘价”时间序列图中,我们可以看到数据呈现出一定的波动性,但没有明显的趋势或季节性模式。接下来,我们将使用ADF(Augmented Dickey-Fuller)测试来确定数据的平稳性。如果数据不是平稳的,我们可能需要进行差分以使其平稳。

from statsmodels.tsa.stattools import adfullerresult = adfuller(data['Adj Close'])adf_test_statistic = result[0]
p_value = result[1]adf_test_statistic, p_value

ADF测试的统计量为-1.332,p值为0.614。由于p值大于常用的显著性水平(例如0.05),我们不能拒绝原假设,即数据存在单位根,因此数据不是平稳的。

为了使数据平稳,我们可以对数据进行差分。首先,我们将尝试一阶差分,并再次进行ADF测试以检查平稳性。

data_diff = data['Adj Close'].diff().dropna()result_diff = adfuller(data_diff)adf_test_statistic_diff = result_diff[0]
p_value_diff = result_diff[1]adf_test_statistic_diff, p_value_diff

对数据进行一阶差分后,ADF测试的统计量为-8.964,p值接近0。由于p值远小于常用的显著性水平(例如0.05),我们可以拒绝原假设,即差分后的数据不存在单位根,因此数据是平稳的。

接下来,我们将绘制差分后数据的ACF和PACF图,以确定ARIMA模型的参数。

二:确定ARIMA模型的参数

from statsmodels.graphics.tsaplots import plot_acf, plot_pacfplt.figure(figsize=(12, 6))plt.subplot(1, 2, 1)
plot_acf(data_diff, lags=20, ax=plt.gca())
plt.title('ACF of First-Differenced Data')plt.subplot(1, 2, 2)
plot_pacf(data_diff, lags=20, ax=plt.gca())
plt.title('PACF of First-Differenced Data')plt.tight_layout()
plt.show()

从ACF和PACF图中,我们可以观察到:

  • ACF图显示滞后项逐渐减少,但没有明显的截尾。
  • PACF图在滞后1后迅速下降,表明ARIMA模型中的AR项的阶数可能为1。

基于这些观察结果,我们可以尝试构建ARIMA(1,1,0)模型,其中1,1,0分别代表ARIMA模型中的p,d,q参数。

接下来,我们将使用ARIMA(1,1,0)模型对数据进行拟合,并进行预测。

三:ARIMA模型建立与预测

from statsmodels.tsa.arima.model import ARIMAmodel = ARIMA(data['Adj Close'], order=(1, 1, 0))model_fit = model.fit()forecast = model_fit.forecast(steps=5)forecast_values = forecast.tolist()
forecast_values

ARIMA(1,1,0)模型预测的接下来五个时间步的“调整后的收盘价”如下:

  1. 41623.5449
  2. 41623.5492
  3. 41623.5491
  4. 41623.5491
  5. 41623.5491

这些预测值是可以与实际结果相比较,从而评价模型的优劣性。

附录:每日股票行情数据

想要探索多元化的数据分析视角,可以关注之前发布的相关内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/143259.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

MES管理系统在智能制造中的重要应用

在智能制造的浪潮席卷之下,MES管理系统犹如一位精通生产艺术的智者,以其独到的洞察力和卓越的能力,引领着制造业向更加智能化、高效化的未来迈进。它不仅仅是一个数据汇聚的容器,更是信息处理的引擎、决策制定的伙伴,以…

游戏开发引擎__游戏场景(灯光,摄像机)

1.灯光 重要参数介绍 类型: 控制灯光的类型,有“定向”“点”“区域”和“聚光”4种模式。颜色: 控制灯光的颜色。模式: 控制灯光的光照模式,有“实时”“混合”和“烘焙”3种模式。强度: 控制灯光的明亮程度。间接乘数: 改变间接光的强度。阴影类型: …

亚信电子于IAS 2024展出最新IO-Link主站设备软件协议栈解决方案

亚信电子即将于IAS 2024展示最新的亚信IO-Link主站/设备软件协议栈、集成亚信IO-Link主站软件协议栈的AX58400 EtherCAT转IO-Link网关,以及AXM57104A TSN PCIe千兆以太网卡解决方案。 [台湾新竹讯, 2024年9月18日] 亚信电子(ASIX Electronics Corporat…

Golang | Leetcode Golang题解之第415题字符串相加

题目: 题解: func addStrings(num1 string, num2 string) string {add : 0ans : ""for i, j : len(num1) - 1, len(num2) - 1; i > 0 || j > 0 || add ! 0; i, j i - 1, j - 1 {var x, y intif i > 0 {x int(num1[i] - 0)}if j &g…

二叉树的层序遍历(含十道leetcode相关题目)

文章目录 二叉树层序遍历模板102. 二叉树的层序遍历 二叉树层序遍历模板 我们之前讲过了关于二叉树的深度优先遍历的文章:前中后序遍历的递归法和迭代法。 接下来我们再来介绍二叉树的另一种遍历方式:层序遍历。 层序遍历一个二叉树。就是从左到右一层…

1.1 软件测试 + AI

欢迎大家订阅【软件测试】学习专栏,开启你的软件测试学习之旅! 文章目录 前言一、软件测试二、人工智能的引入 前言 人工智能的引入为软件测试带来了巨大的变革,不仅提升了测试效率和准确性,也为软件质量的保障提供了新的手段。通…

微信小程序开发自带的自定义Navigation-bar避坑

最近新开了一个小程序项目,用了新版本的微信小程序开发工具。在模拟器上开发一直都很顺利,开发完成之后,要上到真机上进行测试,发现在华为的鸿蒙上,样式有点不对了。 居然NavigationBar被遮住了一半,发现在…

Spark-ShuffleWriter-UnsafeShuffleWriter-钨丝内存分配

一、上下文 《Spark-ShuffleWriter-UnsafeShuffleWriter》中提到在进行Page内存分配时,调用了一行代码 MemoryBlock page memoryManager.tungstenMemoryAllocator().allocate(acquired); 这里就会走MemoryManager的钨丝内存分配,下面我们来详细看下 …

MySQL高阶1831-每天的最大交易

题目 编写一个解决方案,报告每天交易金额 amount 最大 的交易 ID 。如果一天中有多个这样的交易,返回这些交易的 ID 。 返回结果根据 transaction_id 升序排列。 准备数据 Create table If Not Exists Transactions (transaction_id int, day date, …

python筛选出不合格密码的用户

有如下数据:筛选出不合格密码的用户,对出现至少四个连续数值为不合格密码,例如"1234"、"8765"为不合格密码 用户名密码X12345678Y87654321O10293847P39485726Q28475639R19283746S91827364T56473829U83746592V28374659W7…

新手教学系列——基于统一页面的管理后台设计(一)

在现代企业级应用中,后台管理系统往往是核心组成部分,特别是随着业务规模的扩展,如何在多个后端服务模块的基础上实现统一的登录验证、权限控制和页面管理,成为许多开发者面对的挑战。本文将以实际项目为例,详细讲解如何设计一个多模块的后台管理系统,满足不同服务模块的…

superset 解决在 mac 电脑上发送 slack 通知的问题

参考文档: https://superset.apache.org/docs/configuration/alerts-reports/ 核心配置: FROM apache/superset:3.1.0USER rootRUN apt-get update && \apt-get install --no-install-recommends -y firefox-esrENV GECKODRIVER_VERSION0.29.0 RUN wget -q https://g…

leetcode:字符串中的第一个唯一字符

#include <unordered_map> class Solution { public:int firstUniqChar(string s) {unordered_map<char, int> HashMap;string::iterator it s.begin();int i 0;//标记元素下标while (it ! s.end())//初始化哈希表{if (HashMap.count(*it) > 0)//原先hash表中…

saltstack远程执行

一、saltstack远程执行 一、saltstack远程执行&#xff1a;目标-targeting 详解见&#xff1a;https://www.cnblogs.com/phennry/p/5416408.html 1、查看认证主机情况 2、具体匹配 Globing :   *, 正则:      指定-E参数&#xff0c;正则表达式匹配多个 List&#xff1a…

我的AI工具箱Tauri版-FasterWhisper音频转文本

本教程基于自研的AI工具箱Tauri版进行FasterWhisper音频转文本服务。 进入软件后可以直接搜索 FasterWhisper 或者依次点击 Python音频技术/音频tools 进入该模块。 进入目录后需要进行一些基础配置&#xff0c;参数是默认的可以根据自己的机器进行一些简单的参数操作。 使用方…

新的 MathWorks 硬件支持包支持从 MATLAB 和 Simulink 模型到高通 Hexagon 神经处理单元架构的自动化代码生成

MathWorks 今天宣布&#xff0c;推出针对 Qualcomm Hexagon™ 神经处理单元&#xff08;NPU&#xff09;的硬件支持包。该处理单元嵌入在 Snapdragon 系列处理器中。MathWorks 硬件支持包&#xff0c;则专门针对 Qualcomm Technologies 的 Hexagon NPU 架构进行优化&#xff0c…

NISP 一级 | 7.2 信息安全风险管理

关注这个证书的其他相关笔记&#xff1a;NISP 一级 —— 考证笔记合集-CSDN博客 0x01&#xff1a;信息安全风险 信息系统不可能达到绝对安全&#xff0c;但可以通过安全风险&#xff08;以下简称“风险”&#xff09;控制来实现符合个人或单位目标的一定程度的安全。信息安全管…

Axure PR 9 标签 设计交互

大家好&#xff0c;我是大明同学。 这期内容&#xff0c;我们将深入探讨Axure中可编辑标签元件设计与交互技巧。 可移除标签元件 创建可移除标签所需的元件 1.打开一个新的 RP 文件并在画布上打开 Page 1。 2.在元件库中拖出一个文本框元件。 3.选中文本框元件&#xff0c…

Java安全(加密+HTTPS+WEB安全)

Java加密 单向加密 接收一段明文&#xff0c;然后以一种不可逆的方式将它转换成一段密文 ①、MD5&#xff0c;将无论多长的数据最后编码128位数据&#xff0c;常用文件校验、密码加密、散列数据 byte[] data ...;//明文数据 MessageDigest md5 MessageDigest.getInstance…

构建未来教育:智慧校园的功能与特色

智慧校园是一种利用先进科技手段将传统学校建设与管理进行智能化升级的教育发展模式。其主要功能和特点旨在提供更高效、便捷、安全的教育环境&#xff0c;致力于推动教育教学质量和校园管理水平向更智能化方向发展。 主要功能 1.智能安防系统: 监控摄像头、门禁系统等安防设…