1、我相信来这个版块里面的研究生没有不知道 DSGE 的,Dynamic stochastic general equilibrium,中文叫“动态随机一般均衡”。DSGE模型出现于 Kyland and Prescott (1982)。这篇论文开创了 real business cycle 学派,属于第三次新古典发起的对凯恩斯主义的攻击。第一波和第二波分别是 1968 年的弗里德曼货币学派革命和 1976 年的理性预期革命。第三次的 RBC 革命基本上把整个旧凯恩斯主义葬送了。新凯恩斯学派实际上在 1970s 就产生了,但是跟随者并不多,新凯恩斯学派在 80s 和 90s 大量吸收 RBC 学派
2、的内容,并且承接了 DSGE建模的方式,90s 年代中期形成了 “新新古典综合”(New Neoclassical Synthesis)。這不是一单独的学派,而是指的两个学派的一种融合和吸收。因为这个学术运动是新凯恩斯学派推动的,所以有的学者也认为真正的新凯恩斯学派的产生是差不多在 RBC 革命的 10 年之后。这篇文章我主要不讨论这两个学派和他们的综合,这个要说的话就可以写成篇论文了。我在这篇文章里面只提供一个 DSGE 模型的建设性路线,因为发现大多数同学都不知道如何入手,再加上学校开课不同,数学储备不同,起点也大不相同。我这篇文章的出发点是从基础入门的同学的观点出发,如果你想要做 DSG
3、E 研究,这篇文章完全应该读。我研究的兴趣是给 Emerging market economy 建立 DSGE 模型,比如中国大陆,东欧国家等。这个话题以后再谈,这里我们谈一些技术性的东西。数学,数学,数学我可以很负责地说,干经济学博士,拼的就是数学。我意识不是说我们需要数学家来搞经济学,我意思是我们需要很懂数学的经济学家。经济学博士花三分之一的学习时间在数学上面完全是应该的。所以虽然我说这是介绍给入门的朋友,但是也是要求你至少都是硕士阶段数学学扎实了的。我下面会给出推荐书籍,同时给书籍的难度评级 1-6。1. 微分方程微分方程是所有科学家的基本功,经济学毫不例外。我不知道大家学校是怎么开课的
4、,我个人认为需要学习一阶二阶的微分方程和线性微分方程组。高阶的微分方程总是可以化成低阶,这个毫无问题。所以一二阶是基本功。线性微分方程组用大学本科的矩阵对角化分解一般就能解出来,我相信这个对经济学博士来说毫无难出。早期的很多宏观经济模型都是用微分方程来表达,因为分析求解非常方便,也不用数据,反正就是推导而已。虽然来说微分方程并不是差分方程基础,但是两个联系极其紧密的数学工具,你懂了一个,另外一个很快就能拿下。推荐书籍:Differential Equations, 2006, Polking, Boggess and Arnold难度:22. 差分方程现代宏观模型基本都是离散的,这就意味着工具
5、是差分方程。差分方程的优势就在于和计算机的协调,因为计算机就是离散的数据处理工具,我们自然就发明了差分方程来替代微分方程。推荐书籍:Time series analysis, Chapter One, 1994, Hamilton.难度:23. 动态优化动态优化领域里面有三个科目:变分法(Calculus of Variations),优化控制论(Optimal control theory),动态规划(Dynamic programming)。变分法最早产生于物理学的“最速下降线问题”,就是两个高度不同点之间,怎么连一根线让一个物体可以在引力的作用下最快地滑动到另一个点,假设真空无摩擦力的情
6、况下。变分法这个体系非常容易懂,意思就是在每个点都优化,因为是个连续过程。后来变分法被优化控制论取代了,优化控制论在经济学里面还有一定的应用,主要用在一些宏观理论模型求解(其实都不是主流做法了)。动态规划是一个离散方法体系,是来自于工程学里面的,可以说是优化控制论的离散半分,但是深度和广度远远超过优化控制论。解 DSGE 模型的 FOC,一般用动态规划效率高很多,当然你可以坚持只用拉格朗日乘数,但是动态规划效率更高特别是在模型复杂的时候。推荐书籍:Elements of dynamic optimization, 1999, Alpha Chiang难度:2Recursive Macroeco
7、nomic Theory, 2004, Ljungqvist and Sargent 难度:54. 模型求解DSGE 模型在全部求出 FOC 之后,和所有 constraints 放在一起,形成一个“ 非线性差分方程组”。这个东西搞起来非常麻烦,所以第一步都是线性化,有时候是二阶拟合(quadratic approximation),看你模型的设计方式,如果你考虑模拟 assets pricing 的变动,把 shocks 的方差的变化对模型的影响考虑进来的话,就要用二阶拟合。这里我们是说线性化,一般都是对数线性化,先提对数,然后 Taylor expansion to the first d
8、egree。把整個模型在 stead-state (模型均衡点)线性化,这个过程叫做 Stationarising(平稳化)。因为线性化之后的模型只能在离均衡点不远的地方具有模拟性,离均衡点远了就毫无意义了。线性化之后的模型,要写成一种叫做 Linear Rational Expectation(线性理性预期)的模型形狀。這個模型要求解后,才叫真正的解了 DSGE模型。這個過程都是用 Matlab 來做。解线性理性预期模型有很多种方法,我认为你需掌握其中 2 种,Blanchard-Kahn (1980), Uhlig(1999)。我指到掌握,是指你要懂算法的内部构造,初学完成之后至少要独立推
9、到一次(最多花 1 小时就能弄完)。推荐论文:在导师的帮助下直接读 Blanchard-Kahn (1980), Uhlig(1999)论文是最好的选择难度:6模型,模型,模型DSGE 模型的庞大,我相信每个初学的看了都觉得绝望。我最开始学DSGE 的时候,我觉得这东西感觉 10 年都学不懂,后来才发现要入门,也就那么两周就搞定了。当然你得遇到好老师才行,我的第一个教我DSGE 的老师是 MIT 毕业的,数学和经济学功底相当之厚实,解释什么东西都能一次深入到最根本的来源。DSGE 里面的零部件都是从经济学上个世纪后半期的各个贡献性文章里面选出来的,比如说 Dixit-Stiglitz form
10、ulation,这是微观经济学里面的第二次 Monopolistic competition 的革命,这是最成功的一次,广泛用在国际经济学和宏观经济学建模里面。还有 Calvo pricing,是一种简单的市场定价模型,等等。我不知道大家学校里面高级宏观的课程怎么个开的,我认为欧美大学标准做法是:第一个学期是把整个现代宏观的基础学一遍,第二学期是集中在 DSGE 上面。现代宏观基础如果你还在看高鸿业,我确实也没啥好说的,至少我不会去看。现代宏观基础其实非常广博,一般从 centralised Solow model 开始,到assets pricing, international finan
11、cial markets。這方面教材,我看到很多,真正做好了的,我只发现一本: Macroeconomic Theory: A Dynamic General Equilibrium Approach 這是 Michel Wickens 写的,这是我认真看过的第四本高级宏观教材。不得不说这本是做得最全面,最仔细,介绍最清楚,我都找不出什么缺点来。其他的基本高宏教材比如:David Romer 的 Advanced Macreconomics,是好书,但第一内容过时了,第二废话太多,第三都使用的连续函数模型。还有 Sorenson 的 Introducing advanced macroecon
12、omics,太厚,竟然有 864 页。而且数学用的太简单,基本只用简单微分,导致这本书只能给本科高年级学生用。DSGE 模型如果上面都是承托,这才进入正题。DSGE 模型建模,一般有两种学习方式,直接读论文,学习教材。我第一次的 DSGE 课程是用的老师的 notes 和他给的论文,就是smets and wouters 2003,这篇论文是欧洲中央银行的 benchmark DSGE 模型。两位经济学家都是欧洲央行里面专门搞 DSGE 的。不得不说,一上来非常难懂,但是还好老师解释得清楚,所以没有很大的痛苦。对于广大朋友来说,我完全不推荐从论文开始学 DSGE,这个要求太高了。所以,有两本基
13、础 DSGE 教材是必学的。一本是The ABCs of RBCs: An Introduction to Dynamic Macroeconomic Models 另一本是Monetary Policy, Inflation, and the Business Cycle: An Introduction to the New Keynesian Framework 后一本书的作者是相当有名的西班牙经济学 Jordi Gali,新凯恩斯阵营里面的第一推手。第一本书非常简单易懂,那本书把所有关于 DSGE 的基础性内容都讲到位,难得一见的好书,可见作者功力相当之深才能深入浅出把一些难的内容讲的
14、这么简单。我当时一共只用了 2 周就看了前面 7 章内容(近两百页),还完成了所有作者没有给出的推导,可以见这本书做到相当到尾,给读者的负担非常轻。Gali 的书虽然好,但其实内容都是取材于他以前的论文,直接读他论文其实也行,他不习惯于给出具体推导,所以读者的负担相对来说很大,特别是数学基础不好的同学。但是 Gali 这本书的重心不在于教你解模型,而是告诉你如何建立 DSGE 模型对货币政策模拟。你如果要单独学没有 DSGE 背景的货币经济学,看 Carl E. Walsh 的教材就行了。贝叶斯,贝叶斯,贝叶斯内行都知道,DSGE 模型不一般不能用 OLS,IV,GMM,MLE 等估計法。具体
15、原因太多了,但最主要的一个是贝叶斯估计法和 DSGE 模型有天然的融合性,其他估计法做不到。如果讲得学术点,就是贝叶斯估计是坐桥梁,把 calibration(模型校对)还有最大似然估计给联系起来了,你的 calibrate 的参数就是 prior 把概率密度收成一根直线的情况。贝叶斯计量经济学一般需要单独来学,你当然可以临时抱佛脚地学一点论文上面的,其他只用软件来搞就行了。我推荐的计量教材是:Bayesian Econometrics, 2006, Gary Koop. 我推荐这本教材不代表我喜欢,我只能说,我们没得选。贝叶斯计量经济学其实 1976 年就出来,Arnold Zellner
16、前辈就写了本书。但是后来基本上没啥发展,现在只有两本比较适合学生看的书,这就是其中一本。优点是简单,缺点是数学符号作者简直是乱来,搞的你读那些数学符号像猜谜一样。当然你也有必要看 Hamilton 的 12 章和 13 章,卡尔曼滤波怎么个算法,就算不是你自己来算,你也得知道它怎么弄出来的,为什么要用它。Matlab, Matlab, Matlab不管是解模型还是参数估计 DSGE,一般都是用的 Matlab。这个要学就太容易,但大多数研究者似乎都在用 Dynare,你写写硕士论文用这个没啥,但是博士论文最好是自己用 Matlab 编程。而且 Dynare 最大的缺点就是出错了,你找不到错在什
17、么地方,Dynare 的错误提示,我一般是看不懂,完全不知道什么地方出了问题,错误提示说了跟不说一样。我只能说这是个黑盒子,虽然上手非常快,但是一旦出毛病,你找谁都没办法。如果用 Matlab 直接编程的话,虽然耗时长,但是你亲手打造的,你知道整个程序的逻辑,你知道如果出错,最有可能在什么地方,等等。当然最好是博士阶段的有这么充裕的时间和精力的才推荐这么干。我宁愿用 Uhlig 的 Toolkit,都不愿意用 Dynare,但有时候为了赶时间,并且模型简单,Dynare 当然可以上。我希望国内的学术界能一起在这方面努力,弄一个我们自己 DSGE 软件出来,最好做出图形界面,方便操作和推广,能让
18、中央银行决策者看懂的东西,不需要搞的那么学术化。末了,希望搞 DSGE 的朋友都能互通有无,促进学术进步。有机会相互留言,多交流。我相信来这个版块里面的研究生没有不知道 DSGE 的,Dynamic stochastic general equilibrium,中文叫“ 动态随机一般均衡”。DSGE 模型出现于 Kyland and Prescott (1982)。这篇论文开创了 real business cycle 学派,属于第三次新古典发起的对凯恩斯主义的攻击。第一波和第二波分别是 1968 年的弗里德曼货币学派革命和 1976 年的理性预期革命。第三次的 RBC 革命基本上把整个旧凯恩
19、斯主义葬送了。新凯恩斯学派实际上在 1970s 就产生了,但是跟随者并不多,新凯恩斯学派在 80s 和 90s 大量吸收 RBC 学派的内容,并且承接了DSGE 建模的方式,90s 年代中期形成了“新新古典综合”(New Neoclassical Synthesis)。這不是一单独的学派,而是指的两个学派的一种融合和吸收。因为这个学术运动是新凯恩斯学派推动的,所以有的学者也认为真正的新凯恩斯学派的产生是差不多在 RBC 革命的 10年之后。这篇文章我主要不讨论这两个学派和他们的综合,这个要说的话就可以写成篇论文了。我在这篇文章里面只提供一个 DSGE 模型的建设性路线,因为发现大多数同学都不知
20、道如何入手,再加上学校开课不同,数学储备不同,起点也大不相同。我这篇文章的出发点是从基础入门的同学的观点出发,如果你想要做 DSGE 研究,这篇文章就应该适合你。我研究的兴趣是给 Emerging market economy 建立 DSGE 模型,比如中国大陆,东欧国家等。这个话题以后再谈,这里我们谈一些技术性的东西。数学,数学,数学我可以很负责地说,干经济学博士,拼的就是数学。真正厉害的经济学博士转物理和工程学专业都没有问题。但我意识不是说我们需要数学家来搞经济学,我意思是我们需要很懂数学的经济学家。经济学博士花三分之一的学习时间在数学上面完全是应该的。所以虽然我说这是介绍给入门的朋友,但
21、是也是要求你至少都是硕士阶段数学学扎实了的。我下面会给出推荐书籍,同时给书籍的难度评级 1-6。1. 微分方程微分方程是所有科学家的基本功,经济学毫不例外。我不知道大家学校是怎么开课的,我个人认为需要学习一阶二阶的微分方程和线性微分方程组。高阶的微分方程总是可以化成低阶,这个毫无问题。所以一二阶是基本功。线性微分方程组用大学本科的矩阵对角化分解一般就能解出来,我相信这个对经济学博士来说毫无难出。早期的很多宏观经济模型都是用微分方程来表达,因为分析求解非常方便,也不用数据,反正就是推导而已。虽然来说微分方程并不是差分方程基础,但是两个联系极其紧密的数学工具,你懂了一个,另外一个很快就能拿下。推荐
22、书籍:Differential Equations, 2006, Polking, Boggess and Arnold难度:22. 差分方程现代宏观模型基本都是离散的,这就意味着工具是差分方程。差分方程的优势就在于和计算机的协调,因为计算机就是离散的数据处理工具,我们自然就发明了差分方程来替代微分方程。同时有个问题是,早期用变分法做优化,就需要微分方程(比如 Euler equation就是一个二阶非线性微分方程) ,后来出现了动态规划,所以就大量开始使用差分方程。这个方面书籍并不多,但是学好下面我给出的两个 reference,你就能看懂很多动态系统的东西了。推荐书籍:Time serie
23、s analysis, Chapter One, 1994, Hamilton. 难度:2Fundamental Methods of Mathematical Economics, Chapters about difference equations. 难度:23. 动态优化 (Dynamic Optimisation)动态优化领域里面有三个科目:变分法(Calculus of Variations),优化控制论(Optimal control theory),动态规划(Dynamic programming)。变分法最早产生于物理学的 “最速下降线问题”,就是两个高度不同点之间,怎么连一
24、根线让一个物体可以在引力的作用下最快地滑动到另一个点,假设真空无摩擦力的情况下。变分法这个体系非常容易懂,意思就是在每个点都优化,因为是个连续过程。后来变分法被优化控制论取代了,优化控制论在经济学里面还有一定的应用,主要用在一些宏观理论模型求解(其实都不是主流做法了) 。动态规划是一个离散方法体系,是来自于工程学里面的,可以说是优化控制论的离散半分,但是深度和广度远远超过优化控制论。解 DSGE 模型的 FOC,一般用动态规划效率高很多,当然你可以坚持只用拉格朗日乘数,但是动态规划效率更高特别是在模型复杂的时候。fe推荐书籍:Elements of dynamic optimization,
25、1999, Alpha Chiang难度:2Recursive Macroeconomic Theory, 2004, Ljungqvist and Sargent 难度:54. 动态系统 (Dynamic System)先做一下科普。动态系统分为线形动态系统(linear dynamic system)和非线性动态系统(nonlinear dynamic system)。先说一下非线形的,这个系统一般没法求出“显性解”(explicit solution)来的。最早非线性系统来自于庞加莱(1854-1912) ,用来计算天体运行的(三体问题) ,寻找非线性均衡 path。庞加莱的名气在数学界
26、里面名气差不多跟希尔伯特(Hilbert)相当,同时庞加莱又是浑沌系统(chaos system)的创始者,浑沌系统的民间版本叫做“蝴蝶效应”。最早的原始说法是:在巴西的一只蝴蝶煽动一下翅膀,两周之后会给美国的 Texas 州带来一场龙卷风。如果用数学语言来描述就是非线性系统(非线性微分方程组)对初始条件(initial conditions) 极度敏感,初始条件变化会导致系统的不可预测性 。然后是线形系统,这就比非线性的简单很多了,要解非线性微分方程组,正常做法就是线性化,一般是用 Jacobian matrix 来线性化。然后解法就多了,最出名还是待定系数法(undetermined co
27、efficient methods) ,就是先猜想一个带着系数的解的式子(当然是个方程) ,然后带入模型把系数求出来,所以叫做待定的系数。还有其它的解法,比如矩阵的特征值分解法等。在 DSGE 上面,我们用的是对数线性化。这里我们是说线性化,一般都是对数线性化,先提对数,然后 Taylor expansion to the first degree。把整個模型在 stead-state (模型均衡点)线性化,这个过程叫做 Stationarising(平稳化) 。因为线性化之后的模型只能在离均衡点不远的地方具有模拟性,离均衡点远了就毫无意义了。线性化之后的模型,要写成一种叫做 Linear R
28、ational Expectation(线性理性预期)的模型形狀。其实就是一个期望线形差分方程组。 (也可以算是个随机差分方程组) 。這個模型要求解后,才叫真正的解了 DSGE模型。不管你使用手算,还是用 Matlab。求出来的一组解,就是一组差分方程。这组差分方程用来描述整个动态系统的动力方向,你就把所有经济学变量想像成不同天体也行。这个解叫做 saddle point solution。你在微积分分里面就见过“鞍部解”了,既不是最大值也不是最小值,但是个均衡值。比如你把一个球放在那个地方,球就不会动了,所以唯一的两股力就是向上支撑力和球的向下重力,形成了一个静态的均衡(static equ
29、ilibrium)。但这个均衡非常脆弱,稍微碰一下就回不来了。这是一个 saddle point solution 的特例,叫做unstable saddle point solution。我先定义一下 saddle point solution 的意思,处在高维度的一个点或者一条线是一个稳定(stable)的解,其他的点和线都是非稳定的(unstable)的,如何选到 stable 的解完全在于你如何挑选 initial condition,这样的解叫做 saddle point solution。另外两种解叫作:globally stable 和 globally unstable sol
30、ution。意思就是你不管选什么 initial condition 都能会找到这个 solution 和不管选什么 initial condition 都没有 solution。举一个例子,钟摆都见过吧,钟摆垂直向下的时候就是 globally stable solution,这是个均衡状态,任何shock(你用手推一下钟摆就是 shock)出现后,钟摆都会义无反顾地回到垂直向下的均衡点,不管你怎么给它选初始条件。钟摆垂直向上的时候,同样也是一个 equilibrium,钟摆会垂直向上完全静止不动。但是必须是你初始条件就选到向上垂直,不然它不可能自己走过去。回到 LRE 模型上面来,这无外乎
31、就是让我们选一个 initial condition,然后 equilibrium law of motion (就是解出来的那一组差分方程组 )描述了整个动力系统的运动方式。这个时候,你再加上一个单位向上 random shock(比如 technology shock) ,来看看整个模型的运动会受到什么影响,这个就叫做脉冲反映函数(impulse response function)。好,回到最初的话题,LRE 模型,求解方式多种多样,最著名的有 Blanchard and Kahn, Klein, Sims, Uhlig,如果你觉得有必要,他们全部都要学,但是我强烈建议学习 Blanchard and Kahn 和 Uhlig。自己完成推导。我专门有一个帖子是关于这个的:http:/bbs.pinggu.org/thread-1246135-1-1.html推荐论文:在导师的帮助下直接读 Blanchard-Kahn (1980), Uhlig(1999)论文是最好的选择难度:6