时间序列分析的模型应用 – 股价预测

©作者 | 董叶

时间序列是一种特殊类型的数据集,其中随时间测量一个或多个变量。

例如天气变化, 股票价格变动,时间序列分析即是通过构建模型反映时间序列中包含的动态依存关系,并借以对未来发生的变化做预测。对最近7天的天气、明天收盘股价的预判。

01 时间序列分析的模型分类

目前发展的时间序列分析模型主要有三种:

1.1 经典时间序列模型

经典时间序列模型是一系列统计模型,例如自回归模型(AR)、整合移动平均自回归模型(ARIMA), 广义自回归条件异方差模型(GARCH),它们基于时间序列内的时间变化,并且适用于单变量时间序列,这些模型一般只适用于时间序列。

1.2 监督模型

线性回归、随机森林、XGBoost 这类经典的机器学习算法,虽然不是专门为时间序列分析而设计,但是在变量预测问题有着很好的效果。

1.3 深度学习模型

长短时记忆模型LSTM、Facebook开源时间序列库Prophet,亚马逊DeepAR, 此类模型能够自动从原始数据和不完整数据中学习和提取特征,同时考虑时间序列长期和短期的数据依赖。

02 时间序列数据的主要特性

2.1 时间序列数据的三个组成部分:季节性、趋势和噪声

季节性是出现在时间序列变量中的重复运动。例如,一个地方的温度在夏季较高,而在冬季较低。可以计算平均每月温度并使用此季节性作为预测未来值的基础。

趋势可以是长期向上或向下的模式。在温度时间序列中,由于全球变暖可能会出现趋势。例如,除了夏季/冬季季节性之外,很可能会看到平均温度随着时间的推移略有上升。

噪声是时间序列中可变性的一部分,既不能用季节性也不能用趋势来解释的部分, 始终存在的误差项。

2.2 时间序列数据中的自相关

自相关是时间序列的当前值与过去值之间的相关性,这意味着可能用历史数据预测未来。自相关具有非常强的合理性,因为我们的历史观让我们自然的去相信:历史会重演,过去的经验可以被用来反映未来。

2.3 时间序列中的平稳性

平稳性是指时间序列数据的变化特征维持稳定,数据的历史分布和未来分布趋于一致。通常股价走势数据、天气温度数据具有趋势性、周期性,并不直接满足平稳性特征,一般通过差分法将非平稳数据转换成平稳数据,例如股价的涨幅,温度按月度同比变化值,通过去除时间序列中趋势、季节性变化来平稳化数据。

03 实际应用 - 股价预测

预测股市的表现是最困难的事情之一,但时间序列分析可以为股票的技术分析提供参考,下文将会采用经典时间序列模型ARIMA以及深度学习LSTM模型对股价进行预测。

其中我们将会使用 Akshare 库下载国内A股交易数据, 并且以平安银行(股票代码:000001)为例。

经典时间序列模型 – ARIMA

ARIMA 整合移动平均自回归模型,这个模型适用于非平稳非周期性时间序列分析ARIMA模型有三个分量,通常以ARIMA(p,d,q)表示模型。

AR为自回归项,p为自回归项数;

I为差分项,d为使之成为平稳序列所做的差分次数(阶数);

MA为"滑动平均",q为滑动平均项数。

其中L是滞后算子(Lag operator),d in Z, d>0。

通常分析时间序列数据,可以参照下图:

对序列平稳性判断,通常我们采用ADF检验:

股价的原始序列不满足平稳性条件, 我们需要进行平稳性处理,一般采用差分和变换的方法,下面是确定模型相关参数的步骤,

1对于非平稳时间序列要先进行d阶差分运算,化为平稳时间序列

2 对得到的平稳时间序列分别求其自相关系数ACF 和偏自相关系数PACF,通过对自相关图和偏自相关图的分析,得到最佳的阶层 p 和阶数 q

3 由以上得到的d、p、q,得到ARIMA模型,然后开始对得到的模型进行模型检验。

从上图可以得出我们初步的模型可以选择 ARIMA(1,1,1)

Auto_ARIMA

除了用以上图形观察的方法选择模型参数之外,我们可以借用 pmdarima.arima 内置的Auto-ARIMA包自动迭代(p,d,q)三个参数,通过穷举的方法找出所有可能参数,从而求得最小AIC的模型。

采用模型作为预测:

逐点预测:

上面是采用ARIMA 模型预测最近一天的结果,属于逐点预测,如果用来预测未来N天的结果,模型反馈就比较差了,连续预测期数越长,效果越差。

上面的例子中,逐点预测的结果比完整序列预测更精确,但这有点欺骗性。

在这种情况下,除了预测点和最后一次预测的数据点之间的距离,模型其实不需要了解时间序列本身,因为即便它这次预测错误了,在进行下一次预测时,它也只会考虑真实结果,完全无视自己的错误,然后继续产生错误预测。

虽然这听起来不太妙,但其实这种方法还是有用的,它至少能反映下一个点的范围,可用于波动率预测等应用。

LSTM 长短期记忆模型

LSTM 广泛用于序列预测问题,并已被证明非常有效。它们运行良好的原因是因为 LSTM 能够存储重要的过去信息,而忘记不重要的信息。LSTM 有三个门:

输入门 input gate :输入门将信息添加到细胞状态

遗忘门forget gate :删除模型不再需要的信息

输出门output gate :选择要显示的信息作为输出

LSTM中采用专门设计的“门”来引入或者去除状态信息,类似信号处理中的滤波器,允许信号部分通过或者通过时被门加工了;有的门也跟数字电路中的逻辑门类似,允许信号通过或者不通过。

以下是Python实现过程:

1.导入数据,原始数据进行归一化处理,使数据介于[0,1]

2.利用前期数据预测当期,数据集(前期股价,当期股价)当做(X,Y)

3.建立及训练 LSTM 模型,模型很简单,就只有一個LSTM层及output层,其中并没有特别处理季节效应,模型训练100轮。

从预测结果上看,初次构建的LSTM 模型进行逐点预测的效果不如ARIMA模型,我们可以通过调整LSTM层数、添加dropout值或者增加epoch数来提高模型效果。

关于模型参数的调整,网络上有很多文章可以借鉴,就不在赘述了。

预测股市的表现是最困难的事情之一,预测涉及的因素很多——物理与心理、理性和非理性行为等。所有这些因素结合在一起,使股价波动且难以准确预测。

本文讨论的模型方法仅仅是用来展示时间序列预测的分析思路和方法,并不足以应用在实际投资当中。

时间序列预测是一个非常有趣的领域,除了股价、天气预测还有航班、门票销售相关的其他数据场景可以让我们探索。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容