DSGE学习方法.docx
- 文档编号:15074900
- 上传时间:2023-06-30
- 格式:DOCX
- 页数:11
- 大小:42.29KB
DSGE学习方法.docx
《DSGE学习方法.docx》由会员分享,可在线阅读,更多相关《DSGE学习方法.docx(11页珍藏版)》请在冰点文库上搜索。
DSGE学习方法
DSGE(0)
我相信来这个版块里面的研究生没有不知道DSGE的,Dynamicstochasticgeneralequilibrium,中文叫“动态随机一般均衡”。
DSGE模型出现于KylandandPrescott(1982)。
这篇论文开创了realbusinesscycle学派,属于第三次新古典发起的对凯恩斯主义的攻击。
第一波和第二波分别是1968年的弗里德曼货币学派革命和1976年的理性预期革命。
第三次的RBC革命基本上把整个旧凯恩斯主义葬送了。
新凯恩斯学派实际上在1970s就产生了,但是跟随者并不多,新凯恩斯学派在80s和90s大量吸收RBC学派的内容,并且承接了DSGE建模的方式,90s年代中期形成了“新新古典综合”(NewNeoclassicalSynthesis)。
這不是一单独的学派,而是指的两个学派的一种融合和吸收。
因为这个学术运动是新凯恩斯学派推动的,所以有的学者也认为真正的新凯恩斯学派的产生是差不多在RBC革命的10年之后。
这篇文章我主要不讨论这两个学派和他们的综合,这个要说的话就可以写成篇论文了。
我在这篇文章里面只提供一个DSGE模型的建设性路线,因为发现大多数同学都不知道如何入手,再加上学校开课不同,数学储备不同,起点也大不相同。
我这篇文章的出发点是从基础入门的同学的观点出发,如果你想要做DSGE研究,这篇文章就应该适合你。
我研究的兴趣是给Emergingmarketeconomy建立DSGE模型,比如中国大陆,东欧国家等。
这个话题以后再谈,这里我们谈一些技术性的东西。
数学,数学,数学
我可以很负责地说,干经济学博士,拼的就是数学。
真正厉害的经济学博士转物理和工程学专业都没有问题。
但我意识不是说我们需要数学家来搞经济学,我意思是我们需要很懂数学的经济学家。
经济学博士花三分之一的学习时间在数学上面完全是应该的。
所以虽然我说这是介绍给入门的朋友,但是也是要求你至少都是硕士阶段数学学扎实了的。
我下面会给出推荐书籍,同时给书籍的难度评级1-6。
1.微分方程
微分方程是所有科学家的基本功,经济学毫不例外。
我不知道大家学校是怎么开课的,我个人认为需要学习一阶二阶的微分方程和线性微分方程组。
高阶的微分方程总是可以化成低阶,这个毫无问题。
所以一二阶是基本功。
线性微分方程组用大学本科的矩阵对角化分解一般就能解出来,我相信这个对经济学博士来说毫无难出。
早期的很多宏观经济模型都是用微分方程来表达,因为分析求解非常方便,也不用数据,反正就是推导而已。
虽然来说微分方程并不是差分方程基础,但是两个联系极其紧密的数学工具,你懂了一个,另外一个很快就能拿下。
推荐书籍:
DifferentialEquations,2006,Polking,BoggessandArnold
难度:
2
2.差分方程
现代宏观模型基本都是离散的,这就意味着工具是差分方程。
差分方程的优势就在于和计算机的协调,因为计算机就是离散的数据处理工具,我们自然就发明了差分方程来替代微分方程。
同时有个问题是,早期用变分法做优化,就需要微分方程(比如Eulerequation就是一个二阶非线性微分方程),后来出现了动态规划,所以就大量开始使用差分方程。
这个方面书籍并不多,但是学好下面我给出的两个reference,你就能看懂很多动态系统的东西了。
推荐书籍:
Timeseriesanalysis,ChapterOne,1994,Hamilton.难度:
2
FundamentalMethodsofMathematicalEconomics,Chaptersaboutdifferenceequations.难度:
2
3.动态优化(DynamicOptimisation)
动态优化领域里面有三个科目:
变分法(CalculusofVariations),优化控制论(Optimalcontroltheory),动态规划(Dynamicprogramming)。
变分法最早产生于物理学的“最速下降线问题”,就是两个高度不同点之间,怎么连一根线让一个物体可以在引力的作用下最快地滑动到另一个点,假设真空无摩擦力的情况下。
变分法这个体系非常容易懂,意思就是在每个点都优化,因为是个连续过程。
后来变分法被优化控制论取代了,优化控制论在经济学里面还有一定的应用,主要用在一些宏观理论模型求解(其实都不是主流做法了)。
动态规划是一个离散方法体系,是来自于工程学里面的,可以说是优化控制论的离散半分,但是深度和广度远远超过优化控制论。
解DSGE模型的FOC,一般用动态规划效率高很多,当然你可以坚持只用拉格朗日乘数,但是动态规划效率更高特别是在模型复杂的时候。
fe
推荐书籍:
Elementsofdynamicoptimization,1999,AlphaChiang
难度:
2
RecursiveMacroeconomicTheory,2004,LjungqvistandSargent
难度:
5
4.动态系统(DynamicSystem)
先做一下科普。
动态系统分为线形动态系统(lineardynamicsystem)和非线性动态系统(nonlineardynamicsystem)。
先说一下非线形的,这个系统一般没法求出“显性解”(explicitsolution)来的。
最早非线性系统来自于庞加莱(1854-1912),用来计算天体运行的(三体问题),寻找非线性均衡path。
庞加莱的名气在数学界里面名气差不多跟希尔伯特(Hilbert)相当,同时庞加莱又是浑沌系统(chaossystem)的创始者,浑沌系统的民间版本叫做“蝴蝶效应”。
最早的原始说法是:
在巴西的一只蝴蝶煽动一下翅膀,两周之后会给美国的Texas州带来一场龙卷风。
如果用数学语言来描述就是非线性系统(非线性微分方程组)对初始条件(initialconditions)极度敏感,初始条件变化会导致系统的不可预测性。
然后是线形系统,这就比非线性的简单很多了,要解非线性微分方程组,正常做法就是线性化,一般是用Jacobianmatrix来线性化。
然后解法就多了,最出名还是待定系数法(undeterminedcoefficientmethods),就是先猜想一个带着系数的解的式子(当然是个方程),然后带入模型把系数求出来,所以叫做待定的系数。
还有其它的解法,比如矩阵的特征值分解法等。
在DSGE上面,我们用的是对数线性化。
这里我们是说线性化,一般都是对数线性化,先提对数,然后Taylorexpansiontothefirstdegree。
把整個模型在stead-state(模型均衡点)线性化,这个过程叫做Stationarising(平稳化)。
因为线性化之后的模型只能在离均衡点不远的地方具有模拟性,离均衡点远了就毫无意义了。
线性化之后的模型,要写成一种叫做LinearRationalExpectation(线性理性预期)的模型形狀。
其实就是一个期望线形差分方程组。
(也可以算是个随机差分方程组)。
這個模型要求解后,才叫真正的解了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。
自己完成推导。
我专门有一个帖子是关于这个的:
推荐论文:
在导师的帮助下直接读Blanchard-Kahn(1980),Uhlig(1999)论文是最好的选择
难度:
6
DSGE
(1)
我将连续发一系列关于DSGE模型和其他相关模型的讨论贴,有关于技术的,有关于经济学本身的,这是第一个。
对数线性化是在解非线性差分方程组(nonlineardifferenceequationsystem)的时候用的一种线性化方法。
这个方法在微分方程上面也有用过,但是在宏观经济学上面一般都是采用差分方程,所以自然我们要学习的内容是如何线性化差分方程。
这看似是一个小步骤,但是很重要,我曾经麻烦三个人帮我对数线性化一个高度复杂的带有期望的(expectationoperator)的非线性方程,他们分别是我导师,一个教新凯恩斯货币经济学的教授,还有个博士。
我相信他们的实力完全是可以处理这个的。
但他们三个在线性化之后,结果全部都大不相同,完全可以影响到后面用待定系数法(undeterminedcoefficientmethod)来解这个方程组的结果了,因为不同的线形化结果导致不同的函数形式(functionalform),必然系数也会不同。
我问一个博士,你写论文的时候,你确定你所有对数线性化都弄对了?
他说:
no,ofcoursenot,butthisishowbusinessgoes。
我自己写论文的时候,我觉得最悬的一个技术处理,就是对数线性化。
函数形式简单到没问题,只要一复杂起来,对数线性化过程中方程会变得很恶心,非常容易出错,而且不同的作者会做出不同的假设来让一些部分消失。
还有个问题,似乎没有任何一本教材专门给过篇幅来总结这个技术,所以我写了个notes,希望能把这个技术总结好。
我一共提供了五种方法,其实这五种方法大多数情况下可以交替使用,但是有时候不行(比如有期望的时候不能提对数)。
不同的函数形式用不同的方法,只用一种方法对付所有问题会很麻烦。
还有其他更快捷方法的,或者高难度例子的希望大家能分享一下。
DSGE
(2)
这是DSGE模型讨论系列的第二个帖子,关于如何给中国建造小型开放DSGE模型。
我认为给中国做一个完整的大型开放DSGE模型不能一步到位,要从封闭经济开始,然后做扩展,变成开放,再作扩展,看具体要解释什么,比如外汇汇率,货币政策,资产泡沫等。
。
这个模型要在反复实验中找到一个合适外形,所以耗时会比较长。
给中国做开放DSGE模型,我认为有几个需要想清楚地问题:
1。
到底中国是开放小型经济,还是大型。
如果是小型的话,对外部经济没有影响,如果是大型经济体就能影响外部经济。
小型开放DSGE容易做,技术问题也不多,但大型的开放DSGE就要做成两国开放DSGE对垒的模型,一中一美。
我目前还没做,但我知道难度非常高。
2。
应该怎么解释外汇问题?
中国汇率上涨能抑制通胀么?
3。
中国的东西经济差距如此巨大,东西贫富差距也巨大,DSGE模型能够解释东部发达地区,但是西部怎么解释?
DSGE本来对发展中经济体的解释能力就不强,如果我们不分东西,放在一起,这样能解释好问题么?
4。
应不应该在模型中设置fiscalauthority,中国的转移支付对经济有效么?
对个人有转移支付么?
5。
新凯恩斯菲利普斯曲线能不能解释好中国的通胀问题,还是中国的通胀另有其因?
这里是我的一个presentation所作的一个小型开放DSGE,以中国为背景,我知道有很多不现实的地方。
希望大家指教,特别希望大家能够回应一点实在看法。
DSGE(3)DSGE模型讨论之三——线形理性预期模型
继续DSGE模型讨论,给DSGE入门的朋友指一个大概的前进方向,并且提出我自己的疑惑,希望能得到大家帮助。
当你把DSGE模型的所有FOC都求出来,和其他的constraints一起对数线性化之后,会形成一个线形理性预期模型(LRE)。
首先因为已经线性化了,模型是线性的。
同时里面含有期望,所以有些差分方程是‘随机差分方程(Stochasticdifferenceequation)’。
这样一堆随机差分方程放在一起形成LRE模型。
一个线形微分方程的解就是一个函数,那么一个线形差分方程组的借就是一个向量差分方程(vectordifferenceequation)。
我们要求LRE的解就是要找这样一个,或者一对向量差分方程组,他们被叫做equilibriumlawofmotion。
自从80年代以来,发明了不下10种解这个模型的具体方法。
第一篇贡献性文章就是BlanchardandKahn(1980)。
大家在用Dynare的时候,不知道有没有见过一个错误信息说的是:
不满足Blanchard-Kahncondition.
Blanchard-Kahncondition是指的,一个LRE模型的特征值在单位圆之外的数量等于预期方程的个数。
你有没有想过这玩意儿再说个啥?
我经常给别人解释都是用一句英语:
Thenumberofexplosiverootsequalthenumberofnumberofexpectationaldifferenceequation.
这里是我自己写的notes,对Uhlig和Blanchard-Kahnmethod的总结。
解释了为什么我们在Blanchard-Kahncondition里面需要一定数量的‘爆炸特征值’(explosiveeigenvalue)来稳定模型。
DSGE模型讨论之四——傅立叶变换和线形滤波器
这是第四个关于DSGE模型的技术帖。
总体来说DSGE在宏观经济学里面处在一种难度顶峰的位置,所涉及到数学知识面极其广泛,同时需要深厚的微观经济学和计量经济学功底。
在这个帖子里面,我给大家提供了基础的傅立叶分析和线形滤波器的知识,这些知识不光是DSGE要用,应该是看成宏观(计量)经济学所需要数学基本功。
傅立叶分析需要用到复数的内容,因为可以大量简化计算,复数和三角函数可以通过欧拉公式(Eulerformula)来回转换,所以我在note里面专门提供了所需要复数知识。
傅立叶变换是个极其有用的工具,可以让时间序列在时域和频域里面变换。
在宏观经济学里面我们要关心Businesscycle的话,就要知道频率和周期,所以傅立叶变换可以让我探索时域里面看不到的内容。
同时有个很重要的概念叫频谱,或者是光谱(spectrum),这是来自物理光学和电子工程学的概念。
一个信号转换到频域之后,我们能看到在不同的频率上密度是多少。
比如光分解成7色之后,每个色彩有个频率,可见光和不可见光由不同频率而决定。
光有波的性质(波粒二象),所以能分解。
时间序列一样能看到光谱密度(spectraldensity)。
其实傅立叶分析的现代提升版叫:
小波分析。
它可以研究非平稳性的时间序列,但傅立叶分析就不行。
还有很多优于傅立叶分析的特征,我们这里不提,因为目前在经济学上的应用并没有被广泛承认。
还有就是关于线形滤波器,这是用来分离周期(isolatecycles)和平稳化(stationarising)的工具。
是需要一定频域的知识,所以了解傅立叶分析是非常有必要的。
我这里所谈到的线形滤波器不是泛指所有带有线形假设的滤波器,比如卡尔曼滤波(我会在后面的帖子中专门给这个算法提供一个完整的解释)。
两个专门研究商业周期的filter是:
Hodrick-Prescottfilter,Baxter-Kingfilter。
一个是属于高通滤波,一个属于带通滤波。
这些专业术语,我在note里面都有解释。
最后要说的是,这些note希望能得到大家的feedback,因为以后会拿给学生用,所以需要找到一个适合接受的方式来传达知识。
DSGE模型讨论之五——CESfunctionsandDixit-StiglitzFormulation
这次的帖子内容非常简单,就是关于CES函数和Dixit-Stiglitz模型的解释。
CES函数不用说了,学过微观的都知道,但是普遍缺乏训练,甚至绝大多数同学连elasticityofsubstitution的公式都写不出来。
微观教材虽然会提到和用到,但是并没有解释清楚这个中函数的具体用法和性质。
这次的note里面有详细介绍这种函数的性质和变化方式。
CES函数是经济学里面泛用性最强的一种函数,第一次看到这种函数一般都觉得形状很奇怪,而以不理解为什么是那个样子。
我在note里面有解释这一点,其实CES函数的来源是由一个简单计量模型推导出来的,中间步骤需要解一个‘可分离变量’的微分方程,然后就会得到CES这种函数。
其次要谈的就是Dixit-Stiglitz模型,学过DSGE就应该知道这种formulation,这个模型是专门用来描述monopolisticcompetition的,是微观经济学里在70年代的第二次monopolisticcompetition模型革命所得到的成果,至今都是最好的模型。
新凯恩斯学派大量使用这种模型来丰富DSGE,所以熟悉这种模型的推导只是一个基本训练而以。
大多数高级微观课程都不会教Dixit-Stiglitzformulation,我学习这个模型都是在国际经济学课程里面熟悉的。
所以对于广大同学来说,这个模型的认识非常模糊,也许仅仅就知道要用个CES函数来加总。
DSGE模型讨论之六——新古典增长模型(入门级DSGE)的推导和Dynare模擬
这是个操作手册,也是对一个入门级DSGE模型的诠释。
推导非常简单,跟所有DSGE模型一样,求出optimalityconditions,然後对数线性化。
形成“线性理性预期模型”,用数学语言,它仅仅就是个“随机差分方程组”而已。
求解这个方程组,就是找到一个saddle-path(鞍部线)来描述整个模型在平稳化之后的移动方式。
这个时候加一个外力,也就是shock,就可以看出模型是怎么动的,用多久时间可以回到steady-state。
关于“线性理性预期模型”
很多朋友都给我发信息说看不太懂Dynare的结果报告,所以基于大家的回应,我写了这个notes。
这次我对Dynare的结果报告作了比较多的解释,我希望能解决大家的一些疑惑。
其实Dynare的报告非常简单易懂,你要弄懂什么是jumpvariables,什么是statevariable(我notes里面有解释)。
我单独把“跳跃变量”拿出来跟大家说一下,这个名字实际上在宏观经济学里面是误用,它来自工程学的动态差分方程求解的变量分类。
当所有变量都沿着saddle-path移动的时候,jumpvariable不能很平滑地顺着这条线动,它只能不停地跳跃般地跟上这跟线,所以叫做jumpvariable。
但是在经济学里面误用它了,之所有叫这个名字,是因为所谓的“跳跃变量”在求解出来之后会全面反映出shock的动态,只要shock一来,这个变量马上全面反映出跳跃状态。
然后是policyfunction,这个名字大家见到过很多次了。
它其实就是整个差分方程组的解。
微分方程的解是个方程,差分方程的解还是个差分方程。
所以policyfunction就是个描述模型在steady-state的saddle-path上移动方式的数学语言而已。
在今后,我将会提供更多的DSGE推导,模拟和参数估计的例子。
有一点我要强调,在你完全熟透DSGE的内部构造和模拟方式之前,最好不要去学习贝叶斯参数估计,如果你心急,这只会给你带来很多痛苦后果。
DSGE不是一两个月能学好的,更不是一两天能学好的。
DSGE模型讨论之七——最简单的DSGE模型的Dynare模拟和MLE,Bayesian估计
这个notes纯粹是扫盲用的。
我用了一个最简单的线性DSGE,只有两个方程。
先是我用手算的方法找到saddle-path的policyfunction,然后手算出impulseresponsefunction。
这些我都用Dynare做了计算,程序和结果都写在note里面。
上面是我note的截图,这个DSGE模型实际上就是一个linearrationalexpecationmodel(LREM),但DSGE的线性化后的本质也就是个LRE。
虽然这个note提供的模型非常简单,但是思路在于如何用Dynare来深入学习这个动态系统。
有几个事情需要大家自己来做:
1.beta和rho的大小,大家从换很多次calibration,看能对IRF带来什么影响?
2.beta和rho都大于1的时候,你应该怎么修改模型,为了维持模型的稳定性?
3.看修改shock的stardarddeviation能对模型带了什么影响?
4.如果你再加一个方程进去呢?
什么样子的方程?
以上内容我都试验过了。
这个东西没法帮大家试验,所以大家必须自己试着做。
这样你可以学到很多关于动态系统的感性认识。
之后,我用最大似然估计对参数估计,然后我故意制造under-identification的问题,让大家看一下结果是什么样子。
最后就是Bayesianestimation,我只估计了1个参数,用了2条平行马尔科夫链,做了超超短程模拟(只有500次,正常情况都是100000),为了省时间(我电脑只用50秒左右),所以我并没有让电脑跑很长的马尔科夫链和多个平行链条。
所以结果非常差,但是这不是的目的。
目的还是在于让从来没见过整个估计过程的同学看到一个全貌。
所以我没有提及理论内容,或者是一带而过。
对于Bayesianestimation,有个地方要注意的就是shock的个数和observable的个数必须相等,这是启动Kalmanfilter必要条件。
Kalmanfilter是一个极其复杂的算法,计量经济学上面用来模拟likelihoodfunction。
以后我会有一个贴子专门来展开Kalmanfilter的内部
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSGE 学习方法