【不是铁人赛】Day 01|虚拟货币价格预测(一)资料处理

友:你要不要一起参加铁人赛?
我:好啊!
(几天后)
我:乾我不小心忘了报名......
--------------------------------------> 2021.09.17


本系列的目标如下

陪我同事参赛,一起写文。带大家使用不同的模型来预测涨跌。带大家使用不同的特徵来预测涨跌。总目标是发大财。

今天先来跟大家快速的把所需的资料整理好,以下是会使用到的工具,因为网路上的教学很多,所以就不教大家怎么设定一些有的没有的了XDD,那我们...累狗!

工具: Google Colaboratory资料: Kaggle 上的虚拟货币资料 Cryptocurrency Historical Prices範例程式

Step 0. 了解资料。

大家从kaggle把资料下载下来之后,别忘了先去看看有哪些栏位喔。一般来说,金融预测会使用Open, High, Low, Close这四项数据来做。

Step 1. 汇入使用的套件。

import numpy as npimport pandas as pdimport tensorflow as tf

Step 2. 使用pandas读取资料,以下以比特币为例。

coin_data = pd.read_csv('coin_Bitcoin.csv')coin_data.head()    # 显示前面几笔资料,预设五笔。

Step 3. 资料清洗。

我们现在只会使用到四种数据,开盘价,最高价,最低价,收盘价。我们使用drop()来丢掉不必要的栏位,丢完之后应该只会剩下四项,一样使用head()来检查看看。
data = coin_data.drop(['SNo', 'Name', 'Symbol', 'Date', 'Volume', 'Marketcap'], axis=1)data.head()

Step 4. 产生训练资料与标注资料。

时间序列的预测任务所使用的资料很多变,我们会使用前七天的四项数据,来预测第八天的涨跌。我们的预测结果是第八天的收盘价减去第七天的收盘价,如果涨,就是1,反之为0。简单来说,我们的逻辑就是,我使用到今天为止七天前的资料来预测明天会不会涨。
train_data = []for idx in range(len(data)-7):    train_data.append(data.values[idx:idx+7].tolist())train_label = []for idx in range(7, len(data)):    rise_or_fall = data['Close'][idx] - data['Close'][idx-1]    if rise_or_fall >= 0:        rise_or_fall = 1    else:        rise_or_fall = 0    train_label.append(rise_or_fall)

稍微检查一下data跟label长度有没有一样。

print(np.array(train_data).shape)print(np.array(train_label).shape)# (2984, 7, 4)# (2984,)

小结

好的,今天我们把会训练模型需要的资料整理好了,明天将会带大家来训练不同的模型啰!


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章