python 时间序列预测,python时间序列预测的方法

首页 > 教育 > 作者:YD1662024-05-09 01:33:51

点击上方关注,All in AI中国

获得数据

芝加哥期权交易所波动率指数(CBOE Volatility Index,简称VIX)是衡量标普500指数期权隐含的股市波动预期的常用指标,它是由芝加哥期权交易所(CBOE)实时计算和传播的。

本文设置的标普500指数(SP500)日期范围是从2011年2月11日到2019年2月11日。我们的目的是使用ANN和LSTM预测波动性标普500指数时间序列。

首先,我们需要导入以下内容到库:

import pandas as pd import numpy as np %matplotlib inline import matplotlib.pyplot as plt from sklearn.preprocessing import MinMaxScaler from sklearn.metrics import r2_score from keras.models import Sequential from keras.layers import Dense from keras.callbacks import EarlyStopping from keras.optimizers import Adam from keras.layers import LSTM

然后,将数据加载到Pandas数据帧中:

df = pd.read_csv("vix_2011_2019.csv")

我们可以快速浏览一下前几行,

print(df.head())

python 时间序列预测,python时间序列预测的方法(1)

接下来,我们删除不需要的列,然后将“日期”列转换为datatime数据类型,并将“日期”列设置为索引。

df.drop(['Open', 'High', 'Low', 'Close', 'Volume'], axis=1, inplace=True) df['Date'] = pd.to_datetime(df['Date']) df = df.set_index(['Date'], drop=True) df.head(10)

以上步骤

python 时间序列预测,python时间序列预测的方法(2)

完成后,我们再来绘制一张时间序列线图。

plt.figure(figsize=(10, 6)) df['Adj Close'].plot();

python 时间序列预测,python时间序列预测的方法(3)

可以看出,“Adj Close”数据非常不稳定,既没有上升趋势也没有下降趋势。

接下来,以“2018-01-01”为分界将数据拆分训练和测试数据。也就是说,此日期之前的数据是训练数据,之后的数据是测试数据,然后再次对其进行可视化。

split_date = pd.Timestamp('2018-01-01') df = df['Adj Close'] train = df.loc[:split_date] test = df.loc[split_date:] plt.figure(figsize=(10, 6)) ax = train.plot() test.plot(ax=ax) plt.legend(['train', 'test']);

python 时间序列预测,python时间序列预测的方法(4)

首页 1234下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.