Stata时间序列笔记
时间序列模型stata 基本命令汇总..

时间序列模型结构模型虽然有助于人们理解变量之间的影响关系,但模型的预测精度比较低。
在一些大规模的联立方程中,情况更是如此。
而早期的单变量时间序列模型有较少的参数却可以得到非常精确的预测,因此随着Box and Jenkins(1984)等奠基性的研究,时间序列方法得到迅速发展。
从单变量时间序列到多元时间序列模型,从平稳过程到非平稳过程,时间序列分析方法被广泛应用于经济、气象和过程控制等领域。
本章将介绍如下时间序列分析方法,ARIMA模型、ARCH族模型、VAR模型、VEC模型、单位根检验及协整检验等。
一、基本命令1.1时间序列数据的处理1)声明时间序列:tsset 命令use gnp96.dta, clearlist in 1/20gen Lgnp = L.gnptsset datelist in 1/20gen Lgnp = L.gnp2)检查是否有断点:tsreport, reportuse gnp96.dta, cleartsset datetsreport, reportdrop in 10/10list in 1/12tsreport, reporttsreport, report list /*列出存在断点的样本信息*/3)填充缺漏值:tsfilltsfilltsreport, report listlist in 1/124)追加样本:tsappenduse gnp96.dta, cleartsset datelist in -10/-1sumtsappend , add(5) /*追加5个观察值*/list in -10/-1sum5)应用:样本外预测: predictreg gnp96 L.gnp96predict gnp_hatlist in -10/-16)清除时间标识: tsset, cleartsset, clear1.2变量的生成与处理1)滞后项、超前项和差分项 help tsvarlistuse gnp96.dta, cleartsset dategen Lgnp = L.gnp96 /*一阶滞后*/gen L2gnp = L2.gnp96gen Fgnp = F.gnp96 /*一阶超前*/gen F2gnp = F2.gnp96gen Dgnp = D.gnp96 /*一阶差分*/gen D2gnp = D2.gnp96list in 1/10list in -10/-12)产生增长率变量: 对数差分gen lngnp = ln(gnp96)gen growth = D.lngnpgen growth2 = (gnp96-L.gnp96)/L.gnp96gen diff = growth - growth2 /*表明对数差分和变量的增长率差别很小*/ list date gnp96 lngnp growth* diff in 1/101.3日期的处理日期的格式 help tsfmt基本时点:整数数值,如 -3, -2, -1, 0, 1, 2, 3 ....1960年1月1日,取值为 0;1)使用 tsset 命令指定显示格式use B6_tsset.dta, cleartsset t, dailylistuse B6_tsset.dta, cleartsset t, weeklylist2)指定起始时点cap drop monthgenerate month = m(1990-1) + _n - 1format month %tmlist t month in 1/20cap drop yeargen year = y(1952) + _n - 1format year %tylist t year in 1/203)自己设定不同的显示格式日期的显示格式 %d (%td) 定义如下:%[-][t]d<描述特定的显示格式>具体项目释义:“<描述特定的显示格式>”中可包含如下字母或字符c y m l nd j h q w _ . , : - / ' !cC Y M L ND J W定义如下:c and C 世纪值(个位数不附加/附加0)y and Y 不含世纪值的年份(个位数不附加/附加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(冒号)- display 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 date 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----------------------------------clearset obs 100gen t = _n + d(13feb1978)list t in 1/5format t %dCY-N-D /*1978-02-14*/list t in 1/5format t %dcy_n_d /*1978 2 14*/list t in 1/5use B6_tsset, clearlisttsset t, format(%twCY-m)list4)一个实例:生成连续的时间变量use e1920.dta, clearlist year month in 1/30sort year monthgen time = _ntsset timelist year month time in 1/30generate newmonth = m(1920-1) + time - 1tsset newmonth, monthlylist year month time newmonth in 1/301.4图解时间序列1)例1:clearset seed 13579113sim_arma ar2, ar(0.7 0.2) nobs(200)sim_arma ma2, ma(0.7 0.2)tsset _ttsline ar2 ma2* 亦可采用 twoway line 命令绘制,但较为繁琐twoway line ar2 ma2 _t2)例2:增加文字标注sysuse tsline2, cleartsset daytsline calories, ttick(28nov2002 25dec2002, tpos(in)) /// ttext(3470 28nov2002 "thanks" ///3470 25dec2002 "x-mas", orient(vert)) 3)例3:增加两条纵向的标示线sysuse tsline2, cleartsset daytsline 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(, format(%td))二、ARIMA 模型和SARMIA 模型ARIMA 模型的基本思想是:将预测对象随时间推移而形成的数据序列视为一个随机序列,用一定的数学模型来近似描述这个序列。
时间序列分析STATA第二课

第二课:平稳性检验重点:1)平稳的基本含义及扩展2)制图的命令3)单位根检验一,平稳的基本含义及其扩展:1, 基本含义:平稳(stationary ),在本书中分析的都是弱/宽平稳,也称为协方差平稳(covariance stationary )即:1)μ=t Ex 2)22)(σ=t x E3)协方差只与时滞有关,而与所处时刻无关 即j j t t x x E γ=-)(2,非平稳产生的原因:1)奇异点(outlier )2)随机游走(Random Walk )3)漂移(Drift )4)趋势(Trend )5)方差变化(Changing Variance )。
时序图是判别上述五种情形最为直接和简便的方法。
单位根检验(Unit Root )检验的是2),3),4)种情形3,DF/ADF 检验的三种情形分别是:无漂移项的自回归过程(又称为 差分平稳过程difference stationary );带漂移项的自回归过程,带趋势项的自回归过程(这类过程又称为 趋势平稳Trend Stationary )二,制图命令:Twoway Historgram三,单位根检验UNIT ROOT Test命令:dfuller dfgls 适用于同方差场合pperron 适用于异方差场合检验结果表示为:t p t p t t t x x x x εββρμ+∇++∇++=∇---+1111...关键:看懂软件运行结果格式:Dfuller varname [if] [in] [, options]options Description---------------------------------------------------------------------------------------noconstant suppress constant term in regressiontrend include trend term in regressiondrift include drift term in regressionregress display regression tablelags(#) include # lagged differences---------------------------------------------------------------技巧:lags(#)的选择,是艺术,不是科学。
stata学习笔记

经济数据的特点与类型。
1、横截面数据:多个经济个体的变量在同一时间点上的取值,如2012年中国各省的GDP2、时间数列数据:指的是某个经济个体的变量在不同时点上的取值,如1978-2012年山东省每年的GDP3、面板数据:多个经济个体的变量在不同时点上的取值,如1978-2012年中国各省的GDP 小样本OLS(最小二乘法):单一方程线性回归最常见方法条件:解释变量与扰动项正交、扰动项无自相关、同方差。
拟合优度:衡量线性回归模型对样本数据的拟合程度(R2),越高说明模型拟合程度越好。
单系数T检验:对回归方程扰动项的具体概率进行假设显著性水平进行检验F检验:整个回归方程是否显著STATA操作简介:如果数据中包含1949-10-01或1949/10/01的时间变量,导入stata后可能会被视为字符串,因此对于日度数据,可以使用命令gen newvar=date(varname,YMD),将其转换为整数日期变量,其中YMD说明原始数据的格式为年月日,如果原始数据的格式为月日年则使用MDY;对于月度数据则gen newvar=monthly(varname,YM)。
.describe:数据的概貌.drop keep:删除和保留.su:统计特征Pwcorr:变量之间相关系数Star(.05):5%显著性水平gen:产生g intc=log(tc):取自然对数. reg:OLS回归.Vce:协方差矩阵reg。
,noc表示在进行回归时不要常数项大样本OLS:只要求解释变量与同期的扰动项正交即可Robust:稳健标准误,如果存在异方差,则应使用稳健标准误最大似然估计法:如果回归方程存在非线性,则使用最大似然估计法(MLE )或非线性最小二乘法(NLS )三类在大样本下渐进等价的统计检验:Wald test LR (似然比检验) LM操作步骤如下:sysuse auto (调用数据集)Hist mpg ,normal (画变量mpg 的直方图,并与正态密度比较)D e n s i t y直方图显示,变量mpg 的分布于正态分布有一定差距。
stata操作介绍之时间序列-(四)

平滑分析 自相关分析 ARIMA模型
平滑分析
大多数时间序列数据都具有上下起伏的波动,对 于时间序列数据的识别十分困难。平滑分析可以把 数据分为两个部分:一部分逐渐发生变化,便于分 析处理;另一部分则含有突变的成份。
时间平滑:用某时刻及其前后若干时刻的值进行 加权平均,所得值作为该时刻的替代值以滤去小扰 动的方法。
平滑分析-滞后变量
时间平滑:
. tssmooth ma fylln= fylltemp,window(2 1 2)
平滑分析-滞后变量
趋势图:
. graph two spike fylltemp year,base(1.67) yline(1.67) || line fylln year ,clpattern(solid)
平滑分析
波动幅度:
. graph two line ch date
平滑分析-滞后变量
导入数据: . use "C:\Users\Administrator\Desktop\时间序列\ 数据\ch52.dta", clear
描述性统计:
. describe
时间设置:
. tsset year,yearly
平滑分析-滞后变量
生成n阶滞后变量的两种方法:
. gen wNAO_n=wNAO[ _n-1] . gen wNAO_n=Ln.wNAO
注:第二种方法中的''Ln''表示Lag(n);
平滑分析-滞后变量
生成一阶滞后变量:
. gen wNAO_1=wNAO[ _n-1]
生成二阶滞后变量:
. gen wNAO_2=L2.wNAO
stata操作介绍之时间序列分析

【例1】使用文件“cpi.dta”的数据来对tsset命令的应用 进行说明。该例子是我国1983年1月年至2007年8月的居 民消费价格指数CPI。部分数据如表2所示: 表2 我国居民消费价格指数CPI Year
1983 1983 1983 1983 1983 1983 1983
month
daily weekly monthly quarterly harfyearly yearly generic format(%fmt) 时间周期 delta(#) delta((exp)) delta(#units) delta((exp)units)
注:(1)units表示时间单位,对于%tc,允许的时间单位包括:second、seconds、secs、secs、 minutes、minute、mine、min、hours、hour、days、weeks、week。对于其他%t的格式,Stata自动 获得其时间单位,delta选项经常与%tc格式一起使用。 STATA从入门到精通 Page 4
【例2】继续使用上例的数据来对tssmooth命令的应用进 行说明。在本例中对该组数据进行修匀,以便消除不规则 变动的影响,得到时间序列长期趋势,本例修匀的方法是 利用之前的1个月和之后的2个月及本月进行平均。
Page 9
STATA从入门到精通
二、
ARIMA模型的估计、单位根与协整
时间序列模型一般分为四类,分别是自回归过程、移动平均过程、自 回归移动平均过程、单整自回归移动平均过程。 自回归过程 如果一个剔出均值和确定性成分的线性过程可表达为 xt = 1xt-1 + 2 xt-2 + … + p xt-p + ut 其中i, i = 1, … p 是自回归参数,ut 是白噪声过程,则称xt为p阶自 回归过程,用AR(p)表示。xt是由它的p个滞后变量的加权和以及ut相 加而成。
stata操作介绍之时间序列分析

时间序列构成分析就是要观察现象在一个相当长的时期内, 由于各个影响因素的影响,使事物发展变化中出现的长期趋 势、季节变动、循环变动和不规则变动。
通过测定和分析过去一段时间之内现象的发展趋势,可以认 识和掌握现象发展变化的规律性,为统计预测提供必要的条 件,同时也可以消除原有时间序列中长期趋势的影响,更好 地研究季节变动和循环变动等问题。测定和分析长期趋势的 主要方法是对时间序列进行修匀。
timevar的格式为%tc, 0=1jan1960 00:00:00.000,1=1jan1960 00:00:00.001 即0代表1960年1月1日的第一秒,1为1960年1月1日的第二秒,依次后推。 timevar的格式为%td,0=1jan1960,1=2jan1960;即0为1960年第一天,1 为1960年第二天,依次后推。 timevar的格式为%tw,0=1960w1,1=1960w2;即0为1960年第一周,1 为1960年第二周,依次后推。 timevar的格式为%tm,0=1,1=;即0为1960年第一月,1为1960年第二 月,依次后推。 timevar的格式为%tq,0=1960q1,1=1960q2;即0为1960年第一季,1为 1960年第二季,依次后推。 timevar的格式为%th,0=1960h1,1=1960h2;即0为从1960起的第一个半 年,1为从1960年起第二个半年,依次后推。 timevar的格式为%ty,1960=1960,1961=1960 timevar的格式为%tg
义时间单位,或者定义时间周期(即timevar两个观测值 之间的周期数)。Options的相关描述如表1所示。
Page 3
STATA从入门到精通
时间单位
格式说明
Clocktime
时间序列模型stata 基本命令汇总

时间序列模型结构模型虽然有助于人们理解变量之间的影响关系,但模型的预测精度比较低。
在一些大规模的联立方程中,情况更是如此。
而早期的单变量时间序列模型有较少的参数却可以得到非常精确的预测,因此随着Box and Jenkins(1984)等奠基性的研究,时间序列方法得到迅速发展。
从单变量时间序列到多元时间序列模型,从平稳过程到非平稳过程,时间序列分析方法被广泛应用于经济、气象和过程控制等领域。
本章将介绍如下时间序列分析方法,ARIMA模型、ARCH族模型、VAR模型、VEC模型、单位根检验及协整检验等。
一、基本命令1.1时间序列数据的处理1)声明时间序列:tsset 命令use gnp96.dta, clearlist in 1/20gen Lgnp = L.gnptsset datelist in 1/20gen Lgnp = L.gnp2)检查是否有断点:tsreport, reportuse gnp96.dta, cleartsset datetsreport, reportdrop in 10/10list in 1/12tsreport, reporttsreport, report list /*列出存在断点的样本信息*/3)填充缺漏值:tsfilltsfilltsreport, report listlist in 1/124)追加样本:tsappenduse gnp96.dta, cleartsset datelist in -10/-1sumtsappend , add(5) /*追加5个观察值*/list in -10/-1sum5)应用:样本外预测: predictreg gnp96 L.gnp96predict gnp_hatlist in -10/-16)清除时间标识: tsset, cleartsset, clear1.2变量的生成与处理1)滞后项、超前项和差分项 help tsvarlistuse gnp96.dta, cleartsset dategen Lgnp = L.gnp96 /*一阶滞后*/gen L2gnp = L2.gnp96gen Fgnp = F.gnp96 /*一阶超前*/gen F2gnp = F2.gnp96gen Dgnp = D.gnp96 /*一阶差分*/gen D2gnp = D2.gnp96list in 1/10list in -10/-12)产生增长率变量: 对数差分gen lngnp = ln(gnp96)gen growth = D.lngnpgen growth2 = (gnp96-L.gnp96)/L.gnp96gen diff = growth - growth2 /*表明对数差分和变量的增长率差别很小*/ list date gnp96 lngnp growth* diff in 1/101.3日期的处理日期的格式 help tsfmt基本时点:整数数值,如 -3, -2, -1, 0, 1, 2, 3 ....1960年1月1日,取值为 0;1)使用 tsset 命令指定显示格式use B6_tsset.dta, cleartsset t, dailylistuse B6_tsset.dta, cleartsset t, weeklylist2)指定起始时点cap drop monthgenerate month = m(1990-1) + _n - 1format month %tmlist t month in 1/20cap drop yeargen year = y(1952) + _n - 1format year %tylist t year in 1/203)自己设定不同的显示格式日期的显示格式 %d (%td) 定义如下:%[-][t]d<描述特定的显示格式>具体项目释义:“<描述特定的显示格式>”中可包含如下字母或字符c y m l nd j h q w _ . , : - / ' !cC Y M L ND J W定义如下:c and C 世纪值(个位数不附加/附加0)y and Y 不含世纪值的年份(个位数不附加/附加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(冒号)- display 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 date 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----------------------------------clearset obs 100gen t = _n + d(13feb1978)list t in 1/5format t %dCY-N-D /*1978-02-14*/list t in 1/5format t %dcy_n_d /*1978 2 14*/list t in 1/5use B6_tsset, clearlisttsset t, format(%twCY-m)list4)一个实例:生成连续的时间变量use e1920.dta, clearlist year month in 1/30sort year monthgen time = _ntsset timelist year month time in 1/30generate newmonth = m(1920-1) + time - 1tsset newmonth, monthlylist year month time newmonth in 1/301.4图解时间序列1)例1:clearset seed 13579113sim_arma ar2, ar(0.7 0.2) nobs(200)sim_arma ma2, ma(0.7 0.2)tsset _ttsline ar2 ma2* 亦可采用 twoway line 命令绘制,但较为繁琐twoway line ar2 ma2 _t2)例2:增加文字标注sysuse tsline2, cleartsset daytsline calories, ttick(28nov2002 25dec2002, tpos(in)) /// ttext(3470 28nov2002 "thanks" ///3470 25dec2002 "x-mas", orient(vert)) 3)例3:增加两条纵向的标示线sysuse tsline2, cleartsset daytsline 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(, format(%td))二、ARIMA 模型和SARMIA 模型ARIMA 模型的基本思想是:将预测对象随时间推移而形成的数据序列视为一个随机序列,用一定的数学模型来近似描述这个序列。
运用stata进行时间序列分析.共34页文档

运用stata进行时间序列分析.
1、战鼓一响,法律无声。——英国 2、任何法律的根本;不,不成文法本 身就是 讲道理 ……法 律,也 ----即 明示道 理。— —爱·科 克
3、法律是最保险的头盔。——爱·科 克 4、一个国家如果纲纪不正,其国风一 定颓败 。—— 塞内加 5、法律不能使人人平等,但是在法律 面前人 人是平 等的。 ——波 洛克
66、节制使快乐增加并使享受加强。 ——德 谟克利 特 67、今天应做的事没有做,明天再早也 是耽误 了。——裴斯 泰洛齐 68、决定一个人的一生,以及整个命运 的,只 是一瞬 之间。 ——歌 德 69、懒人无法享受休息之乐。——拉布 克 70、浪费时间是一桩大罪过。——卢梭
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文档结尾是FAQ和var建模的15点注意事项【梳理概念】向量自回归(VAR, Vector Auto regression)常用于预测相互联系的时间序列系统以及分析随机扰动对变量系统的动态影响。
V AR模型:V AR方法通过把系统中每一个内生变量,作为系统中所有内生变量的滞后值的函数来构造模型,从而回避了结构化模型的要求。
V AR模型对于相互联系的时间序列变量系统是有效的预测模型,同时,向量自回归模型也被频繁地用于分析不同类型的随机误差项对系统变量的动态影响。
如果变量之间不仅存在滞后影响,而不存在同期影响关系,则适合建立V AR模型,因为V AR模型实际上是把当期关系隐含到了随机扰动项之中。
协整:Engle和Granger(1987a)指出两个或多个非平稳时间序列的线性组合可能是平稳的。
假如这样一种平稳的或的线性组合存在,这些非平稳(有单位根)时间序列之间被认为是具有协整关系的。
这种平稳的线性组合被称为协整方程且可被解释为变量之间的长期均衡关系。
* 第六讲时间序列分析*---- 目录-----**-- 简介* 6.1 时间序列数据的处理*-- 平稳时间序列模型* 6.2 ARIMA 模型* 6.3 V AR 模型*-- 非平稳时间序列模型——近些年得到重视,发展很快* 6.4 非平稳时间序列简介* 6.5 单位根检验——检验非平稳* 6.6 协整分析——非平稳序列的分析*-- 自回归条件异方差模型* 6.7 GARCH 模型——金融序列不同时点上序列的差异反映动态关系的时间数据顺序不可颠倒cd d:\stata10\ado\personal\Net_Course\B6_TimeS*=======================* 时间序列数据的处理help time*=======================* 声明时间序列:tsset 命令use gnp96.dta, clearlist in 1/20gen Lgnp = L.gnp(此时没办法生成之后一阶的变量,因为没有设定时间变量)tsset date(设定date为时间变量,timeseries)list in 1/20gen Lgnp = L.gnp96滞后一期,所以会产生1个缺失值●检查是否有断点——肉眼看不方便,用命令检查use gnp96.dta, cleartsset datetsreport, reportdrop in 10/10 ——去掉断点成连续的,才能继续进行list in 1/12tsreport, reporttsreport, report list/*列出存在断点的样本信息*/●填充缺漏值——接着上一步,看看stata如何填充缺漏值。
一般用前面的数据的平均值或预测等Tsfill(以缺漏值的形式)tsreport, report listlist in 1/12* 追加样本——有时候追加样本不是为了追加新的值,而是为了预测(见应用)use gnp96.dta, cleartsset datelist in -10/-1sumtsappend , add(5)/*追加5个观察值*/list in -10/-1 增加的样本值都是缺漏的可以手动输入sum* 应用:样本外预测reg gnp96 L.gnp96predict gnp_hatlist in -10/-1——接上一步这样增加的样本值的预测值就显示出来了(前提是追加了样本值)* 清除时间标识tsset, clear——若数据的形态有所改变就清除*---------------------* 变量的生成与处理*---------------------滞后L—lag 前导F—forward 差分D-difference*--- 滞后项、超前项和差分项help tsvarlistuse gnp96.dta, cleartsset dategen Lgnp = L.gnp96 /*一阶滞后*/gen L2gnp = L2.gnp96 /*二阶滞后*/gen Fgnp = F.gnp96gen F2gnp = F2.gnp96gen Dgnp = D.gnp96gen D2gnp = D2.gnp96list in 1/10list in -10/-1D,L,F可以组合生成变量gen 新变量名= DL.变量名先滞后再差分*---产生增长率变量gen 变量名=D.ln(gnp96): 对数差分——得到近似的增长率先设定时间变量tsset dategen 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约等于0list date gnp96 lngnp growth* diff in 1/10*---------------------* 日期的处理*---------------------*--- 日期的格式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* -------------------------------* 使用tsset 命令指定显示格式use B6_tsset.dta, cleartsset t, dailylistuse B6_tsset.dta, cleartsset t, weekly——定义基本时点1.2.3间的间隔是日、周、年等list* 相同的基本时点,采用不同的方式显示会有不同的效果clearset obs 100gen t = _nreplace t = t-3local format "td tw tm tq th ty"foreach f of local format{gen t_`f' = tformat t_`f' %`f'}list in 1/20* 说明:同样的数值,采用不同的显示方式,会有完全不同的含义* 指定起始时点cap drop monthgenerate month = m(1990-1) + _n - 1format month %tmlist month in 1/20cap drop yeargen year = y(1952) + _n - 1format year %tylist t year in 1/20* 设定不同的显示格式help dfmt** 日期的显示格式%d (%td) 定义如下:* %[-][t]d<描述特定的显示格式>** 具体项目释义:* “<描述特定的显示格式>”中可包含如下字母或字符* 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 数字月份(个位数不附加/附加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* -----------------------------------* 又如:* Format Sample date 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* ----------------------------------clearset obs 100gen t = _n + d(13feb1978)(第一个数显示的是1978年2月14对应的数值) list t in 1/5format t %dCY-N-D /*1978-02-14*/list t in 1/5format t %dcy_n_d /*1978 2 14*/list t in 1/5use B6_tsset, clearlisttsset t, format(%twCY-m)list* 一个实例:生成连续的时间变量use e1920.dta, clearlist year month in 1/30sort year monthgen time = _ntsset timelist year month time in 1/30generate newmonth = m(1920-1) + time - 1tsset newmonth, monthlylist year month time newmonth in 1/30*--- 处理日期的函数help dates_and_timeshelp time-series functions* 以下适用于STA TA9.2 版本*-- 时间序列日期概览help tdates*-- 将文字变量转换为日期help dlyfcns*-- 利用年、月、季度转换日期help dlyfcns*-- 日期转换函数help dcfcns*-----------------------* 图解时间序列*-----------------------* help tsline* 例1:clearset seed 13579113sim_arma ar2, ar(0.7 0.2) nobs(200)sim_arma ma2, ma(0.7 0.2)tsset _ttsline ar2 ma2* 亦可采用twoway line 命令绘制,但较为繁琐twoway line ar2 ma2 _t(前面两个为纵坐标,后面的为横坐标)* 例2:增加文字标注sysuse tsline2, cleartsset day#delimit ;。