随机动态一般均衡DSGEWord文件下载.docx
《随机动态一般均衡DSGEWord文件下载.docx》由会员分享,可在线阅读,更多相关《随机动态一般均衡DSGEWord文件下载.docx(7页珍藏版)》请在冰豆网上搜索。
经济学博士花三分之一的学习时间在数学上面完全是应该的。
所以虽然我说这是介绍给入门的朋友,但是也是要求你至少都是硕士阶段数学学扎实了的。
我下面会给出推荐书籍,同时给书籍的难度评级1-6。
1.微分方程
微分方程是所有科学家的基本功,经济学毫不例外。
我不知道大家学校是怎么开课的,我个人认为需要学习一阶二阶的微分方程和线性微分方程组。
高阶的微分方程总是可以化成低阶,这个毫无问题。
所以一二阶是基本功。
线性微分方程组用大学本科的矩阵对角化分解一般就能解出来,我相信这个对经济学博士来说毫无难出。
早期的很多宏观经济模型都是用微分方程来表达,因为分析求解非常方便,也不用数据,反正就是推导而已。
虽然来说微分方程并不是差分方程基础,但是两个联系极其紧密的数学工具,你懂了一个,另外一个很快就能拿下。
推荐书籍:
DifferentialEquations,
2006,Polking,BoggessandArnold
难度:
2
2.差分方程
现代宏观模型基本都是离散的,这就意味着工具是差分方程。
差分方程的优势就在于和计算机的协调,因为计算机就是离散的数据处理工具,我们自然就发明了差分方程来替代微分方程。
Timeseriesanalysis,ChapterOne,1994,Hamilton.
3.动态优化
动态优化领域里面有三个科目:
变分法(CalculusofVariations),优化控制论(Optimalcontroltheory),动态规划(Dynamicprogramming)。
变分法最早产生于物理学的“最速下降线问题”,就是两个高度不同点之间,怎么连一根线让一个物体可以在引力的作用下最快地滑动到另一个点,假设真空无摩擦力的情况下。
变分法这个体系非常容易懂,意思就是在每个点都优化,因为是个连续过程。
后来变分法被优化控制论取代了,优化控制论在经济学里面还有一定的应用,主要用在一些宏观理论模型求解(其实都不是主流做法了)。
动态规划是一个离散方法体系,是来自于工程学里面的,可以说是优化控制论的离散半分,但是深度和广度远远超过优化控制论。
解DSGE模型的FOC,一般用动态规划效率高很多,当然你可以坚持只用拉格朗日乘数,但是动态规划效率更高特别是在模型复杂的时候。
Elementsofdynamicoptimization,1999,AlphaChiang
RecursiveMacroeconomicTheory,2004,LjungqvistandSargent
5
4.模型求解
DSGE模型在全部求出FOC之后,和所有constraints放在一起,形成一个“非线性差分方程组”。
这个东西搞起来非常麻烦,所以第一步都是线性化,有时候是二阶拟合(quadraticapproximation),看你模型的设计方式,如果你考虑模拟assetspricing的变动,把shocks的方差的变化对模型的影响考虑进来的话,就要用二阶拟合。
这里我们是说线性化,一般都是对数线性化,先提对数,然后Taylorexpansiontothefirstdegree。
把整個模型在stead-state(模型均衡点)线性化,这个过程叫做Stationarising(平稳化)。
因为线性化之后的模型只能在离均衡点不远的地方具有模拟性,离均衡点远了就毫无意义了。
线性化之后的模型,要写成一种叫做LinearRationalExpectation(线性理性预期)的模型形狀。
這個模型要求解后,才叫真正的解了DSGE模型。
這個過程都是用Matlab來做。
解线性理性预期模型有很多种方法,我认为你需掌握其中2种,Blanchard-Kahn(1980),Uhlig(1999)。
我指到掌握,是指你要懂算法的内部构造,初学完成之后至少要独立推到一次(最多花1小时就能弄完)。
推荐论文:
在导师的帮助下直接读Blanchard-Kahn(1980),Uhlig(1999)论文是最好的选择
6
模型,模型,模型
DSGE模型的庞大,我相信每个初学的看了都觉得绝望。
我最开始学DSGE的时候,我觉得这东西感觉10年都学不懂,后来才发现要入门,也就那么两周就搞定了。
当然你得遇到好老师才行,我的第一个教我DSGE的老师是MIT毕业的,数学和经济学功底相当之厚实,解释什么东西都能一次深入到最根本的来源。
DSGE里面的零部件都是从经济学上个世纪后半期的各个贡献性文章里面选出来的,比如说Dixit-Stiglitzformulation,这是微观经济学里面的第二次Monopolisticcompetition的革命,这是最成功的一次,广泛用在国际经济学和宏观经济学建模里面。
还有Calvopricing,是一种简单的市场定价模型,等等。
我不知道大家学校里面高级宏观的课程怎么个开的,我认为欧美大学标准做法是:
第一个学期是把整个现代宏观的基础学一遍,第二学期是集中在DSGE上面。
现代宏观基础
如果你还在看高鸿业,我确实也没啥好说的,至少我不会去看。
现代宏观基础其实非常广博,一般从centralisedSolowmodel开始,到assetspricing,internationalfinancialmarkets。
這方面教材,我看到很多,真正做好了的,我只发现一本:
MacroeconomicTheory:
ADynamicGeneralEquilibriumApproach這是MichelWickens写的,这是我认真看过的第四本高级宏观教材。
不得不说这本是做得最全面,最仔细,介绍最清楚,我都找不出什么缺点来。
其他的基本高宏教材比如:
DavidRomer的AdvancedMacreconomics,是好书,但第一内容过时了,第二废话太多,第三都使用的连续函数模型。
还有Sorenson的Introducingadvancedmacroeconomics,太厚,竟然有864页。
而且数学用的太简单,基本只用简单微分,导致这本书只能给本科高年级学生用。
DSGE模型
如果上面都是承托,这才进入正题。
DSGE模型建模,一般有两种学习方式,直接读论文,学习教材。
我第一次的DSGE课程是用的老师的notes和他给的论文,就是smetsandwouters2003,这篇论文是欧洲中央银行的benchmarkDSGE模型。
两位经济学家都是欧洲央行里面专门搞DSGE的。
不得不说,一上来非常难懂,但是还好老师解释得清楚,所以没有很大的痛苦。
对于广大朋友来说,我完全不推荐从论文开始学DSGE,这个要求太高了。
所以,有两本基础DSGE教材是必学的。
一本是
TheABCsofRBCs:
AnIntroductiontoDynamicMacroeconomicModels另一本是
MonetaryPolicy,Inflation,andtheBusinessCycle:
AnIntroductiontotheNewKeynesianFramework后一本书的作者是相当有名的西班牙经济学JordiGali,新凯恩斯阵营里面的第一推手。
第一本书非常简单易懂,那本书把所有关于DSGE的基础性内容都讲到位,难得一见的好书,可见作者功力相当之深才能深入浅出把一些难的内容讲的这么简单。
我当时一共只用了2周就看了前面7章内容(近两百页),还完成了所有作者没有给出的推导,可以见这本书做到相当到尾,给读者的负担非常轻。
Gali的书虽然好,但其实内容都是取材于他以前的论文,直接读他论文其实也行,他不习惯于给出具体推导,所以读者的负担相对来说很大,特别是数学基础不好的同学。
但是Gali这本书的重心不在于教你解模型,而是告诉你如何建立DSGE模型对货币政策模拟。
你如果要单独学没有DSGE背景的货币经济学,看CarlE.Walsh的教材就行了。
贝叶斯,贝叶斯,贝叶斯
内行都知道,DSGE模型不一般不能用OLS,IV,GMM,MLE等估計法。
具体原因太多了,但最主要的一个是贝叶斯估计法和DSGE模型有天然的融合性,其他估计法做不到。
如果讲得学术点,就是贝叶斯估计是坐桥梁,把calibration(模型校对)还有最大似然估计给联系起来了,你的calibrate的参数就是prior把概率密度收成一根直线的情况。
贝叶斯计量经济学一般需要单独来学,你当然可以临时抱佛脚地学一点论文上面的,其他只用软件来搞就行了。
我推荐的计量教材是:
BayesianEconometrics,2006,GaryKoop.我推荐这本教材不代表我喜欢,我只能说,我们没得选。
贝叶斯计量经济学其实1976年就出来,ArnoldZellner前辈就写了本书。
但是后来基本上没啥发展,现在只有两本比较适合学生看的书,这就是其中一本。
优点是简单,缺点是数学符号作者简直是乱来,搞的你读那些数学符号像猜谜一样。
当然你也有必要看Hamilton的12章和13章,卡尔曼滤波怎么个算法,就算不是你自己来算,你也得知道它怎么弄出来的,为什么要用它。
Matlab,Matlab,Matlab
不管是解模型还是参数估计DSGE,一般都是用的Matlab。
这个要学就太容易,但大多数研究者似乎都在用Dynare,你写写硕士论文用这个没啥,但是博士论文最好是自己用Matlab编程。
而且Dynare最大的缺点就是出错了,你找不到错在什么地方,Dynare的错误提示,我一般是看不懂,完全不知道什么地方出了问题,错误提示说了跟不说一样。
我只能说这是个黑盒子,虽然上手非常快,但是一旦出毛病,你找谁都没办法。
如果用Matlab直接编程的话,虽然耗时长,但是你亲手打造的,你知道整个程序的逻辑,你知道如果出错,最有可能在什么地方,等等。
当然最好是博士阶段的有这么充裕的时间和精力的才推荐这么干。
我宁愿用Uhlig的Toolkit,都不愿意用Dynare,但有时候为了赶时间,并且模型简单,Dynare当然可以上。
我希望国内的学术界能一起在这方面努力,弄一个我们自己DSGE软件出来,最好做出图形界面,方便操作和推广,能让中央银行决策者看懂的东西,不需要搞的那么学术化。
末了,希望搞DSGE的朋友都能互通有无,促进学术进步。
有机会相互留言,多交流。
我这篇文章的出发点是从基础入门的同学的观点出发,如果你想要做DSGE研究,这篇文章就应该适合你。
真正厉害的经济学博士转物理和工程学专业都没有问题。
但我意识不是说我们需要数学家来搞经济学,我意思是我们需要很懂数学的经济学家。
2006,Polking,BoggessandArnold
同时有个问题是,早期用变分法做优化,就需要微分方程(比如Eulerequation就是一个二阶非线性微分方程),后来出现了动态规划,所以就大量开始使用差分方程。
这个方面书籍并不多,但是学好下面我给出的两个reference,你就能看懂很多动态系统的东西了。
Timeseriesanalysis,
ChapterOne,
1994,Hamilton.
FundamentalMethodsofMathematicalEconomics,
Chaptersaboutdifferenceequations.
3.动态优化
(DynamicOptimisation)
fe
4.动态系统(DynamicSystem)
先做一下科普。
动态系统分为线形动态系统(lineardynamicsystem)和非线性动态系统(nonlineardynamicsystem)。
先说一下非线形的,这个系统一般没法求出“显性解”(explicitsolution)来的。
最早非线性系统来自于庞加莱(1854-1912),用来计算天体运行的(三体问题),寻找非线性均衡path。
庞加莱的名气在数学界里面名气差不多跟希尔伯特(Hilbert)相当,同时庞加莱又是浑沌系统(chaossystem)的创始者,浑沌系统的民间版本叫做“蝴蝶效应”。
最早的原始说法是:
在巴西的一只蝴蝶煽动一下翅膀,两周之后会给美国的Texas州带来一场龙卷风。
如果用数学语言来描述就是非线性系统(非线性微分方程组)对初始条件(initialconditions)极度敏感,初始条件变化会导致系统的不可预测性。
然后是线形系统,这就比非线性的简单很多了,要解非线性微分方程组,正常做法就是线性化,一般是用Jacobianmatrix来线性化。
然后解法就多了,最出名还是待定系数法(undeterminedcoefficientmethods),就是先猜想一个带着系数的解的式子(当然是个方程),然后带入模型把系数求出来,所以叫做待定的系数。
还有其它的解法,比如矩阵的特征值分解法等。
在DSGE上面,我们用的是对数线性化。
其实就是一个期望线形差分方程组。
(也可以算是个随机差分方程组)。
不管你使用手算,还是用Matlab。
求出来的一组解,就是一组差分方程。
这组差分方程用来描述整个动态系统的动力方向,你就把所有经济学变量想像成不同天体也行。
这个解叫做saddlepointsolution。
你在微积分分里面就见过“鞍部解”了,既不是最大值也不是最小值,但是个均衡值。
比如你把一个球放在那个地方,球就不会动了,所以唯一的两股力就是向上支撑力和球的向下重力,形成了一个静态的均衡(staticequilibrium)。
但这个均衡非常脆弱,稍微碰一下就回不来了。
这是一个saddlepointsolution的特例,叫做unstablesaddlepointsolution。
我先定义一下saddlepointsolution的意思,处在高维度的一个点或者一条线是一个稳定(stable)的解,其他的点和线都是非稳定的(unstable)的,如何选到stable的解完全在于你如何挑选initialcondition,这样的解叫做saddlepointsolution。
另外两种解叫作:
globallystable和globallyunstablesolution。
意思就是你不管选什么initialcondition都能会找到这个solution和不管选什么initialcondition都没有solution。
举一个例子,钟摆都见过吧,钟摆垂直向下的时候就是globallystablesolution,这是个均衡状态,任何shock(你用手推一下钟摆就是shock)出现后,钟摆都会义无反顾地回到垂直向下的均衡点,不管你怎么给它选初始条件。
钟摆垂直向上的时候,同样也是一个equilibrium,钟摆会垂直向上完全静止不动。
但是必须是你初始条件就选到向上垂直,不然它不可能自己走过去。
回到LRE模型上面来,这无外乎就是让我们选一个initialcondition,然后equilibriumlawofmotion(就是解出来的那一组差分方程组)描述了整个动力系统的运动方式。
这个时候,你再加上一个单位向上randomshock(比如technologyshock),来看看整个模型的运动会受到什么影响,这个就叫做脉冲反映函数(impulseresponsefunction)。
好,回到最初的话题,LRE模型,求解方式多种多样,最著名的有BlanchardandKahn,Klein,Sims,Uhlig,如果你觉得有必要,他们全部都要学,但是我强烈建议学习BlanchardandKahn和Uhlig。
自己完成推导。
我专门有一个帖子是关于这个的:
http:
//bbs.pinggu.org/thread-1246135-1-1.html