我用了一个最简单的线性DSGE,只有两个方程。先是我用手算的方法找到saddle-path 的policy function,然后手算出impulse response function。这些我都用Dynare做了计算,程序和结果都写在note里面。
上面是我note的截图,这个DSGE模型实际上就是一个linear rational expecation model (LREM),但DSGE的线性化后的本质也就是个LRE。虽然这个note提供的模型非常简单,但是思路在于如何用Dynare来深入学习这个动态系统。有几个事情需要大家自己来做:
1. beta和rho的大小,大家从换很多次calibration,看能对IRF带来什么影响?
2. beta和rho都大于1的时候,你应该怎么修改模型,为了维持模型的稳定性?
3. 看修改shock的stardard deviation能对模型带了什么影响?
4. 如果你再加一个方程进去呢?什么样子的方程?
以上内容我都试验过了。这个东西没法帮大家试验,所以大家必须自己试着做。这样你可以学到很多关于动态系统的感性认识。
之后,我用最大似然估计对参数估计,然后我故意制造under-identification的问题,让大家看一下结果是什么样子。最后就是Bayesian estimation,我只估计了1个参数,用了2条平行马尔科夫链,做了超超短程模拟(只有500次,正常情况都是100000),为了省时间(我电脑只用50秒左右),所以我并没有让电脑跑很长的马尔科夫链和多个平行链条。所以结果非常差,但是这不是的目的。目的还是在于让从来没见过整个估计过程的同学看到一个全貌。所以我没有提及理论内容,或者是一带而过。
对于Bayesian estimation,有个地方要注意的就是shock的个数必须大于等observable的个数,这是启动Kalman filter模拟likelihood function的充分条件。Kalman filter是一个极其复杂的算法,计量经济学上面用来模拟likelihood function。以后我会有一个贴子专门来展开Kalman filter的内部结构。
notes下载
关于模型具体推导和模拟的例子,请看第六个帖子
DSGE模型讨论之六——新古典增长模型(入门级DSGE)的推导和Dynare模擬
关于模型求解方法,比如Blanchard-Khan,Uhlig 方法,看第三个帖子
DSGE模型讨论之三——线形理性预期模型(Linear rational expectation model)
如果你连DSGE是什么都不知道,看
针对DSGE模型学习的建议性计划(原创)关于DSGE求解和模型参数估计的一些认识(原创)