【精编】时间序列模型分析的各种stata命令.pdf
《【精编】时间序列模型分析的各种stata命令.pdf》由会员分享,可在线阅读,更多相关《【精编】时间序列模型分析的各种stata命令.pdf(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品文档时间序列模型结构模型虽然有助于人们理解变量之间的影响关系,但模型的预测精度比较低。在一些大规模的联立方程中,情况更是如此。而早期的单变量时间序列模型有较少的参数却可以得到非常精确的预测,因此随着Box and Jenkins(1984)等奠基性的研究,时间序列方法得到迅速发展。从单变量时间序列到多元时间序列模型,从平稳过程到非平稳过程,时间序列分析方法被广泛应用于经济、气象和过程控制等领域。本章将介绍如下时间序列分析方法,ARIMA 模型、ARCH 族模型、VAR模型、VEC模型、单位根检验及协整检验等。一、基本命令1.1 时间序列数据的处理1)声明时间序列:tsset 命令 use
2、gnp96.dta,clear list in 1/20 gen Lgnp=L.gnp tsset date list in 1/20 gen Lgnp=L.gnp 2)检查是否有断点:tsreport,report use gnp96.dta,clear tsset date tsreport,report drop in 10/10 list in 1/12 tsreport,report tsreport,report list /*列出存在断点的样本信息*/3)填充缺漏值:tsfill tsfill tsreport,report list list in 1/12 4)追加样本:ts
3、append use gnp96.dta,clear tsset date list in-10/-1 sum tsappend ,add(5)/*追加 5 个观察值*/list in-10/-1 sum 精品文档5)应用:样本外预测:predict reg gnp96 L.gnp96 predict gnp_hat list in-10/-1 6)清除时间标识:tsset,clear tsset,clear 1.2 变量的生成与处理1)滞后项、超前项和差分项 help tsvarlist use gnp96.dta,clear tsset date gen Lgnp =L.gnp96 /*一
4、阶滞后*/gen L2gnp=L2.gnp96 gen Fgnp =F.gnp96 /*一阶超前*/gen F2gnp=F2.gnp96 gen Dgnp =D.gnp96 /*一阶差分*/gen D2gnp=D2.gnp96 list in 1/10 list in-10/-1 2)产生增长率变量:对数差分 gen lngnp=ln(gnp96)gen growth=D.lngnp gen growth2=(gnp96-L.gnp96)/L.gnp96 gen diff=growth-growth2 /*表明对数差分和变量的增长率差别很小*/list date gnp96 lngnp gro
5、wth*diff in 1/10 1.3 日期的处理日期的格式 help tsfmt 基本时点:整数数值,如 -3,-2,-1,0,1,2,3.1960年 1 月 1 日,取值为 0;显示格式:定义含义默认格式精品文档%td 日%tdDlCY%tw 周%twCY!ww%tm 月%tmCY!mn%tq 季度%tqCY!qq%th 半年%thCY!hh%ty 年%tyCY 1)使用 tsset 命令指定显示格式 use B6_tsset.dta,clear tsset t,daily list use B6_tsset.dta,clear tsset t,weekly list 2)指定起始时点
6、cap drop month generate month=m(1990-1)+_n-1 format month%tm list t month in 1/20 cap drop year gen year=y(1952)+_n-1 format year%ty list t year in 1/20 3)自己设定不同的显示格式日期的显示格式%d(%td)定义如下:%-td 具体项目释义:“”中可包含如下字母或字符 c y m l n d j h q w _.,:-/!c C Y M L N D J W 定义如下:c and C 世纪值(个位数不附加/附加 0)y and Y 不含世纪值的年
7、份(个位数不附加/附加 0)m 三个英文字母的月份简写(第一个字母大写)M 英文字母拼写的月份(第一个字母大写)n and N 数字月份(个位数不附加/附加 0)精品文档 d and D 一个月中的第几日(个位数不附加/附加 0)j and J 一年中的第几日(个位数不附加/附加 0)h 一年中的第几半年 (1 or 2)q 一年中的第几季度 (1,2,3,or 4)w and W 一年中的第几周(个位数不附加/附加 0)_ display a blank(空格).display a period(句号),display a comma(逗号):display a colon(冒号)-disp
8、lay a dash(短线)/display a slash(斜线)display a close single quote(右引号)!c display character c(code!to display an exclamation point)样式 1:Format Sample date in format -%td 07jul1948%tdM_d,_CY July 7,1948%tdY/M/D 48/07/11%tdM-D-CY 07-11-1948%tqCY.q 1999.2%tqCY:q 1992:2%twCY,_w 2010,48 -样式 2:Format Sample d
9、ate in format -%d 11jul1948%dDlCY 11jul1948%dDlY 11jul48%dM_d,_CY July 11,1948%dd_M_CY 11 July 1948%dN/D/Y 07/11/48%dD/N/Y 11/07/48%dY/N/D 48/07/11%dN-D-CY 07-11-1948 -clear set obs 100 gen t=_n+d(13feb1978)list t in 1/5 精品文档 format t%dCY-N-D /*1978-02-14*/list t in 1/5 format t%dcy_n_d /*1978 2 14*
10、/list t in 1/5 use B6_tsset,clear list tsset t,format(%twCY-m)list 4)一个实例:生成连续的时间变量 use e1920.dta,clear list year month in 1/30 sort year month gen time=_n tsset time list year month time in 1/30 generate newmonth=m(1920-1)+time-1 tsset newmonth,monthly list year month time newmonth in 1/30 1.4 图解时间
11、序列1)例 1:clear set seed 13579113 sim_arma ar2,ar(0.7 0.2)nobs(200)sim_arma ma2,ma(0.7 0.2)tsset _t tsline ar2 ma2 *亦可采用 twoway line 命令绘制,但较为繁琐 twoway line ar2 ma2 _t 2)例 2:增加文字标注 sysuse tsline2,clear tsset day tsline calories,ttick(28nov2002 25dec2002,tpos(in)/ttext(3470 28nov2002 thanks/3470 25dec20
12、02 x-mas,orient(vert)3)例 3:增加两条纵向的标示线 sysuse tsline2,clear tsset day 精品文档 tsline calories,tline(28nov2002 25dec2002)*或采用 twoway line 命令 local d1=d(28nov2002)local d2=d(25dec2002)line calories day,xline(d1 d2)4)例 4:改变标签 tsline calories,tlabel(,format(%tdmd)ttitle(Date(2002)tsline calories,tlabel(,for
13、mat(%td)二、ARIMA 模型和 SARMIA 模型ARIMA 模型的基本思想是:将预测对象随时间推移而形成的数据序列视为一个随机序列,用一定的数学模型来近似描述这个序列。这个模型一旦被识别后就可以从时间序列的过去值及现在值来预测未来值。ARIMA(1,1)模型:ttttyy112.1 ARIMA 模型预测的基本程序:1)根据时间序列的散点图、自相关函数和偏自相关函数图以ADF单位根检验其方差、趋势及其季节性变化规律,对序列的平稳性进行识别。一般来讲,经济运行的时间序列都不是平稳序列。2)对非平稳序列进行平稳化处理。如果数据序列是非平稳的,并存在一定的增长或下降趋势,则需要对数据进行差分
14、处理,如果数据存在异方差,则需对数据进行技术处理,直到处理后的数据的自相关函数值和偏相关函数值无显著地异于零。3)根据时间序列模型的识别规则,建立相应的模型。若平稳序列的偏相关函数是截尾的,而自相关函数是拖尾的,可断定序列适合AR模型;若平稳序列的偏相关函数是拖尾的,而自相关函数是截尾的,则可断定序列适合MA模型;若平稳序列的偏相关函数和自相关函数均是拖尾的,则序列适合ARMA模型。4)进行参数估计,检验是否具有统计意义。5)进行假设检验,诊断残差序列是否为白噪声。6)利用已通过检验的模型进行预测分析。2.2 ARIMA 模型中 AR和 MA阶数的确定方法:clear sim_arma y_a
15、r,ar(0.9)nobs(300)line y_ar _t,yline(0)ac y_ar /*AR过程的 ACF 具有“拖尾”特征,长期记忆*/pac y_ar /*AR过程的 PACF 具有“截尾”特征*/sim_arma y_ma,ma(0.8)精品文档 line y_ma _t,yline(0)ac y_ma /*MA过程的 ACF 具有“截尾”特征,短期记忆*/pac y_ma /*MA过程的 PACF 具有锯齿型“拖尾”特征*/2.3 ARIMA 模型中涉及的检验:use http:/www.stata- tsset t gen d_wpi=D.wpi dfuller wpi/*
16、单位根检验*/dfuller d_wpi wntestq wpi/*白噪声检验:Q检验*/wntestq d_wpi wntestb wpi,table/*累积统计Q检验并以列表显示*/wntestb d_wpi,table wntestb wpi /*画出累积统计量Q*/wntestb d_wpi /*画出累积统计量Q*/corrgram wpi,lag(24)/*自相关、偏相关、Q统计量*/corrgram d_wpi,lag(24)2.4 ARIMA 模型和 SARIMA 模型的估计ARIMA 模型:use http:/www.stata- gen d_wpi=D.wpi arima w
17、pi,arima(1,1,1)/*没有漂移项即常数项的命令是noconstant*/*或者下面的这种形式也行arima D.wpi,ar(1)ma(1)SARIMA 模型:use http:/www.stata- line air t generate lnair=ln(air)arima lnair,arima(0,1,1)sarima(0,1,1,12)noconstant 2.5 ARIMA 模型的一个真实应用美国批发物价指数use http:/www.stata- dfuller wpi/*单位根检验*/gen d_wpi=D.wpi dfuller d_wpi arima wpi,a
18、rima(1,1,1)/*没有漂移项即常数项的命令是noconstant*/*或者下面的这种形式也行arima D.wpi,ar(1)ma(1)精品文档ac D.ln_wpi,ylabels(-.4(.2).6)pac D.ln_wpi,ylabels(-.4(.2).6)arima D.ln_wpi,ar(1)ma(1/4)estat ic/*LL 越大越好,AIC 和 BIC 越小越好*/arima D.ln_wpi,ar(1)ma(1 4)/*季节效应 */estat ic*残差检验predict r,res wntestq r/*白噪声检验:Q检验*/wntestb r,table/*
19、累积统计Q检验并以列表显示*/wntestb r /*画出累积统计量Q*/corrgram r,lag(24)/*自相关、偏相关、Q统计量*/*样本内预测predict y_hat0 /*y的拟合值 */*样本外预测list in-15/-1 tsappend,add(8)list in-15/-1 predict y_hat1 /*y 的样本外一步预测值*/list in-15/-1 gen Dln_wpi=D.ln_wpi sum predict y_hat_dy0,dynamic(124)/*动态预测*/predict y,y /*对未差分变量的预测*/predict fy,y dyna
20、mic(124)gen fwpi=exp(fy)/*实际 wpi 的预测值*/gen ywpi=exp(y)line wpi fwpi ywpi t in-20/-1 三、ARCH 模型传统的计量经济学对时间序列变量的第二个假设:假定时间序列变量的波动幅度(方差)是固定的,不符合实际,比如,人们早就发现股票收益的波动幅度是随时间而变化的,并非常数。这使得传统的时间序列分析对实际问题并不有效。但是 ARCH 模型能准确地模拟时间序列变量的波动性的变化,它在金融工程学的精品文档实证研究中应用广泛,使人们能更加准确地把握风险(波动性),尤其是应用在风险价值(VALUE AT RISK)理论中,在华尔
21、街是人尽皆知的工具。所谓 ARCH 模型,按照英文直译是自回归条件异方差模型。粗略地说,该模型将当前一切可利用信息作为条件,并采用某种自回归形式来刻划方差的变异,对于一个时间序列而言,在不同时刻可利用的信息不同,而相应的条件方差也不同,利用 ARCH 模型,可以刻划出随时间而变异的条件方差。ARCH(m)模型:(条件方差)(条件平均值)222221102mtmttttttxy其中,2是残差平方和(波动率)i是 ARCH 模型的系数GARCH(m,k)模型:2222211222221102ktkttmtmttttttxy其中,i是 ARCH 模型的系数;i是 GARCH 系数3.1 ARCH模型
22、应用例子:.use http:/www.stata- D.ln_wpi Source|SS df MS Number of obs=123-+-F(0,122)=0.00 Model|0 0 .Prob F =.Residual|.02521709 122 .000206697 R-squared =0.0000-+-Adj R-squared=0.0000 Total|.02521709 122 .000206697 Root MSE =.01438-D.ln_wpi|Coef.Std.Err.t P|t|95%Conf.Interval-+-_cons|.0108215 .0012963
23、8.35 0.000 .0082553 .0133878-.estat archlm,lags(1)LM test for autoregressive conditional heteroskedasticity(ARCH)-lags(p)|chi2 df Prob chi2-+-1|8.366 1 0.0038 精品文档-H0:no ARCH effects vs.H1:ARCH(p)disturbance 通过对 WPI的对数差分进行常数回归,接着用 LM检验来判断 ARCH(1)效应,在该例子中,检验的结果PROB CHI2 0.0038 chi2 =.-|OPG D.ln_wpi|C
24、oef.Std.Err.z P|z|95%Conf.Interval-+-ln_wpi|_cons|.0061167 .0010616 5.76 0.000 .0040361 .0081974-+-ARCH|arch|L1.|.4364123 .2437428 1.79 0.073 -.0413147 .9141394|garch|L1.|.4544606 .1866605 2.43 0.015 .0886126 .8203085|_cons|.0000269 .0000122 2.20 0.028 2.97e-06 .0000508-这样,我们就可以估计出了ARCH(1)的系数是0.436,
25、GARCH(1)的系数是0.454,所以我们可以拟合出GARCH(1,1)模型:21212454.0436.00061.0ttttty)ln()ln(1tttwpiwpiy其中,接下来我们可以对变量的进行预测:predict xb,xb /*对差分变量的预测*/predict y,y /*对未差分变量的预测*/predict variance,var/*对条件方差的预测*/predict res,residuals/*对差分变量残差的预测*/predict yres,yresiduals /*对未差分变量残差的预测*/3.2 ARCH模型的确定以及检验精品文档例子:use http:/www.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精编 时间 序列 模型 分析 各种 stata 命令
限制150内