全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
5785 7
2014-12-06
请问各位大牛,怎样用MATLAB模拟动态经济学中Ramsey模型消费和投资积累的最优路径?谢谢
二维码

扫码加我 拉你入群

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

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

全部回复
2014-12-6 18:10:22
下载一个compecon工具箱。
根据一阶条件写一个m文件:
function [out1,out2,out3] = mfdp07(flag,s,x,e,alpha,beta,gamma);
switch flag
case 'b'; % BOUND FUNCTION
  out1 = zeros(size(s));                 % xl
  out2 = 0.99*s;                         % xu
case 'f'; % REWARD FUNCTION
  out1 = ((s-x).^(1-alpha))/(1-alpha);   % f
  out2 = -(s-x).^(-alpha);               % fx
  out3 = -alpha*(s-x).^(-alpha-1);       % fxx
case 'g'; % STATE TRANSITION FUNCTION
  out1 = gamma*x + e.*x.^beta;           % g
  out2 = gamma + beta*e.*x.^(beta-1);    % gx
  out3 = (beta-1)*beta*e.*x.^(beta-2);   % gxx
end

命名ss

然后再开一个m文件:
disp('DEMDP07 OPTIMAL GROWTH MODEL')
  close all  

% ENTER MODEL PARAMETERS
  alpha =  0.2;                                                                                                                % utility parameter
  beta  =  0.5;                                                                                                                % production elasticity
  gamma =  0.9;                                                                                                                % capital survival rate
  sigma =  0.1;                                                                                                                % production shock volatility
  delta =  0.9;                                                                                                                % discount factor

% COMPUTE SHOCK DISTRIBUTION
  m = 3;                                                                                                                      % number of shocks
  [e,w] = qnwlogn(m,-sigma^2/2,sigma^2);           % shocks and proabilities

% PACK MODEL STRUCTURE
  clear model
  model.func = 'ss';                                                                  % model functions
  model.discount = delta;                                                                        % discount factor
  model.e = e;                                                                                                                % shocks
  model.w = w;                                                                                                                % probabilities
  model.params = {alpha beta gamma};            % other parameters
  
% DEFINE APPROXIMATION SPACE
  n     = 10;                                                                                                                  % degree of approximation
  smin  =  5;                                                                                                                  % minimum state
  smax  = 10;                                                                                                                  % maximum state
  fspace = fundefn('cheb',n,smin,smax);   % function space
  snodes = funnode(fspace);                                                    % state collocaton nodes
  
% COMPUTE CERTAINTY-EQUIVALENT STEADY-STATE
  estar = 1;                                                                                           % certainty equivalent shock
  xstar = ((1-delta*gamma)/(delta*beta))^(1/(beta-1)); % steady-state action
  sstar = gamma*xstar + xstar^beta;                                                                     % steady-state state
  pstar = (sstar-xstar).^(-alpha);                     % steady state shadow price  

% CHECK MODEL DERIVATIVES AT CE STEADY STATE
  dpcheck(model,sstar,xstar,estar);

% COMPUTE L-Q APPROXIMATION
  [vlq,xlq] = lqapprox(model,snodes,sstar,xstar,pstar);  
  
% SOLVE BELLMAN EQUATION
  [c,s,v,x,resid] = dpsolve(model,fspace,snodes,vlq,xlq);
   
% COMPUTE L-Q APPROXIMATION FOR PLOTTING
  [vlq,xlq,plq] = lqapprox(model,s,sstar,xstar,pstar);
  
% PLOT OPTIMAL POLICY

  figure(1);
  plot(s,x./s,s,xlq./s,sstar,xstar/sstar,'*k');
  title('Optimal Investment Policy');
  legend('Chebyshev','L-Q');
  xlabel('Wealth');
  ylabel('Investment (% of Wealth)');
得到财富与投资的路径及均衡点。
这是最优增长例题的程序,希望对你有帮助。
二维码

扫码加我 拉你入群

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

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

2014-12-7 12:29:43
恶即斩 发表于 2014-12-6 18:10
下载一个compecon工具箱。
根据一阶条件写一个m文件:
function [out1,out2,out3] = mfdp07(flag,s,x,e,a ...
好的,我试试,十分感谢!
二维码

扫码加我 拉你入群

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

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

2015-8-16 21:00:41
% COMPUTE SHOCK DISTRIBUTION
  m = 3;                                                                                                                      % number of shocks
请问m=3代表什么意思啊?这个是怎么确定的啊?
二维码

扫码加我 拉你入群

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

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

2015-10-15 11:38:23
厉害牛
二维码

扫码加我 拉你入群

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

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

2017-5-2 23:26:47
恶即斩 发表于 2014-12-6 18:10
下载一个compecon工具箱。
根据一阶条件写一个m文件:
function [out1,out2,out3] = mfdp07(flag,s,x,e,a ...
可以麻烦把结果截屏一下么?感激不尽感激不尽!!谢谢你!!
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群