时间序列模型分析的各种stata命令.docx

上传人:b****2 文档编号:765009 上传时间:2023-04-30 格式:DOCX 页数:56 大小:634.13KB
下载 相关 举报
时间序列模型分析的各种stata命令.docx_第1页
第1页 / 共56页
时间序列模型分析的各种stata命令.docx_第2页
第2页 / 共56页
时间序列模型分析的各种stata命令.docx_第3页
第3页 / 共56页
时间序列模型分析的各种stata命令.docx_第4页
第4页 / 共56页
时间序列模型分析的各种stata命令.docx_第5页
第5页 / 共56页
时间序列模型分析的各种stata命令.docx_第6页
第6页 / 共56页
时间序列模型分析的各种stata命令.docx_第7页
第7页 / 共56页
时间序列模型分析的各种stata命令.docx_第8页
第8页 / 共56页
时间序列模型分析的各种stata命令.docx_第9页
第9页 / 共56页
时间序列模型分析的各种stata命令.docx_第10页
第10页 / 共56页
时间序列模型分析的各种stata命令.docx_第11页
第11页 / 共56页
时间序列模型分析的各种stata命令.docx_第12页
第12页 / 共56页
时间序列模型分析的各种stata命令.docx_第13页
第13页 / 共56页
时间序列模型分析的各种stata命令.docx_第14页
第14页 / 共56页
时间序列模型分析的各种stata命令.docx_第15页
第15页 / 共56页
时间序列模型分析的各种stata命令.docx_第16页
第16页 / 共56页
时间序列模型分析的各种stata命令.docx_第17页
第17页 / 共56页
时间序列模型分析的各种stata命令.docx_第18页
第18页 / 共56页
时间序列模型分析的各种stata命令.docx_第19页
第19页 / 共56页
时间序列模型分析的各种stata命令.docx_第20页
第20页 / 共56页
亲,该文档总共56页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

时间序列模型分析的各种stata命令.docx

《时间序列模型分析的各种stata命令.docx》由会员分享,可在线阅读,更多相关《时间序列模型分析的各种stata命令.docx(56页珍藏版)》请在冰点文库上搜索。

时间序列模型分析的各种stata命令.docx

时间序列模型分析的各种stata命令

时间序列模型

结构模型虽然有助于人们理解变量之间的影响关系,但模型的预测精度比较低。

在一些大规模的联立方程中,情况更是如此。

而早期的单变量时间序列模型有较少的参数却可以得到非常精确的预测,因此随着BoxandJenkins(1984)等奠基性的研究,时间序列方法得到迅速发展。

从单变量时间序列到多元时间序列模型,从平稳过程到非平稳过程,时间序列分析方法被广泛应用于经济、气象和过程控制等领域。

本章将介绍如下时间序列分析方法,ARIMA模型、ARCH族模型、VAR模型、VEC模型、单位根检验及协整检验等。

一、基本命令

1.1时间序列数据的处理

1)声明时间序列:

tsset命令

usegnp96.dta,clear

listin1/20

genLgnp=L.gnp

tssetdate

listin1/20

genLgnp=L.gnp

2)检查是否有断点:

tsreport,report

usegnp96.dta,clear

tssetdate

tsreport,report

dropin10/10

listin1/12

tsreport,report

tsreport,reportlist/*列出存在断点的样本信息*/

3)填充缺漏值:

tsfill

tsfill

tsreport,reportlist

listin1/12

4)追加样本:

tsappend

usegnp96.dta,clear

tssetdate

listin-10/-1

sum

tsappend,add(5)/*追加5个观察值*/

listin-10/-1

sum

5)应用:

样本外预测:

predict

reggnp96L.gnp96

predictgnp_hat

listin-10/-1

6)清除时间标识:

tsset,clear

tsset,clear

 

1.2变量的生成与处理

1)滞后项、超前项和差分项helptsvarlist

usegnp96.dta,clear

tssetdate

genLgnp=L.gnp96/*一阶滞后*/

genL2gnp=L2.gnp96

genFgnp=F.gnp96/*一阶超前*/

genF2gnp=F2.gnp96

genDgnp=D.gnp96/*一阶差分*/

genD2gnp=D2.gnp96

listin1/10

listin-10/-1

 

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

useB6_tsset.dta,clear

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:

FormatSampledateinformat

----------------------------------

%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*/

listtin1/5

formatt%dcy_n_d/*1978214*/

listtin1/5

useB6_tsset,clear

list

tssett,format(%twCY-m)

list

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:

clear

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:

增加两条纵向的标示线

sysusetsline2,clear

tssetday

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模型:

usehttp:

//www.stata-,clear

gend_wpi=D.wpi

arimawpi,arima(1,1,1)/*没有漂移项即常数项的命令是noconstant*/

*或者下面的这种形式也行

arimaD.wpi,ar

(1)ma

(1)

SARIMA模型:

usehttp:

//www.stata-

lineairt

generatelnair=ln(air)

arimalnair,arima(0,1,1)sarima(0,1,1,12)noconstant

2.5ARIMA模型的一个真实应用——美国批发物价指数

usehttp:

//www.stata-,clear

dfullerwpi/*单位根检验*/

gend_wpi=D.wpi

dfullerd_wpi

arimawpi,arima(1,1,1)/*没有漂移项即常数项的命令是noconstant*/

*或者下面的这种形式也行

arimaD.wpi,ar

(1)ma

(1)

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/*白噪声检验:

Q检验*/

wntestbr,table/*累积统计Q检验并以列表显示*/

wntestbr/*画出累积统计量Q*/

corrgramr,lag(24)/*自相关、偏相关、Q统计量*/

*样本内预测

predicty_hat0/*y的拟合值*/

*样本外预测

listin-15/-1

tsappend,add(8)

listin-15/-1

predicty_hat1/*y的样本外一步预测值*/

listin-15/-1

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:

//www.stata-

.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/*对差分变量的预测*/

predicty,y/*对未差分变量的预测*/

predictvariance,var/*对条件方差的预测*/

predictres,residuals/*对差分变量残差的预测*/

predictyres,yresiduals/*对未差分变量残差的预测*/

3.2ARCH模型的确定以及检验

例子:

usehttp:

//www.stata-

*-检验ARCH效应是否存在:

archlm命令

regressD.ln_wpi

archlm,lag(1/20)

regressD.ln_wpiL(1/3).D.ln_wpi

archlm,lag(1/20)

*图形法——自相关函数图(a

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2