软件工程作业

陈世杰 3121010070
基于深度学习与时间序列模型的比特币价格预测系统设计与实现
摘要
随着加密货币市场的高速发展,比特币(BTC)作为规模最大、流动性最强的数字资产,其价格波动性极高,具有明显的时间序列特征。对比特币价格进行预测,不仅能辅助投资者决策,也为数字资产量化交易、风险控制提供理论与技术支持。本项目基于欧易(OKX)公开API采集行情数据,构建数据预处理模块,结合 ARIMA、LSTM、Attention-BiLSTM 等模型进行预测实验,并最终通过可视化图表展示预测结果,形成一个端到端(End-to-End)的比特币价格预测原型系统。
本研究重点强调数据采集、特征提取、时间序列建模等技术环节,同时提供系统实现架构、预测流程图及模块说明。本论文最终实现了一个可扩展、可复现的数据预测流程,为后续数字货币预测研究提供参考。

系统总体设计
1.1 系统总体架构
本项目采用自底向上的方式构建完整预测系统,从数据采集、处理,到模型训练与预测、可视化输出均按模块化设计。

图注:系统从欧易API获取BTC K线数据,经预处理后输入模型,最终输出预测结果并可视化展示。
1.2 功能模块划分
系统由以下部分组成:
数据采集模块——通过调用 OKX RESTful API 获取 1h、4h 或 1m K线数据
数据预处理模块——清洗缺失值、格式转化、生成特征序列
模型训练模块
ARIMA 时间序列模型
LSTM 深度学习模型
Attention-BiLSTM
预测与可视化模块
系统运行脚本与模型保存模块
数据采集与预处理
2.1 数据来源与 API 调用
本系统使用欧易(OKX)官方公共 Market API:
https://www.okx.com/api/v5/market/candles
请求示例(BTC-USDT,1h):
https://www.okx.com/api/v5/market/candles?instId=BTC-USDT&bar=1H&limit=300
图注:示例展示了时间戳、开盘价、最高价、最低价、收盘价、成交量等字段。

2.2 数据预处理流程
预处理包括:
时间戳转化
缺失值检查
价格字段转 float
根据窗口(window_size)生成训练样本
特征归一化(MinMaxScaler)

图注:展示原始数据输入后如何经过清洗、转换、归一化等步骤。
模型设计
3.1 ARIMA 模型
ARIMA 模型用于传统时间序列预测。流程如下:

图注:展示差分、平稳性检验、参数寻优、模型训练及预测步骤。

3.2 LSTM 模型设计
LSTM 属于循环神经网络(RNN),适合建模序列相关性。
LSTM 模型结构如下:
输入层:窗口序列(window_size × 1)
LSTM 隐藏层
Dense 输出层(1步预测)
3.3 Attention-BiLSTM(选做)
如果你选择扩展模型,可以加入 Attention-BiLSTM,使模型对关键时间点赋予更高权重,提高预测表现。
第五章 实验与结果分析
5.1 数据集构建与划分
300 条BTC-1H历史数据
Train : Test = 80% : 20%
5.2 实验步骤说明
使用 window_size=5、10、24 进行对比
训练 LSTM 模型
使用最后的窗口预测未来 6 小时(6 步)
5.3 实验结果可视化
(1)过去数据拟合效果
(2)未来六小时预测
系统实现
系统目录结构
cryptocurrency_project/
│── data/
│── models/
│── output/
│── venv/
│── main.py
│── requirements.txt

主程序逻辑说明
调用 API 获取数据
创建窗口特征
模型训练
模型预测
输出可视化图表
附录:

图片2

图片3

图片4

图片5

图片6

图片7

图片8

图片9

图片10

图片11
图片1

posted @ 2026-01-15 02:07  凉臣  阅读(1)  评论(0)    收藏  举报