如果说DSGE建模软件分三代,大体是正确的,那么迄今为止Dynare肯定依然是王道,至少在未来很长时间,Dynare依然是第二代DSGE建模软件中的霸主,依然是主流宏观经济动态研究中的战斗机。围绕Dynare所开发的一些最新软件包,以及第三代的一些新发展,有机会我会谈谈学习心得(待后面的帖子)。
今天的话题有两个:
1、 用Dynare进行DSGE的多模型比较分析
2、 使用Dynare来直接生成Latex文件(Dynare本身有些命令,但效果不太好)
1、使用Dynare进行DSGE的多模型比较分析
作为分析DSGE模型的一个强大Tool,Dynare自身包含DSGE建模中的不同比较,主要是利用循环控制,让一个需要控制的核心参数,取不同的值,或者是一段小循环,在Matlab中可以用不同格式来绘制需要的结果。但是Dynare没有对不同mod文件来比较其IRFs结果的选项命令,也就是说,Dynare中自身所带的比较功能,是针对同一个mod文件或者说同一个模型来进行比较的,无非是让参数取不同的值,或者是一段循环。而本人在这里所说,则是不同的mod文件或者说是不同的模型,在各自运行完成mod的结果,来重点进行IRFs的比较。各位小盆友,这个概念明白了吗。同一模型或同一mod文件的不同结果比较,和不同模型或不同mod文件的比较,是完全不同的概念。亲,你明白了吗?
多模型比较的要点是:
[Path] Path is the pathwhere the output is saved. 说得很直白吧,所有的plot formats和tex文件必须要存在同一个directory之下。
[Mfile] 事先写好自己的yourfilename.mod文件,然后用addpathc:\dynare\4.4.3\matlab(按照你自己安装的dynare目录调用),然后是dynare yourfilename.mod,然后将mod的输出结果保存为相应的yourname.mat。就像是一个人下厨房做菜一样,mod和mat就是你事先准备好的原材料。
[VList] 你需要在不同的mod中来进行比较的那些内生变量。例如产出y、消费c、利率i,通胀p,……。当然这些内生变量其实已经包含在你在mod文件中。
[SList] 进行多模型比较的IRFs的外生冲击变量,这些shocks当然也同样是你已经在mod文件中设置好的外生shocks,当然不同的模型,基本框架应该一致,就是执行不同的policy rule或某些特殊设定不同,而需要进行IRFs的结果比较,要进行比较的内生变量和外生shocks肯定是一致的,否则怎样进行比较。
[Image_Format] 在Dynare自带命令之外进行扩充,可以支持 bmp, eps, emf, jpg, pcx, pbm, pdf, pgm, png, ppm, svg, tif1, tif2,tex and tikz。讲人话,就是让Dynare支持的格式更多,更利用大家调用各类高质量的片片。
每当我看到,很多人绘制图形,例如是用Excle等(任何软件)绘制个图,居然连背景颜色都不删除,灰蒙蒙一片,打印机打印出来更是,某某都市的雾霾让地标消失的同样效果,图形和背景不分的时候,真的是让我这样的人(非主流、非学院派),蓝瘦,香菇,……
2、使用Dynare来直接生成Latex文件
Dynare本身有生成Latex文件的命令,但是效果貌似一般,所以有必要懂得调强Matlab的一些nice code来让Dynare更方便地生成Latex,以及在论文中的得到高质量的Plots。这个工具,主要是调用在MathWorks的一个非常useful toolbox,---- matlab2tikz
这个就赖的多说了。直接上图吧。
以一个NK模型为基准。
模型1是 monetarypolicy with Taylor rule
模型2是 discretionarymonetary policy
模型3 是 optimalRamsey monetary policy
最后结果是 输出Graphs 还有xls 以及Latex,并自动转换成dpf。
我的office老有问题,中间一点点bug,没有看到xls。略遗憾。
pdf图形中的希腊字母貌似没有正常显示,bug留到后面解决。
如果你实在拎不清,那我就你一招无敌大法:
1、知道你需要比较的series在Dynare输出的什么位置,找到它、粘贴它、保存它 (我喜欢使用Excel保存数据),无论这个series是来自同一mod的不同参数,不同循环,或者是不同的mod文件结果。
2、利用任何软件(我喜欢用Eviews),只要能够绘图的软件就行,就将你需要的不同series绘制在一张图中,然后美化它、修饰它、漂亮它。让所有人眼前一亮。然后发表你的paper。
My Email: gssdzc@126.com