peter 发表于 2012-2-29 16:55
楼主,我有一个关于dynare使用的问题,下面这段话摘自dynare官网上的user guide:
这段话的意思是说当公式 ...
因为在Dynare里面区分predetermined variable 和 non-predetermined variable的方法非常机械,就是看这个变量出现(+1)或者(-1)的位置没有。显然k是个predetermined variable,所有必须要调整它的时间位置,让它被自己的历史(-1)所决定。但是你不能把这个capital law of motion当成一个差分方程来一起连同“i”变动时间,因为i不是predetermined variable,你就不能让它出现(-1)的位置。
peter 发表于 2012-2-29 21:22
我可不可以这样理解:
虽然把k(t+1)=i(t)+k(t)写成K=i+k(-1),
但是dynare明白,此时的i 和k(-1)的时期是 ...
不是,Dynare会根据我们打的时间标记来区分。经过修改后的capital law of motion,k=i+(1-delta)*k(-1),跟你看到的一样,在右边的“i”和"k(-1)"已经不在一个时间点上了。这是一个技术性问题,Matlab毕竟不是人脑,没法理解经济学含义。所以这些修改都是为了保证Dynare能在技术上解出模型。但就算我们修改了i,对整个模型的解和模拟都不造成影响。同时Dynare也不会认为“i”处在(-1)的位置上,如果它这样认为了,就又违反了BK condition了。