时间序列模型stata 基本命令汇总Word文档下载推荐.docx
《时间序列模型stata 基本命令汇总Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《时间序列模型stata 基本命令汇总Word文档下载推荐.docx(48页珍藏版)》请在冰豆网上搜索。
tsset,clear
1.2变量的生成与处理
1)滞后项、超前项和差分项helptsvarlist
genLgnp=L.gnp96/*一阶滞后*/
genL2gnp=L2.gnp96
genFgnp=F.gnp96/*一阶超前*/
genF2gnp=F2.gnp96
genDgnp=D.gnp96/*一阶差分*/
genD2gnp=D2.gnp96
listin1/10
2)产生增长率变量:
对数差分
genlngnp=ln(gnp96)
gengrowth=D.lngnp
gengrowth2=(gnp96-L.gnp96)/L.gnp96
gendiff=growth-growth2/*表明对数差分和变量的增长率差别很小*/
listdategnp96lngnpgrowth*diffin1/10
1.3日期的处理
日期的格式helptsfmt
基本时点:
整数数值,如-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命令指定显示格式
useB6_tsset.dta,clear
tssett,daily
list
tssett,weekly
list
2)指定起始时点
capdropmonth
generatemonth=m(1990-1)+_n-1
formatmonth%tm
listtmonthin1/20
capdropyear
genyear=y(1952)+_n-1
formatyear%ty
listtyearin1/20
3)自己设定不同的显示格式
日期的显示格式%d(%td)定义如下:
%[-][t]d<
描述特定的显示格式>
具体项目释义:
“<
”中可包含如下字母或字符
cymlndjhqw_.,:
-/'
!
c
CYMLNDJW
定义如下:
candC世纪值(个位数不附加/附加0)
yandY不含世纪值的年份(个位数不附加/附加0)
m三个英文字母的月份简写(第一个字母大写)
M英文字母拼写的月份(第一个字母大写)
nandN数字月份(个位数不附加/附加0)
dandD一个月中的第几日(个位数不附加/附加0)
jandJ一年中的第几日(个位数不附加/附加0)
h一年中的第几半年(1or2)
q一年中的第几季度(1,2,3,or4)
wandW一年中的第几周(个位数不附加/附加0)
_displayablank(空格)
.displayaperiod(句号)
displayacomma(逗号)
:
displayacolon(冒号)
-displayadash(短线)
/displayaslash(斜线)
'
displayaclosesinglequote(右引号)
cdisplaycharacterc(code!
!
todisplayanexclamationpoint)
样式1:
FormatSampledateinformat
-----------------------------------
%td07jul1948
%tdM_d,_CYJuly7,1948
%tdY/M/D48/07/11
%tdM-D-CY07-11-1948
%tqCY.q1999.2
%tqCY:
q1992:
2
%twCY,_w2010,48
样式2:
----------------------------------
%d11jul1948
%dDlCY11jul1948
%dDlY11jul48
%dM_d,_CYJuly11,1948
%dd_M_CY11July1948
%dN/D/Y07/11/48
%dD/N/Y11/07/48
%dY/N/D48/07/11
%dN-D-CY07-11-1948
clear
setobs100
gent=_n+d(13feb1978)
listtin1/5
formatt%dCY-N-D/*1978-02-14*/
formatt%dcy_n_d/*1978214*/
useB6_tsset,clear
tssett,format(%twCY-m)
4)一个实例:
生成连续的时间变量
usee1920.dta,clear
listyearmonthin1/30
sortyearmonth
gentime=_n
tssettime
listyearmonthtimein1/30
generatenewmonth=m(1920-1)+time-1
tssetnewmonth,monthly
listyearmonthtimenewmonthin1/30
1.4图解时间序列
1)例1:
setseed13579113
sim_armaar2,ar(0.70.2)nobs(200)
sim_armama2,ma(0.70.2)
tsset_t
tslinear2ma2
*亦可采用twowayline命令绘制,但较为繁琐
twowaylinear2ma2_t
2)例2:
增加文字标注
sysusetsline2,clear
tssetday
tslinecalories,ttick(28nov200225dec2002,tpos(in))///
ttext(347028nov2002"
thanks"
///
347025dec2002"
x-mas"
orient(vert))
3)例3:
增加两条纵向的标示线
tslinecalories,tline(28nov200225dec2002)
*或采用twowayline命令
locald1=d(28nov2002)
locald2=d(25dec2002)
linecaloriesday,xline(`d1'
`d2'
)
4)例4:
改变标签
tslinecalories,tlabel(,format(%tdmd))ttitle("
Date(2002)"
tslinecalories,tlabel(,format(%td))
二、ARIMA模型和SARMIA模型
ARIMA模型的基本思想是:
将预测对象随时间推移而形成的数据序列视为一个随机序列,用一定的数学模型来近似描述这个序列。
这个模型一旦被识别后就可以从时间序列的过去值及现在值来预测未来值。
ARIMA(1,1)模型:
2.1ARIMA模型预测的基本程序:
1)根据时间序列的散点图、自相关函数和偏自相关函数图以ADF单位根检验其方差、趋势及其季节性变化规律,对序列的平稳性进行识别。
一般来讲,经济运行的时间序列都不是平稳序列。
2)对非平稳序列进行平稳化处理。
如果数据序列是非平稳的,并存在一定的增长或下降趋势,则需要对数据进行差分处理,如果数据存在异方差,则需对数据进行技术处理,直到处理后的数据的自相关函数值和偏相关函数值无显著地异于零。
3)根据时间序列模型的识别规则,建立相应的模型。
若平稳序列的偏相关函数是截尾的,而自相关函数是拖尾的,可断定序列适合AR模型;
若平稳序列的偏相关函数是拖尾的,而自相关函数是截尾的,则可断定序列适合MA模型;
若平稳序列的偏相关函数和自相关函数均是拖尾的,则序列适合ARMA模型。
4)进行参数估计,检验是否具有统计意义。
5)进行假设检验,诊断残差序列是否为白噪声。
6)利用已通过检验的模型进行预测分析。
2.2ARIMA模型中AR和MA阶数的确定方法:
clear
sim_armay_ar,ar(0.9)nobs(300)
liney_ar_t,yline(0)
acy_ar/*AR过程的ACF具有“拖尾”特征,长期记忆*/
pacy_ar/*AR过程的PACF具有“截尾”特征*/
sim_armay_ma,ma(0.8)
liney_ma_t,yline(0)
acy_ma/*MA过程的ACF具有“截尾”特征,短期记忆*/
pacy_ma/*MA过程的PACF具有锯齿型“拖尾”特征*/
2.3ARIMA模型中涉及的检验:
usehttp:
//www.stata-,clear
tssett
gend_wpi=D.wpi
dfullerwpi/*单位根检验*/
dfullerd_wpi
wntestqwpi/*白噪声检验:
Q检验*/
wntestqd_wpi
wntestbwpi,table/*累积统计Q检验并以列表显示*/
wntestbd_wpi,table
wntestbwpi/*画出累积统计量Q*/
wntestbd_wpi/*画出累积统计量Q*/
corrgramwpi,lag(24)/*自相关、偏相关、Q统计量*/
corrgramd_wpi,lag(24)
2.4ARIMA模型和SARIMA模型的估计
ARIMA模型:
arimawpi,arima(1,1,1)/*没有漂移项即常数项的命令是noconstant*/
*或者下面的这种形式也行
arimaD.wpi,ar
(1)ma
(1)
SARIMA模型:
//www.stata-
lineairt
generatelnair=ln(air)
arimalnair,arima(0,1,1)sarima(0,1,1,12)noconstant
2.5ARIMA模型的一个真实应用——美国批发物价指数
acD.ln_wpi,ylabels(-.4(.2).6)
pacD.ln_wpi,ylabels(-.4(.2).6)
arimaD.ln_wpi,ar
(1)ma(1/4)
estatic/*LL越大越好,AIC和BIC越小越好*/
arimaD.ln_wpi,ar
(1)ma(14)/*季节效应*/
estatic
*残差检验
predictr,res
wntestqr/*白噪声检验:
wntestbr,table/*累积统计Q检验并以列表显示*/
wntestbr/*画出累积统计量Q*/
corrgramr,lag(24)/*自相关、偏相关、Q统计量*/
*样本内预测
predicty_hat0/*y的拟合值*/
*样本外预测
listin-15/-1
tsappend,add(8)
predicty_hat1/*y的样本外一步预测值*/
genDln_wpi=D.ln_wpi
sum
predicty_hat_dy0,dynamic(124)/*动态预测*/
predicty,y/*对未差分变量的预测*/
predictfy,ydynamic(124)
genfwpi=exp(fy)/*实际wpi的预测值*/
genywpi=exp(y)
linewpifwpiywpitin-20/-1
三、ARCH模型
传统的计量经济学对时间序列变量的第二个假设:
假定时间序列变量的波动幅度(方差)是固定的,不符合实际,比如,人们早就发现股票收益的波动幅度是随时间而变化的,并非常数。
这使得传统的时间序列分析对实际问题并不有效。
但是ARCH模型能准确地模拟时间序列变量的波动性的变化,它在金融工程学的实证研究中应用广泛,使人们能更加准确地把握风险(波动性),尤其是应用在风险价值(ValueatRisk)理论中,在华尔街是人尽皆知的工具。
所谓ARCH模型,按照英文直译是自回归条件异方差模型。
粗略地说,该模型将当前一切可利用信息作为条件,并采用某种自回归形式来刻划方差的变异,对于一个时间序列而言,在不同时刻可利用的信息不同,而相应的条件方差也不同,利用ARCH模型,可以刻划出随时间而变异的条件方差。
ARCH(m)模型:
其中,
是残差平方和(波动率)
是ARCH模型的系数
GARCH(m,k)模型:
是ARCH模型的系数;
是GARCH系数
3.1ARCH模型应用
例子:
.usehttp:
.regressD.ln_wpi
Source|SSdfMSNumberofobs=123
-------------+------------------------------F(0,122)=0.00
Model|00.Prob>
F=.
Residual|.02521709122.000206697R-squared=0.0000
-------------+------------------------------AdjR-squared=0.0000
Total|.02521709122.000206697RootMSE=.01438
------------------------------------------------------------------------------
D.ln_wpi|Coef.Std.Err.tP>
|t|[95%Conf.Interval]
-------------+----------------------------------------------------------------
_cons|.0108215.00129638.350.000.0082553.0133878
.estatarchlm,lags
(1)
LMtestforautoregressiveconditionalheteroskedasticity(ARCH)
---------------------------------------------------------------------------
lags(p)|chi2dfProb>
chi2
-------------+-------------------------------------------------------------
1|8.36610.0038
H0:
noARCHeffectsvs.H1:
ARCH(p)disturbance
通过对wpi的对数差分进行常数回归,接着用LM检验来判断ARCH
(1)效应,在该例子中,检验的结果Prob>
chi2=0.0038<
0.05,所以拒绝没有ARCH
(1)效应的虚无假设。
因此,我们可以通过指定arch
(1)模型来估计ARCH
(1)的系数。
.archD.ln_wpi,arch
(1)garch
(1)
ARCHfamilyregression
Sample:
1960q2-1990q4Numberofobs=123
Distribution:
GaussianWaldchi2(.)=.
Loglikelihood=373.234Prob>
chi2=.
|OPG
D.ln_wpi|Coef.Std.Err.zP>
|z|[95%Conf.Interval]
ln_wpi|
_cons|.0061167.00106165.760.000.0040361.0081974
ARCH|
arch|
L1.|.4364123.24374281.790.073-.0413147.9141394
|
garch|
L1.|.4544606.18666052.430.015.0886126.8203085
_cons|.0000269.00001222.200.0282.97e-06.0000508
这样,我们就可以估计出了ARCH
(1)的系数是0.436,GARCH
(1)的系数是0.454,所以我们可以拟合出GARCH(1,1)模型:
接下来我们可以对变量的进行预测:
predictxb,xb/*对差分变量的预测*/
predictvariance,var/*对条件方差的预测*/
predictres,residuals/*对差分变量残差的预测*/
predictyres,yresiduals/*对未差分变量残差的预测*/
3.2ARCH模型的确定以及检验
*-检验ARCH效应是否存在:
archlm命令
regressD.ln_wpi
archlm,lag(1/20)
regressD.ln_wpiL(1/3).D.ln_wpi
*图形法——自相关函数图(ac)
reg