知识库 > 数学方法 > 时间序列分析 > 协整分析

协整分析    

  • 虽然一些经济变量是非平稳时间序列,但他们之间的线性组合却可能是平稳的,即这些变量之间存在长期稳定的均衡关系,这就是协整关系的直观表述。
    一个时间序列在成为平稳序列之前必须进行次差分,则我们认为阶单整,记
    设随机向量中所含分量均为阶单整,记。如果存在一个非零向量,使得随机向量,则我们称随机向量具有阶协整关系,记为,向量称为协整向量。
    特别的,如果我们只有两个随机变量,并且,,当存在,使得,则我们称,是协整的,,为协整系数。
    为了检验两个时间序列之间是否具有协整关系,Engle和Granger于1987 年提出了 E-G两步检验法:第一步在因变量与自变量存在同阶单整关系的条件,进行最小二乘法回归;第二步对回归残差进行单位根检验,若残差序列为平稳时间序列,则说明被解释变量与解释变量之间存在着协整关系,否则他们之间就不存在协整关系。

    定义:Times_Cointergration_test(Y,X:Array,Constant:Bool,alphaType: Real,style:Integer, Criterion:String):Array;
    说明:E-G两步法协整检验变量的协整关系,E-G法基本步骤:1)在因变量与自变量存在同阶单整关系的条件,进行最小二乘法回归;2)把回归后的残差进行平稳性检验,如果残差序列是平稳的,则两者存在协整关系,否则不存在。
    参数:
    Y:被解释变量,为一维数组类型
    X:解释变量,为一维数组类型
    Constant:回归方程是否含有常数项,为布尔类型
    alphaType:显著性水平,为实数类型,一般在0-1之间
    style:ADF法检验单整阶数时是否存在常数或趋势项,整数类型,无常数无趋势使用0、有常数无趋势1、有常数有趋势2
    Criterion:滞后阶数判断信息准则,字符串类型,"SBIC","AIC"

    下面我们对招商银行以及浦发银行2012/09/18前的500个交易日收盘价的协整关系做个实证,下面我们也将使用这个例子来做误差修正,因果分析等(参见函数Times_Demo函数)。

    SetSysParam(PN_Rate(),1);
    SetSysParam(pn_date(),inttodate(20120918));
    SetSysParam(PN_Cycle(),cy_day());
    SetSysParam(pn_Rateday(),-1);
    SetSysParam(pn_stock(),"SH600036");
    close1 := nday3(500,close());
    SetSysParam(pn_stock(),"SH600000");
    close2 := nday3(500,close());
    return Times_Cointergration_test(close1,close2,1,0.05,1,"AIC");

    返回:

    协整分析返回结果
    说明招商银行和浦发银行具有长期均衡关系。除了两步法,我们平台还支持多变量的Johansen协整检验。

    定义:Times_johansen(X:Array,p:Int,k:Int);
    说明:进行Johansen协整检验 ,第一列的迹、最大特征值统计量的原假设是:没有协整关系;第二列的迹、最大特征值统计量的原假设是最多只有一个协整关系;第三列的迹、最大特征值统计量的原假设是最多只有两个协整关系……
    参数:
    X:输入多元时间序列,每一列为一指标,每行为一时间 (nobs*m)
    p:是否含时间趋势及常数项
    p = -1,没有时间趋势以及常数项
    p =0,含常数项
    p =1,含常数项以及一次时间项
    p >1,含常数项以及高次时间项
    k:滞后阶数
    结果 :
    result["eig"]:特征值 (m)
    result["evec"]:特征向量(m*m), r列是规范化协整向量
    result["Trace"]:迹统计量 (m)
    result["MaxEigen"]:最大特征值统计量(m)
    result["cri_Trace"]:迹统计量的边界值,(m*3)数组[90% 95% 99%]
    result["cri_MaxEigen"]:最大特征值统计量边界值,(m x 3)数组[90% 95% 99%]
    result["index"]:特征值的排列

    使用以上数据:

    return Times_johansen(close1|close2,1,2);

    结果:

    Trace以及MaxEigen都大于cri_Trace,cri_MaxEigen,说明有一个协整关系。协整向量是:array(0.9912,-0.3619)。