《Stata时间序列笔记教案.doc》由会员分享,可在线阅读,更多相关《Stata时间序列笔记教案.doc(113页珍藏版)》请在金锄头文库上搜索。
1、文档结尾是FAQ和var建模的15点注意事项【梳理概念】向量自回归(VAR, Vector Auto regression)常用于预测相互联系的时间序列系统以及分析随机扰动对变量系统的动态影响。VAR模型:VAR方法通过把系统中每一个内生变量,作为系统中所有内生变量的滞后值的函数来构造模型,从而回避了结构化模型的要求。VAR模型对于相互联系的时间序列变量系统是有效的预测模型,同时,向量自回归模型也被频繁地用于分析不同类型的随机误差项对系统变量的动态影响。如果变量之间不仅存在滞后影响,而不存在同期影响关系,则适合建立VAR模型,因为VAR模型实际上是把当期关系隐含到了随机扰动项之中。协整:Eng
2、le和Granger(1987a)指出两个或多个非平稳时间序列的线性组合可能是平稳的。假如这样一种平稳的或的线性组合存在,这些非平稳(有单位根)时间序列之间被认为是具有协整关系的。这种平稳的线性组合被称为协整方程且可被解释为变量之间的长期均衡关系。 * 第六讲 时间序列分析 *- 目录 -*- 简介* 6.1 时间序列数据的处理*- 平稳时间序列模型* 6.2 ARIMA 模型* 6.3 VAR 模型*- 非平稳时间序列模型近些年得到重视,发展很快* 6.4 非平稳时间序列简介* 6.5 单位根检验检验非平稳* 6.6 协整分析非平稳序列的分析*- 自回归条件异方差模型* 6.7 GARCH
3、模型 金融序列 不同时点上序列的差异反映动态关系的时间数据顺序不可颠倒cd d:stata10adopersonalNet_CourseB6_TimeS*=* 时间序列数据的处理 help time*=* 声明时间序列:tsset 命令 use gnp96.dta, clear list in 1/20 gen Lgnp = L.gnp(此时没办法生成之后一阶的变量,因为没有设定时间变量) tsset date(设定date为时间变量,timeseries) list in 1/20 gen Lgnp = L.gnp96滞后一期,所以会产生1个缺失值l 检查是否有断点 肉眼看不方便,用命令检查
4、 use gnp96.dta, clear tsset date tsreport, report drop in 10/10 去掉断点成连续的,才能继续进行 list in 1/12 tsreport, report tsreport, report list /*列出存在断点的样本信息*/ l 填充缺漏值接着上一步,看看stata如何填充缺漏值。一般用前面的数据的平均值或预测等 Tsfill(以缺漏值的形式) tsreport, report list list in 1/12* 追加样本有时候追加样本不是为了追加新的值,而是为了预测(见应用) use gnp96.dta, clear t
5、sset date list in -10/-1 sum tsappend , add(5) /*追加5个观察值*/ list in -10/-1 增加的样本值都是缺漏的 可以手动输入 sum * 应用:样本外预测 reg gnp96 L.gnp96 predict gnp_hat list in -10/-1接上一步 这样增加的样本值的预测值就显示出来了(前提是追加了样本值)* 清除时间标识 tsset, clear若数据的形态有所改变 就清除*-* 变量的生成与处理*-滞后Llag 前导Fforward 差分D-difference*- 滞后项、超前项和差分项 help tsvarlist
6、 use gnp96.dta, clear tsset date gen Lgnp = L.gnp96 /*一阶滞后*/ 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/-1D,L,F可以组合生成变量 gen 新变量名= DL.变量名 先滞后再差分*- 产生增长率变量gen 变量名=D.ln(gnp96): 对数差分得到近似的增长率 先设定时间变量 tsset dategen
7、 lngnp = ln(gnp96) gen growth = D.lngnp(得到近似的增长率)上面两步的简写形式(gen growth=D.ln(gnp96))该简化方法在stata12中不可行 gen growth2 = (gnp96-L.gnp96)/L.gnp96增长率的最基本定义 gen diff = growth - growth2若对数差分和真正的增长率接近,diff约等于0 list date gnp96 lngnp growth* diff in 1/10*-* 日期的处理*- *- 日期的格式 help tsfmt* * 基本时点:整数数值,如 -3, -2, -1, 0
8、, 1, 2, 3 .* 1960年1月1日,取值为 0;* 显示格式:* -* 定义 含义 默认格式* -* %td 日 %tdDlCY* %tw 周 %twCY!ww* %tm 月 %tmCY!mn* %tq 季度 %tqCY!qq* %th 半年 %thCY!hh* %ty 年 %tyCY* - * 使用 tsset 命令指定显示格式 use B6_tsset.dta, clear tsset t, daily list use B6_tsset.dta, clear tsset t, weekly定义基本时点1.2.3间的间隔 是日、周、年等 list * 相同的基本时点,采用不同的方
9、式显示会有不同的效果 clear set obs 100 gen t = _n replace t = t-3 local format td tw tm tq th ty foreach f of local format gen t_f = t format t_f %f list in 1/20* 说明:同样的数值,采用不同的显示方式,会有完全不同的含义* 指定起始时点 cap drop month generate month = m(1990-1) + _n - 1 format month %tm list month in 1/20 cap drop year gen year
10、= y(1952) + _n - 1 format year %ty list t year in 1/20* 设定不同的显示格式 help dfmt* 日期的显示格式 %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 不含世纪值的年份(个位数不附加/附加0) m 三个英文字母的月份简写(第一个字母大写) M 英文字母拼写的月份(第一个字母大写) n and N 数
11、字月份(个位数不附加/附加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(冒号) - display a dash (短线) / display a slash(斜线) display a close single quote(右引号) !c display character c (code ! to display an exclamation point)*/* 例如:* 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 * -