此处下载note附件:
这个新凯恩斯DSGE模型是根据Jordi Gali教材的第三章修改而来的。包括了3个核心方程,如下图
第一个是:Euler equation
第二个是:New Keynesian Phillips Curve
第三个是:Taylor Rule
其中新凯恩斯菲利普斯曲线的推导最为复杂,最简化的版本都有至少40个步骤以上的推导。Optimisation的方法我全部用的Lagrangian,没有用任何动态规划的内容。
推导模型和建立模型一样重要。当你自己要做研究的时候,你往往要修改别人的模型,加入和减去一些成分,所以一般自己都要重新推导整个模型,如果你对benchmark(标尺)模型非常熟练,你才会知道什么地方可以添加新东西,什么地方添加新东西也没有意义(因为推导过程中那个部分会被消掉)。在能够独立做研究之前,都是要熟悉推导很多个(如果你非要我给数字,我会说至少100个)标尺模型及变种版本,才会有能力建立和推导自己的模型.
同时我做了最大似然估计和贝叶斯估计,用的数据是Euro area的GDP per capita, CPI和 3 month interest rate。这些数据都要经过处理才能喂给DSGE模型。人均GDP要用先log difference,用AR(4)预测延长4期,回到未差分数据,然后HP滤波,剔掉trend。然后三个时间序列都要demean,意思就是全部观测值减去均值。这个根据是来自"Frisch-Waugh-Lovell theorm"。
然后做Spectral analysis(物理学上叫光谱分析)。我是用IRIS工具箱做得,这个Matlab工具箱是新西兰中央银行的一个项目,专门用来模拟和估计DSGE模型,学习门槛比Dynare高很多,需要有一定的编程基础才能看懂代码。同时这个工具箱比Dynare灵活程度高,debug的功能很强,泛用性很高,可以当做时间序列工具箱和信号分析工具箱来用。
下面的图就是一个power spectrum(能量谱)的图。这是output gap的spectrum,在不同的频率上有不同的高度,关于如何读图,在附件note里面有详细说明。上下两根线,一红一绿,是confidence bounds,这是用bootstrapping做得模拟得到的,具体操作都是在Matlab的IRIS环境下做的,难度比较高,所这个note不方便展开讲具体操作。
另外一种能量谱叫做coherance,是两个时间序列都在傅里叶变换之后,在频域上突出联动性的一种图(物理学叫这个相干性)。
然后是IRF,
这个IRF是来自demand shock,我给大家提供一个中文的范式解释:
一个正单位向上的demand shock把demand推上均衡之后,supply,也就是y同时跟着上去,同时带来通胀压力,导致通胀高于均衡,所以中央银行提高利率试图把通胀拖回均衡位置。
最后一副图(note里面有很多图,我这里只选了几幅出来)
这个图就是prior和posterior同时描在一张图上。读这个图有个原则,就是prior和posterior既不能太近也不能太远。太近说明data没有起作用,太远说明prior选得太差。
Dynare的code写在note的附录里面,大家可以自行试验。
。