在公众号对话窗口回复“DSGE”,查看往期所有推文汇总。
我们在用DSGE模型研究宏观经济问题时,存在非常多的技巧,无论是理论模型的构建与求解,还是数据处理与编程。这里的“技巧”包含两层含义:第一,帮助研究顺利推进的一些经验,例如,DSGE中使用的数据划分成“校准数据”和“估计数据”两类(我在“香樟青苗计划”和一些高校的讲座中详细地阐述过,以后有机会也会在宏观经济研学会上发布);第二,需要注意的事项,以避免DSGE研究各个环节出现误用和误解,例如,对数差分、去均值的使用等等。实际上,上述两个方面是同一事物的两面而已。今天的DSGE建模与编程入门(46)就向大家介绍一些DSGE(估计数据)数据处理方面的一些问题。
参考J. Pfeifer(2018),本讲内容关注三个宏观经济时间序列:实际产出、通胀和名义利率。
实际产出是一个带趋势的变量,如消费、投资、政府支出等等一样,我们在使用这些数据之前,一般都要对其进行去趋势,让其变成平稳数据。这是因为在不带趋势的DSGE模型(常见)中,模型变量都是平稳的。
通胀是平稳变量,其直接与模型中的变量等价。
名义利率是平稳变量,但通常与模型中的频率不相同。
首先,估计数据选择问题:
哪些观测变量应该用于估计?
通常只知道,观测变量个数不能超过冲击个数,如果确实超过了,就要用变量测量误差方程补充。宏观经济变量那么多,应该选择哪些呢? 原则一,能限制感兴趣的模型特征行为,或者对于模型是新的那些变量。 原则二,利用Dynare提供的identification命令来诊断,一般来说,不要选择具有多重共线性的数据,例如,Y=C+I,不要同时选取Y、C、I三个变量作为估计数据。 原则三,使用具有较好信噪比(SNR)的观测数据。 原则四,谨慎使用测量误差较大的数据,例如平均工资。
使用的观测数据起始时间不同,怎么办?
办法一,缩短样本,使得所有可用数据都有相同时期。 办法二,对于有些数据不可用的时期,用缺失数据代替,即在datafile中填写NaNs。且缺失数据并不一定要在时期开始,样本期任何位置都可以。因此,推荐使用第二种方法。
我们拿到数据之后,其次,要特别注意两个问题:
季节调整
DSGE模型通常是用来刻画经济周期频率上的变化。它不能很好的处理季节因素带来的变动。因此,我们在使用时间序列数据之前,一定要确保所有的数据都经过了季节调整。一般来说,我们可以直接通过图形来观察出数据是否经过季节调整:没有进过季节调整的数据,一般带有尖锐的锯齿状,也就是说,数据波动不够平滑。
数据转换
数据转换包括两种:经济含义的转换和频率的转换。前一种例如,封闭经济DSGE模型,GDP(产出)都是不包含净出口,但是,我们实际找到的GDP数据一般是包含净出口,因此,我们将GDP用于估计之前,应该从GDP数据中减去对应的净出口。而后一种则是数据在月度、季度、年度等频率方面的转换。
再次,去趋势、去均值需要注意的问题
我们在往期推送过去趋势的理论方法介绍:
DSGE建模与编程入门(17):非平稳观测值与随机趋势
。这里需要特别注意两个问题:
滤波去趋势
在去除数据的趋势时,不要选用某些非因果方法,例如双边滤波——双边HP滤波或者双边BK滤波等。因为,DSGE模型一般采用后看状态空间形式,即今天的解仅仅依赖于当期和过去状态和冲击。然而,双边HP滤波则是利用xt-2到xt+2来构造出xt,也就是说它利用了未来值构造当期滤波值。这明显与模型的后看结构相矛盾。因此,更好的滤波是后看型单边HP滤波(Stock and Watson,1999)。
对数差分
另一种常用的去趋势方法就是对数差分,对数差分不存在上述双边滤波问题。但是,它有两个问题需要注意:第一,对数差分之后,变量的均值往往不等于零。但是,在对数线性化模型中,变量的稳态值等于0,因此,我们在对数据进行对数差分后,还需要对其进行去均值处理。第二,平稳变量(通胀和利率)的数据不需要差分,而且,如果数据本身小于1,就不需要取对数了,例如,通胀率往往等于2%(=0.02)这样的小数,此时通胀数据就不需要取对数。因为我们定义的通胀往往是π=Pt/Pt-1>1,取对数的目的是为了得到近似通胀率,即ln(1+π)=π,但是,如果数据是本身已经减去1,即π=P(t)/P(t-1)-1,此时就不用取对数了。另一个需要注意的问题是,根据通胀的定义,通胀的数据应该使用环比数据,而不能使用同比数据。
注:更多详细地数据问题,或者估计时数据和观测方程的用法,我们将会在后续的DSGE建模与编程系列中呈现。敬请期待!
领取专属 10元无门槛券
私享最新 技术干货