format t üY-N-D /*1978-02-14*/ list t in 1/5
format t üy_n_d /*1978 2 14*/ 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图解时间序列 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 \
3470 25dec2002 \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(\ tsline calories, tlabel(, format(%td))
二、ARIMA 模型和SARMIA模型
ARIMA模型的基本思想是:将预测对象随时间推移而形成的数据序列视为一个随机序列,用一定的数学模型来近似描述这个序列。这个模型一旦被识别后就可以从时间序列的过去值及现在值来预测未来值。
ARIMA(1,1)模型:yt????yt?1???t?1??t
2.1 ARIMA模型预测的基本程序:
1) 根据时间序列的散点图、自相关函数和偏自相关函数图以ADF单位根检验其
方差、趋势及其季节性变化规律,对序列的平稳性进行识别。一般来讲,经济运行的时间序列都不是平稳序列。
2) 对非平稳序列进行平稳化处理。如果数据序列是非平稳的,并存在一定的增
长或下降趋势,则需要对数据进行差分处理,如果数据存在异方差,则需对数据进行技术处理,直到处理后的数据的自相关函数值和偏相关函数值无显著地异于零。
3) 根据时间序列模型的识别规则,建立相应的模型。若平稳序列的偏相关函数
是截尾的,而自相关函数是拖尾的,可断定序列适合AR模型;若平稳序列的偏相关函数是拖尾的,而自相关函数是截尾的,则可断定序列适合MA模型;若平稳序列的偏相关函数和自相关函数均是拖尾的,则序列适合ARMA模型。
4) 进行参数估计,检验是否具有统计意义。 5) 进行假设检验,诊断残差序列是否为白噪声。 6) 利用已通过检验的模型进行预测分析。 2.2 ARIMA模型中AR和MA阶数的确定方法: clear
sim_arma y_ar, 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-press.com/data/r11/wpi1 ,clear tsset t
gen d_wpi = D.wpi
dfuller wpi /*单位根检验*/ 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-press.com/data/r11/wpi1 ,clear gen d_wpi = D.wpi
arima wpi,arima(1,1,1) /* 没有漂移项即常数项的命令是noconstant */ * 或者下面的这种形式也行 arima D.wpi,ar(1) ma(1)
SARIMA模型:
use http://www.stata-press.com/data/r11/air2,clear 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-press.com/data/r11/wpi1 ,clear dfuller wpi /*单位根检验*/ gen d_wpi = D.wpi dfuller d_wpi
arima wpi,arima(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 /*累积统计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 dynamic(124)
gen fwpi=exp(fy) /*实际wpi的预测值*/ gen ywpi=exp(y)
line wpi fwpi ywpi t in -20/-1
三、ARCH 模型
传统的计量经济学对时间序列变量的第二个假设:假定时间序列变量的波动幅度(方差)是固定的,不符合实际,比如,人们早就发现股票收益的波动幅度是随时间而变化的,并非常数。这使得传统的时间序列分析对实际问题并不有效。但是ARCH模型能准确地模拟时间序列变量的波动性的变化,它在金融工程学的