楼主: xqj@swufe
1218 15

DSGE模型运行时显示稳态不存在或无穷大,现附上模型描述和代码,请各位大佬帮忙看看 [推广有奖]

  • 0关注
  • 0粉丝

高中生

37%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0.8754
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
234 点
帖子
11
精华
0
在线时间
57 小时
注册时间
2020-3-17
最后登录
2024-3-16

楼主
xqj@swufe 发表于 2023-8-6 16:37:01 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
DSGE小白,导师要求毕业论文用DSGE做,但是技术上给不了支持,现遇到问题求助各位坛友,我的模型在使用Dynare跑的时候一直显示“the steady state nan or inf."我也排除了一下参数取值有误的可能,因为调整过了还是显示同一条报错信息,现附上模型pdf和代码,求各位大佬帮忙看看问题出在哪里,模型是两级ZF双区域模型,其中地方ZF债务分为了显性债务和隐性债务,债务是GDP或本区域财政收入的一定比例,比例服从AR(1)过程,新手第一次发帖,还没有论坛币,如果有坛友能协助处理这一问题,后续可加微信现金酬谢,谢谢~ model.pdf (485.94 KB) model 6.zip (89.97 KB)

压缩包为代码及报错信息,solve为主程序,后缀为steadystate的为外部求解稳态的m文件,estimate为贝叶斯估计,其实当时有显示可能是有些参数为进行赋值,但是在加入了相关参数值之后依旧显示这些参数取值不存在,dynare随机取值了,所以我也不懂了,卡了好久了,求各位坛友帮忙看看
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:dsge模型 DSGE 不存在 无穷大 estimate DSGE

沙发
Clandy17 发表于 2023-8-9 11:57:13
一般这种情况是某个地方出现分母为零了,对应着找一下。可以利用用resid(1);命令(放在 initval命令后或staedy命令前)查一下静态方程结果,优先找nan的。

藤椅
xqj@swufe 发表于 2023-8-14 09:58:40
谢谢Clandy17大佬的回答,我还有一个问题在下方希望您能解答一下,谢谢~

板凳
xqj@swufe 发表于 2023-8-14 10:00:27
Clandy17 发表于 2023-8-9 11:57
一般这种情况是某个地方出现分母为零了,对应着找一下。可以利用用resid(1);命令(放在 initval命令后或st ...
  dynare estimate_bygdp
Starting Dynare (version 5.3).
Calling Dynare with arguments: none
Starting preprocessing of the model file ...
Found 97 equation(s).
Evaluating expressions...done
Computing static model derivatives (order 1).
Computing dynamic model derivatives (order 2).
Processing outputs ...
done
Preprocessing completed.





Residuals of the static equations:

Equation number 1 : 0 : lamda1
Equation number 2 : 0 : 2
Equation number 3 : 0 : 3
Equation number 4 : NaN : 4
Equation number 5 : 0 : bgc1
Equation number 6 : 0 : K1
Equation number 7 : NaN : Y1
Equation number 8 : 0 : qm
Equation number 9 : 0 : qn
Equation number 10 : 0 : m
Equation number 11 : NaN : 11
Equation number 12 : 0 : RK1
Equation number 13 : 0 : W1
Equation number 14 : 0 : QL1
Equation number 15 : 0 : bkg1
Equation number 16 : 0 : 16
Equation number 17 : 0 : mc1
Equation number 18 : 0 : QHstar1
Equation number 19 : NaN : F11
Equation number 20 : NaN : F12
Equation number 21 : 0 : yh1
Equation number 22 : 0 : 22
Equation number 23 : 0 : bdelta1
Equation number 24 : NaN : 24
Equation number 25 : NaN : 25
Equation number 26 : 0 : gc1
Equation number 27 : NaN : 27
Equation number 28 : NaN : 28
Equation number 29 : 0 : D1
Equation number 30 : 0 : B1
Equation number 31 : NaN : 31
Equation number 32 : 0 : LG1
Equation number 33 : 0 : kgf1
Equation number 34 : NaN : DGDP1
Equation number 35 : NaN : BGDP1
Equation number 36 : NaN : v1
Equation number 37 : NaN : 37
Equation number 38 : NaN : RD1
Equation number 39 : NaN : RB1
Equation number 40 : 0 : lamda2
Equation number 41 : 0 : 41
Equation number 42 : 0 : 42
Equation number 43 : NaN : 43
Equation number 44 : 0 : bgc2
Equation number 45 : 0 : K2
Equation number 46 : NaN : Y2
Equation number 47 : 0 : 47
Equation number 48 : 0 : 48
Equation number 49 : 0 : n
Equation number 50 : NaN : 50
Equation number 51 : 0 : RK2
Equation number 52 : 0 : W2
Equation number 53 : 0 : QL2
Equation number 54 : 0 : bkg2
Equation number 55 : 0 : 55
Equation number 56 : 0 : mc2
Equation number 57 : 0 : QHstar2
Equation number 58 : NaN : F21
Equation number 59 : NaN : F22
Equation number 60 : 0 : yh2
Equation number 61 : 0 : 61
Equation number 62 : 0 : bdelta2
Equation number 63 : NaN : 63
Equation number 64 : NaN : 64
Equation number 65 : 0 : gc2
Equation number 66 : NaN : 66
Equation number 67 : NaN : 67
Equation number 68 : 0 : D2
Equation number 69 : 0 : B2
Equation number 70 : NaN : 70
Equation number 71 : 0 : LG2
Equation number 72 : 0 : kgf2
Equation number 73 : NaN : DGDP2
Equation number 74 : NaN : BGDP2
Equation number 75 : NaN : v2
Equation number 76 : NaN : 76
Equation number 77 : NaN : RD2
Equation number 78 : NaN : RB2
Equation number 79 : NaN : 79
Equation number 80 : NaN : gc
Equation number 81 : 0 : kgf
Equation number 82 : NaN : J
Equation number 83 : NaN : a
Equation number 84 : NaN : 84
Equation number 85 : NaN : 85
Equation number 86 : NaN : 86
Equation number 87 : NaN : 87
Equation number 88 : NaN : 88
Equation number 89 : NaN : 89
Equation number 90 : NaN : 90
Equation number 91 : NaN : 91
Equation number 92 : 0 : GDP1
Equation number 93 : 0 : GDP2
Equation number 94 : 0 : 94
Equation number 95 : 0 : TD1
Equation number 96 : 0 : TD2
Equation number 97 : NaN : 97



警告: Some of the parameters have no value (phi_Y, QL1s, QL2s, rho_j, rho_a, rho_g, rho_dgdp1,
rho_dgdp2, rho_bgdp1, rho_bgdp2, rho_l1, rho_l2, rho_q1, rho_q2, rho_d1, rho_d2, rho_b1, rho_b2, Cs,
Is, I1s, I2s, TDs, TD1s, TD2s, gfs, kgfs, C1s, bgc1s, H1s, D1s, B1s, K1s, lamda1s, QHstar1s, QH1s, W1s,
RK1s, Y1s, m1s, m2s, bkg1s, F1s, YH1s, yh1s, MH1s, LH1s, mc1s, F11s, F12s, TR1s, gc1s, gf1s, T1s,
kgf1s, LS1s, LG1s, L1s, C2s, bgc2s, H2s, D2s, B2s, K2s, lamda2s, QHstar2s, QH2s, W2s, RK2s, Y2s, n1s,
n2s, bkg2s, F2s, YH2s, yh2s, MH2s, LH2s, mc2s, F21s, F22s, TR2s, gc2s, gf2s, T2s, kgf2s, LS2s, LG2s,
L2s) when using steady. If these parameters are not initialized in a steadystate file or a
steady_state_model-block, Dynare may not be able to solve the model. Note that simul,
perfect_foresight_setup, and perfect_foresight_solver do not automatically call the steady state file.
STEADY:  numerical initial values or parameters incompatible with the following equations
  列 1 至 17
     4     7    11    19    20    24    25    27    28    31    34    35    36    37    38    39    43
  列 18 至 34
    46    50    58    59    63    64    66    67    70    73    74    75    76    77    78    79    80
  列 35 至 45
    82    83    84    85    86    87    88    89    90    91    97
Check whether your model is truly linear. Put "resid(1);" before "steady;" to see the problematic equations.




Residuals of the static equations:

Equation number 1 : 0 : lamda1
Equation number 2 : NaN : 2
Equation number 3 : 0 : 3
Equation number 4 : NaN : 4
Equation number 5 : NaN : bgc1
Equation number 6 : 0 : K1
Equation number 7 : NaN : Y1
Equation number 8 : 0 : qm
Equation number 9 : NaN : qn
Equation number 10 : NaN : m
Equation number 11 : NaN : 11
Equation number 12 : 0 : RK1
Equation number 13 : NaN : W1
Equation number 14 : 0 : QL1
Equation number 15 : NaN : bkg1
Equation number 16 : NaN : 16
Equation number 17 : 0 : mc1
Equation number 18 : NaN : QHstar1
Equation number 19 : NaN : F11
Equation number 20 : NaN : F12
Equation number 21 : NaN : yh1
Equation number 22 : 0 : 22
Equation number 23 : NaN : bdelta1
Equation number 24 : NaN : 24
Equation number 25 : NaN : 25
Equation number 26 : NaN : gc1
Equation number 27 : NaN : 27
Equation number 28 : NaN : 28
Equation number 29 : NaN : D1
Equation number 30 : NaN : B1
Equation number 31 : NaN : 31
Equation number 32 : NaN : LG1
Equation number 33 : NaN : kgf1
Equation number 34 : NaN : DGDP1
Equation number 35 : NaN : BGDP1
Equation number 36 : NaN : v1
Equation number 37 : NaN : 37
Equation number 38 : NaN : RD1
Equation number 39 : NaN : RB1
Equation number 40 : NaN : lamda2
Equation number 41 : NaN : 41
Equation number 42 : 0 : 42
Equation number 43 : NaN : 43
Equation number 44 : NaN : bgc2
Equation number 45 : 0 : K2
Equation number 46 : NaN : Y2
Equation number 47 : NaN : 47
Equation number 48 : NaN : 48
Equation number 49 : NaN : n
Equation number 50 : NaN : 50
Equation number 51 : NaN : RK2
Equation number 52 : NaN : W2
Equation number 53 : NaN : QL2
Equation number 54 : NaN : bkg2
Equation number 55 : NaN : 55
Equation number 56 : NaN : mc2
Equation number 57 : 0 : QHstar2
Equation number 58 : NaN : F21
Equation number 59 : NaN : F22
Equation number 60 : NaN : yh2
Equation number 61 : NaN : 61
Equation number 62 : NaN : bdelta2
Equation number 63 : NaN : 63
Equation number 64 : NaN : 64
Equation number 65 : NaN : gc2
Equation number 66 : NaN : 66
Equation number 67 : NaN : 67
Equation number 68 : NaN : D2
Equation number 69 : NaN : B2
Equation number 70 : NaN : 70
Equation number 71 : NaN : LG2
Equation number 72 : NaN : kgf2
Equation number 73 : NaN : DGDP2
Equation number 74 : NaN : BGDP2
Equation number 75 : NaN : v2
Equation number 76 : NaN : 76
Equation number 77 : NaN : RD2
Equation number 78 : NaN : RB2
Equation number 79 : NaN : 79
Equation number 80 : NaN : gc
Equation number 81 : 0 : kgf
Equation number 82 : NaN : J
Equation number 83 : NaN : a
Equation number 84 : NaN : 84
Equation number 85 : NaN : 85
Equation number 86 : NaN : 86
Equation number 87 : NaN : 87
Equation number 88 : NaN : 88
Equation number 89 : NaN : 89
Equation number 90 : NaN : 90
Equation number 91 : NaN : 91
Equation number 92 : NaN : GDP1
Equation number 93 : NaN : GDP2
Equation number 94 : NaN : 94
Equation number 95 : NaN : TD1
Equation number 96 : NaN : TD2
Equation number 97 : NaN : 97


错误使用 print_info
The steady state has NaNs or Inf.
出错 steady (第 102 行)
    print_info(info,options_.noprint, options_);
出错 estimate_bygdp.driver (第 1760 行)
steady;
出错 dynare (第 281 行)
    evalin('base',[fname '.driver']);
>>

求问大佬,我运行后出现很多NAN,且前后出现了两次“Residuals of the static equations:”,我应该看更早的还是之后的呢?如果是之前的是否代表我的模型本来就有问题还是应该更加仔细的检查一阶条件、相应对数线性化的式子和稳态求解过程呢?非常感谢您的回答!

报纸
Clandy17 发表于 2023-8-14 13:20:57
xqj@swufe 发表于 2023-8-14 10:00
dynare estimate_bygdp
Starting Dynare (version 5.3).
Calling Dynare with arguments: none
第一个就行。仔细阅读报错结果:Some of the parameters have no value。你要检查一下到底就是漏了赋值,还是因为你在解稳态值的过程中因为各种原因(比如漏错写、写错变量名、乘号写成除号等等各种大的小的错误),某个值你没有算对。你可以把你的外部求解命令逐条跑一下,看看是不是都有解。

地板
xqj@swufe 发表于 2023-8-15 15:32:33
Clandy17 发表于 2023-8-14 13:20
第一个就行。仔细阅读报错结果:Some of the parameters have no value。你要检查一下到底就是漏了赋值, ...
好的,谢谢大佬,我试一下~

7
xqj@swufe 发表于 2023-8-15 16:09:25
Clandy17 发表于 2023-8-14 13:20
第一个就行。仔细阅读报错结果:Some of the parameters have no value。你要检查一下到底就是漏了赋值, ...
Clandy17大佬:
刚试了一下,其实我的代码是仿照朱军老师的书编写的。但是我刚按照您给的建议排查嘛,但是还是老是报错,我不知道应该如何检查了。
报错信息:
run SolveSteadyState_bygdp
输入参数的数目不足。
出错 SolveSteadyState_bygdp (第 2 行)
beta= ParaSet(1);
出错 run (第 91 行)
evalin('caller', strcat(script, ';'));


主程序:
clc;
close all;

var C1 bgc1 H1 N1 I1 D1 B1 K1 lamda1 QHstar1 QH1 W1 RD1 RB1 RK1 Y1 m m1 m2 bkg1 F1 YH1 yh1 MH1 LH1 mc1 F11 F12 bdelta1 TR1 gc1 gf1 T1 kgf1 DGDP1 BGDP1 LS1 LG1 L1 v1 qm QL1 GDP1 TD1 %地区1变量 42+2
    C2 bgc2 H2 N2 I2 D2 B2 K2 lamda2 QHstar2 QH2 W2 RD2 RB2 RK2 Y2 n n1 n2 bkg2 F2 YH2 yh2 MH2 LH2 mc2 F21 F22 bdelta2 TR2 gc2 gf2 T2 kgf2 DGDP2 BGDP2 LS2 LG2 L2 v2 qn QL2 GDP2 TD2%地区2变量 42+2
    J a gc gf kgf %central goverment variable 5
    C GDP I TD; %定义的变量 4

varexo ej ea eg edgdp1 edgdp2 ebgdp1 ebgdp2 ev1 ev2 eql1 eql2 erd1 erd2 erb1 erb2; %15

parameters beta delta_h delta_k delta_g w w1 w2 sigma epsilo epsilo_y epsilo_f theta theta1 theta2 u tau b1 b2 phi_Y phi_1 phi_2 kai eta  z1 z2 alpha_k1 alpha_k2 alpha_n1 alpha_n2 alpha_l1 alpha_l2 %结构性参数 31,beta_g
           Js as QL1s QL2s %4
           LH1oYH1 LH2oYH2 gcoqm RD1s RD2s RB1s RB2s  DGDP1s  DGDP2s BGDP1s BGDP2s %11
           rho_j rho_a rho_g rho_dgdp1 rho_dgdp2 rho_bgdp1 rho_bgdp2 rho_l1 rho_l2 rho_q1 rho_q2 rho_d1 rho_d2 rho_b1 rho_b2 %persistence para 15 对应varexo
           Cs GDPs GDP1s GDP2s Is I1s I2s TDs TD1s TD2s%新定义变量的稳态 10,TD means revenue from land
           bdelta1s bdelta2s gcs;

beta=0.96;
%beta_g=0.99;   don't need
delta_h=0.01;
delta_k=0.0425;
delta_g=0.0232;
w=0.35;
w1=0.12/3.5;
w2=0.28/3.5;
sigma=2;
epsilo=0.5;
epsilo_y=2;
epsilo_f=0.225;
theta=0.25;
theta1=0.5;
theta2=0.75;
u=0.4;
tau=0.15;
b1=0.6;
b2=0.9;
phi_1=1;
phi_2=1.35;
kai=0.06;
eta=6;
z1=0.6;
z2=0.8;
alpha_k1=0.4688;
alpha_k2=0.4139;
alpha_n1=0.49;
alpha_n2=0.5511;
alpha_l1=0.4077;
alpha_l2=0.3483;
%以上为结构性参数校准,31

Js=2;
as=1;
QL1s=(alpha_l1/(1-alpha_l1))*LH1oYH1^(1/(alpha_l1-1));
QL2s=(alpha_l2/(1-alpha_l2))*LH2oYH2^(1/(alpha_l2-1));

LH1oYH1=0.6341;
LH2oYH2=0.6182;
gcoqm=0.025;
%RD1s=1.0409;1.0159;
RD1s=0.9159;
%RD2s=1.0494;1.0244;
RD2s=0.9244;
%RB1s=1.03399621993;1.00899621993;
RB1s=0.90899621993;
%RB2s=1.0347938326;1.0097938326;
RB2s=0.9097938326;
DGDP1s=0.0368;
%0.0368
DGDP2s=0.031;
%0.031
BGDP1s=0.0405;
%0.0405
BGDP2s=0.0698;
%0.0698

bdelta1s=1;
bdelta2s=1;

phi_Y=3;
rho_j=0.9;
rho_a=0.9;
rho_g=0.8;
rho_dgdp1=0.96;
rho_dgdp2=0.89;
rho_bgdp1=0.99;
rho_bgdp2=0.88;
rho_l1=0.66;
rho_l2=0.55;
rho_q1=0.45;
rho_q2=0.36;
rho_d1=0.76;
rho_d2=0.67;
rho_b1=0.56;
rho_b2=0.65;

ParaSet =[beta delta_h delta_k delta_g w w1 w2 sigma epsilo epsilo_y epsilo_f theta theta1 theta2 u tau b1 b2  phi_1 phi_2 kai eta  z1 z2 alpha_k1 alpha_k2 alpha_n1 alpha_n2 alpha_l1 alpha_l2 Js LH1oYH1 LH2oYH2 gcoqm RD1s RD2s RB1s RB2s  DGDP1s  DGDP2s BGDP1s BGDP2s];%42 variables+beta_g
xini = [ 2.5363  2.5195   0.4330    0.4330    2.1206    1.9436]';
[xopt,fval]=broyden(@(x)SolveSteadyState_bygdp(x,ParaSet),xini);
N1s = xopt(1);
N2s = xopt(2);
qms = xopt(3);
qns = xopt(4);
ms = xopt(5);
ns = xopt(6);

[C1s bgc1s H1s N1s I1s D1s B1s K1s lamda1s QHstar1s QH1s W1s RK1s Y1s ms m1s m2s bkg1s F1s YH1s yh1s MH1s LH1s mc1s F11s F12s TR1s gc1s gf1s T1s kgf1s LS1s LG1s L1s qms QL1s C2s bgc2s H2s N2s I2s D2s B2s K2s lamda2s QHstar2s QH2s W2s  RK2s Y2s ns n1s n2s bkg2s F2s YH2s yh2s MH2s LH2s mc2s F21s F22s TR2s gc2s gf2s T2s kgf2s LS2s LG2s L2s qns QL2s]= FullSteadyState_bygdp(xopt,ParaSet);%36times2
gcs=gcoqm*qms*ms;
gfs=u*tau*((W1s*N1s+RK1s*K1s)+(W2s*N2s+RK2s*K2s))-TR1s-TR2s-gcs;
kgfs=1/delta_g*gfs;
Cs=C1s+C2s;
GDPs=qms*ms+qns*ns;
GDP1s=qms*ms;
GDP2s=qns*ns;
Is=I1s+I2s;
TD1s=QL1s*LS1s;
TD2s=QL2s*LS2s;
TDs=TD1s+TD2s;

%end of solve steady state,all variable's steady state should be solved.
%加粗部分是求解稳态的代码,然后外部求解命令我觉得逻辑上没问题啊,需要的参数值在调用前已经在主程序中赋值了。









8
xqj@swufe 发表于 2023-8-15 16:24:17
Clandy17:
大佬,您好,现附上我的主程序[size=13.3333px]solve_bygdp.mod文件,加粗部分为稳态求解代码,我觉得逻辑上没有问题,在调用外部求解m文件时已经在主程序中给好了所需全部参数值,但是我在尝试您给的建议,逐一排查稳态变量求解时,出现报错:
run SolveSteadyState_bygdp输入参数的数目不足。出错 SolveSteadyState_bygdp (第 2 行)[size=13.3333px]beta= ParaSet(1);出错 run (第 91 行)evalin('caller', strcat(script, ';'));
[size=13.3333px]不知道哪里出现问题了,现附上主程序和外部求解m文件,请您帮忙一看哪里出错了,非常感谢!
[size=13.3333px]

clc;
close all;

var C1 bgc1 H1 N1 I1 D1 B1 K1 lamda1 QHstar1 QH1 W1 RD1 RB1 RK1 Y1 m m1 m2 bkg1 F1 YH1 yh1 MH1 LH1 mc1 F11 F12 bdelta1 TR1 gc1 gf1 T1 kgf1 DGDP1 BGDP1 LS1 LG1 L1 v1 qm QL1 GDP1 TD1 %地区1变量 42+2
    C2 bgc2 H2 N2 I2 D2 B2 K2 lamda2 QHstar2 QH2 W2 RD2 RB2 RK2 Y2 n n1 n2 bkg2 F2 YH2 yh2 MH2 LH2 mc2 F21 F22 bdelta2 TR2 gc2 gf2 T2 kgf2 DGDP2 BGDP2 LS2 LG2 L2 v2 qn QL2 GDP2 TD2%地区2变量 42+2
    J a gc gf kgf %central goverment variable 5
    C GDP I TD; %定义的变量 4

varexo ej ea eg edgdp1 edgdp2 ebgdp1 ebgdp2 ev1 ev2 eql1 eql2 erd1 erd2 erb1 erb2; %15

parameters beta delta_h delta_k delta_g w w1 w2 sigma epsilo epsilo_y epsilo_f theta theta1 theta2 u tau b1 b2 phi_Y phi_1 phi_2 kai eta  z1 z2 alpha_k1 alpha_k2 alpha_n1 alpha_n2 alpha_l1 alpha_l2 %结构性参数 31,beta_g
           Js as QL1s QL2s %4
           LH1oYH1 LH2oYH2 gcoqm RD1s RD2s RB1s RB2s  DGDP1s  DGDP2s BGDP1s BGDP2s %11
           rho_j rho_a rho_g rho_dgdp1 rho_dgdp2 rho_bgdp1 rho_bgdp2 rho_l1 rho_l2 rho_q1 rho_q2 rho_d1 rho_d2 rho_b1 rho_b2 %persistence para 15 对应varexo
           Cs GDPs GDP1s GDP2s Is I1s I2s TDs TD1s TD2s%新定义变量的稳态 10,TD means revenue from land
           bdelta1s bdelta2s gcs;

beta=0.96;
%beta_g=0.99;   don't need
delta_h=0.01;
delta_k=0.0425;
delta_g=0.0232;
w=0.35;
w1=0.12/3.5;
w2=0.28/3.5;
sigma=2;
epsilo=0.5;
epsilo_y=2;
epsilo_f=0.225;
theta=0.25;
theta1=0.5;
theta2=0.75;
u=0.4;
tau=0.15;
b1=0.6;
b2=0.9;
phi_1=1;
phi_2=1.35;
kai=0.06;
eta=6;
z1=0.6;
z2=0.8;
alpha_k1=0.4688;
alpha_k2=0.4139;
alpha_n1=0.49;
alpha_n2=0.5511;
alpha_l1=0.4077;
alpha_l2=0.3483;
%以上为结构性参数校准,31

Js=2;
as=1;
QL1s=(alpha_l1/(1-alpha_l1))*LH1oYH1^(1/(alpha_l1-1));
QL2s=(alpha_l2/(1-alpha_l2))*LH2oYH2^(1/(alpha_l2-1));

LH1oYH1=0.6341;
LH2oYH2=0.6182;
gcoqm=0.025;
%RD1s=1.0409;1.0159;
RD1s=0.9159;
%RD2s=1.0494;1.0244;
RD2s=0.9244;
%RB1s=1.03399621993;1.00899621993;
RB1s=0.90899621993;
%RB2s=1.0347938326;1.0097938326;
RB2s=0.9097938326;
DGDP1s=0.0368;
%0.0368
DGDP2s=0.031;
%0.031
BGDP1s=0.0405;
%0.0405
BGDP2s=0.0698;
%0.0698

bdelta1s=1;
bdelta2s=1;

phi_Y=3;
rho_j=0.9;
rho_a=0.9;
rho_g=0.8;
rho_dgdp1=0.96;
rho_dgdp2=0.89;
rho_bgdp1=0.99;
rho_bgdp2=0.88;
rho_l1=0.66;
rho_l2=0.55;
rho_q1=0.45;
rho_q2=0.36;
rho_d1=0.76;
rho_d2=0.67;
rho_b1=0.56;
rho_b2=0.65;

ParaSet =[beta delta_h delta_k delta_g w w1 w2 sigma epsilo epsilo_y epsilo_f theta theta1 theta2 u tau b1 b2  phi_1 phi_2 kai eta  z1 z2 alpha_k1 alpha_k2 alpha_n1 alpha_n2 alpha_l1 alpha_l2 Js LH1oYH1 LH2oYH2 gcoqm RD1s RD2s RB1s RB2s  DGDP1s  DGDP2s BGDP1s BGDP2s];%42 variables+beta_g
xini = [ 2.5363  2.5195   0.4330    0.4330    2.1206    1.9436]';
[xopt,fval]=broyden(@(x)SolveSteadyState_bygdp(x,ParaSet),xini);
N1s = xopt(1);
N2s = xopt(2);
qms = xopt(3);
qns = xopt(4);
ms = xopt(5);
ns = xopt(6);
[C1s bgc1s H1s N1s I1s D1s B1s K1s lamda1s QHstar1s QH1s W1s RK1s Y1s ms m1s m2s bkg1s F1s YH1s yh1s MH1s LH1s mc1s F11s F12s TR1s gc1s gf1s T1s kgf1s LS1s LG1s L1s qms QL1s C2s bgc2s H2s N2s I2s D2s B2s K2s lamda2s QHstar2s QH2s W2s  RK2s Y2s ns n1s n2s bkg2s F2s YH2s yh2s MH2s LH2s mc2s F21s F22s TR2s gc2s gf2s T2s kgf2s LS2s LG2s L2s qns QL2s]= FullSteadyState_bygdp(xopt,ParaSet);%36times2
gcs=gcoqm*qms*ms;
gfs=u*tau*((W1s*N1s+RK1s*K1s)+(W2s*N2s+RK2s*K2s))-TR1s-TR2s-gcs;
kgfs=1/delta_g*gfs;
Cs=C1s+C2s;
GDPs=qms*ms+qns*ns;
GDP1s=qms*ms;
GDP2s=qns*ns;
Is=I1s+I2s;
TD1s=QL1s*LS1s;
TD2s=QL2s*LS2s;
TDs=TD1s+TD2s;

%end of solve steady state,all variable's steady state should be solved.






9
xqj@swufe 发表于 2023-8-15 17:04:16
xqj@swufe 发表于 2023-8-15 15:32
好的,谢谢大佬,我试一下~
尊敬的Clandy17大佬:
我试着按照您说的运行外部稳态求解m文件,寻找没有求出来的变量稳态,但是在排查时,老是报错:
run SolveSteadyState_bygdp
输入参数的数目不足。
出错 SolveSteadyState_bygdp (第 2 行)
beta= ParaSet(1);
出错 run (第 91 行)
evalin('caller', strcat(script, ';'));

但是我理解的是已经在主程序中给定了稳态求解的所有参数值,所以不应该出现输入参数有问题,现附上主程序和外部稳态求解的word文件,代码都在里面,加粗的是稳态求解代码,我用的是朱军老师的方法,采用broyden 工具包,几乎是仿照朱老师的书写的代码,所以也不清楚哪里出现了问题,希望您能帮我看看问题到底出现在哪里,非常感谢! 主程序及外部稳态求解文件.docx (34.72 KB)

10
Clandy17 发表于 2023-8-15 22:03:44
xqj@swufe 发表于 2023-8-15 17:04
尊敬的Clandy17大佬:
我试着按照您说的运行外部稳态求解m文件,寻找没有求出来的变量稳态,但是在排查时 ...
我不是什么大佬哈,也不太可能很仔细地看你的内容,而且你调用的broyden工具我手上也没有。但是有一条建议,就是你一定要认真再认真检查你的每一行代码,比如你estimate_bygdp.mod文件里的第54、55行是不是应该放在第51、52行的前面。这种小错误是你在检查稳态结果时非常容易就能发现的,类似的东西一定要极力避免,得先搞掉这种最基本的bug,才能继续为其他问题找原因,否则事倍功半。沉下心慢慢来,不要急。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
扫码
拉您进交流群
GMT+8, 2026-1-28 03:55