2.1平稳性
严平稳
若满足(a) E(Yt) = μ ,μ 是一个常数。(b)Cov(Yt , Yt+k) = E[( Yt - μ)( Yt+k - μ )]=rk 任意两个时期之间的协方差仅依赖于这两个时期的距离。当k确定,这也是常数。则是弱平稳。
2.2相关系数和自相关系数
作者:老冯
链接:https://zhuanlan.zhihu.com/p/54153963
因为时间序列这种数据的特点是一维,勇往直前永不回头。根据这种数据特点,形成了自协方差、自相关函数、偏自相关函数等。看到前面都加了一个自,原因是时间序列没法找到一个别的数据和自己来进行比较;只能自己和自己来比较(Yt , Yt+k)。
a、自协方差 autocovariance
首先回顾下协方差,是衡量两个随机变量X,Y的线性相关性或独立性的一个指标:
现实中,以样本协方差estimate协方差:
那么在平稳性的条件下,自协方差Cov( Xt, Xt+k )== E[( Xt - μ )( Xt+k - μ )] 的estimate:
当k确定,ck 也是个常数,无论 Xt 的位置。
在时间序列{ X1, X2, X3, ..., Xn }中,现实样本为{ x1, x2, x3, ..., xn }。
Xt 与 Xt+k 对应分别的两组样本。比如k=1时,
Xt 的 样本为 { x1, x2, x3, ..., xn },而 Xt+1 的样本为 { x2, x3, x4..., xn }。在平稳性条件下,这两组样本的均值都是:
自相关函数 autocorrelation function(ACF)
Xt 与 Xt+k 的自相关系数即(自协方差 / k=0时的自协方差),分母也等于 Xt 的方差。
所以自相关系数ρk的estimate:
r0 永远等于一, rk称为样本自相关函数(ACF)。
b、自相关图 correlogram
样本xt 与 xt+k,把k从0到n的自相关系数求出并直线如下图所示。 横坐标是lag,即k值。
c、混成检验/Ljung-Box test(LB 检验)
acf,q,p = sm.tsa.acf(data,nlags=10,qstat=True) # 计算10个lag的自相关系数 及p-value
out = np.c_[range(1,11), acf[1:], q, p]
output=pd.DataFrame(out, columns=['lag', "AC", "Q", "P-value"])
output = output.set_index('lag')
output
我们取显著性水平为0.05,可以看出,所有的p-value都小于0.05;则我们拒绝原假设H0。
因此,我们认为该序列是序列相关的。
d、举例
import jqdatasdk as jd
jd.auth('','')
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from statsmodels.graphics.tsaplots import plot_acf #自相关图
from statsmodels.tsa.stattools import acf
from statsmodels.tsa.stattools import pacf
from statsmodels.tsa.stattools import pacf_yw
from statsmodels.tsa.stattools import pacf_ols
from statsmodels.graphics.tsaplots import plot_pacf #偏自相关图
#%%
data = jd.get_price(security='000001.XSHG', start_date='2020-04-01 09:30:00',
end_date='2020-04-20 09:30:00', frequency='1m',
fields=None, skip_paused=False, fq='pre', count=None)
#%%
close = data['close']
#%%
close.ix['2020-04-14'].reset_index(drop=True).plot()
#%%
#自相关图
plot_acf(close.ix['2020-04-14'].reset_index(drop=True)).show()
#%%
# 计算180个lag的自相关系数 及p-value
acf,q,p = acf(close.ix['2020-04-14'].reset_index(drop=True),nlags=180,qstat=True)
#%%
output=pd.DataFrame({'AC':acf[1:],'Q':q,'P-value':p})
output
上证指数2020-04-14日内分时图
第一种:使用简单收益
(自相关系数图)
(AC:自相关系数,Q:Q统计量,P-value:p值)
我们取显著性水平为0.05,可以看出,所有的p-value大于0.05;则我们接受原假设H0。认为这个时间序列不相关
第二种:直接使用时间序列
我们取显著性水平为0.05,可以看出,所有的p-value小于0.05;则我们拒绝原假设H0。认为这个时间序列相关
总结:研究时间序列,金融一般都是针对资产收益率而不是资产价格。
2.3白噪声和线性时间序列
白噪声:有限均值,有限方差,独立同分布的随机变量序列。若是,方差为
的正态分布,称该序列为高斯白噪声。
2.4简单的自回归模型
2.4.1简单的自回归模型
AR(1)模型 ,假设{
}是均值为0,方差为
的高斯白噪声序列
AR(1)模型的弱平稳性的充分必要条件:自相关函数(ACF)满足 ,l>0
表明弱平稳AR(1)序列的自相关函数从=1开始以比率为
的指数速度衰减
AR(2)模型
弱平稳AR(2)序列的自相关函数呈现出减幅的正弦波状或余弦波状或指数衰减
AR(p)模型
自相关函数的图像呈现出正弦、余弦和指数衰减的混合状
2.4.2实际中怎样识别AR模型
a)偏自相关函数(PACF)
应用多元线性回归中偏F检验的思想,结果表明AR(p)序列的样本偏自相关函数是p后截尾的。
#偏自相关图
plot_pacf(close.ix['2020-04-14'].reset_index(drop=True),lags=100).show()
#%%
#计算偏自相关系数
pacf1=pacf_ols(close.ix['2020-04-14'].reset_index(drop=True),nlags=100)
(偏自相关图)
(偏自相关系数)
b)信息准则
c)参数估计
常用最小二乘法来估计其参数
d)模型验证
若模型是合理的,则其残差序列应是白噪声,残差的样本自相关函数和Ljung-Box统计量来检验与一个白噪声的接近程度。
2.4.3预测
向前一步预测
误差:
方差:
向前两步预测
误差:
方差:
预测步长的增加会使预测中的不确定性也增加
向前多步预测
2.5简单滑动平均模型
(推理过程没看懂)
令
MA(1)模型:
MA(2)模型:
2.5.1MA模型的性质
a)平稳性
满足MA模型的时间序列必然是弱平稳的
b)自相关函数(计算满足MA模型的时间序列的自相关系数,得出一般的规律)
规律:MA(q)模型,其ACF在间隔为q时不为0,但对l>q,。因此,MA(q)序列只与其头q个延迟值线性相关,是一个‘有限记忆’模型
2.5.2识别MA的阶
一个时间序列具有自相关函数
。若
!=0但对l>q有
,则
服从一个MA(q)模型
2.5.3估计
最大似然法(不会)
2.5.4用MA模型预测
MA(1)模型向前1步预测:
MA(1)模型向前2步预测:
MA(1)向前2步预测即是模型的无条件均值。一般地,对一个MA(q)模型,向前q步以后的预测就达到模型的均值。
2.6简单的ARMA模型
如果时间序列满足:
其中{}是白噪声序列,则称
服从ARMA(1,1)模型 。(这算是一种定义?不理解)
2.6.1ARMA(1,1)模型性质
弱平稳性:期望为定值
自相关系数
2.6.2一般的ARMA模型
2.6.3识别ARMA模型
确定(p,q)
2.6.4用ARMA模型预测
2.7单位根非平稳性
非平稳序列叫做单位根非平稳时间序列,例如:资产价格序列。
2.7.1随机游动
时间序列{}满足:
,其中
是一个实数,他表示这个过程的起始值。{
}是一个白噪声序列。
这样的模型下:股价是不可预测的或者均值回转的。
对任意预测步长l>0 :
方差:
说明:l增大时,方差趋于无穷,故预测无效。但长期来看股指价格走势,并没有出现极端情况,说明随机游走模型在指数上的适合性值得怀疑。对所有i都有,任何过去的抖动
对
的影响不随时间衰竭。从而,序列具有强记忆性。
2.7.2带漂移的随机游动
常数项可为正也可为负,则
就为一个有上升趋势或下降趋势时间序列。
2.7.3一般的单位根非平稳模型
ARIMA模型(不懂)
2.7.4单位根检验
检验资产的对数价格是否服从一个随机游走或者一个带漂移的随机游走
2.8季节模型
(跳过)
2.9带时间序列误差的回归模型
在线性回归分析中检验残差的前后相关性至关重要(残差的ACF)
1)拟合一个线性回归并检验其残差的前后相关性。
2)如果残差序列是单位根非平稳的,则对响应变量和解释变量做一阶差分,然后对两个差分后的序列进行第一步。若这时的残差序列是平稳的,则对残差识别一个ARMA模型并相应地修改线性回归模型。
3)用最大似然法进行联合估计,并对拟合模型进行检验,看是否需要进一步改进。