179 lines
13 KiB
HTML
179 lines
13 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
"http://www.w3.org/TR/REC-html40/loose.dtd">
|
|
<html>
|
|
<head>
|
|
<title>Description of olr</title>
|
|
<meta name="keywords" content="olr">
|
|
<meta name="description" content="Copyright (C) 2001 Michel Juillard">
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<meta name="generator" content="m2html © 2003 Guillaume Flandin">
|
|
<meta name="robots" content="index, follow">
|
|
<link type="text/css" rel="stylesheet" href="../m2html.css">
|
|
</head>
|
|
<body>
|
|
<a name="_top"></a>
|
|
<div><a href="../index.html">Home</a> > <a href="index.html">.</a> > olr.m</div>
|
|
|
|
<!--<table width="100%"><tr><td align="left"><a href="../index.html"><img alt="<" border="0" src="../left.png"> Master index</a></td>
|
|
<td align="right"><a href="index.html">Index for . <img alt=">" border="0" src="../right.png"></a></td></tr></table>-->
|
|
|
|
<h1>olr
|
|
</h1>
|
|
|
|
<h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
|
|
<div class="box"><strong>Copyright (C) 2001 Michel Juillard</strong></div>
|
|
|
|
<h2><a name="_synopsis"></a>SYNOPSIS <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
|
|
<div class="box"><strong>function olr(var_list,olr_inst,obj_var,W) </strong></div>
|
|
|
|
<h2><a name="_description"></a>DESCRIPTION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
|
|
<div class="fragment"><pre class="comment"> Copyright (C) 2001 Michel Juillard</pre></div>
|
|
|
|
<!-- crossreference -->
|
|
<h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
|
|
This function calls:
|
|
<ul style="list-style-image:url(../matlabicon.gif)">
|
|
<li><a href="disp_dr.html" class="code" title="function disp_dr(dr,order,var_list)">disp_dr</a> Copyright (C) 2001 Michel Juillard</li><li><a href="disp_moments.html" class="code" title="function disp_moments(y,var_list)">disp_moments</a> Copyright (C) 2001 Michel Juillard</li><li><a href="disp_th_moments.html" class="code" title="function disp_th_moments(dr,var_list)">disp_th_moments</a> Copyright (C) 2001 Michel Juillard</li><li><a href="dyn2vec.html" class="code" title="function [z,zss]=dyn2vec(s1,s2);">dyn2vec</a> Copyright (C) 2001 Michel Juillard</li><li><a href="irf.html" class="code" title="function y = irf(dr, e1, long, drop, replic, iorder)">irf</a> </li><li><a href="make_ex_.html" class="code" title="function make_ex_">make_ex_</a> Copyright (C) 2001 Michel Juillard</li><li><a href="olr1.html" class="code" title="function dr = olr1(ys,algo,olr_inst,bet,obj_var,W)">olr1</a> Copyright (C) 2001 Michel Juillard</li><li><a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a> </li><li><a href="simult.html" class="code" title="function y_=simult(ys, dr)">simult</a> Copyright (C) 2001 Michel Juillard</li><li><a href="table.html" class="code" title="function table(title,headers,labels,values,label_width,val_width,val_precis)">table</a> Copyright (C) 2002 Michel Juillard</li></ul>
|
|
This function is called by:
|
|
<ul style="list-style-image:url(../matlabicon.gif)">
|
|
</ul>
|
|
<!-- crossreference -->
|
|
|
|
|
|
<h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
|
|
<div class="fragment"><pre>0001 <span class="comment">% Copyright (C) 2001 Michel Juillard</span>
|
|
0002 <span class="comment">%</span>
|
|
0003 <a name="_sub0" href="#_subfunctions" class="code">function olr(var_list,olr_inst,obj_var,W)</a>
|
|
0004 <span class="keyword">global</span> M_ options_ oo_
|
|
0005
|
|
0006 options_.order = 1;
|
|
0007 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'ar'</span>,5);
|
|
0008 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'irf'</span>,40);
|
|
0009 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'dr_algo'</span>,0);
|
|
0010 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'simul_algo'</span>,0);
|
|
0011 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'drop'</span>,100);
|
|
0012 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'replic'</span>,1);
|
|
0013 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'nomoments'</span>,0);
|
|
0014 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'nocorr'</span>,0);
|
|
0015 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'simul_seed'</span>,[]);
|
|
0016 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'hp_filter'</span>,0);
|
|
0017 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'hp_ngrid'</span>,512);
|
|
0018 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'simul'</span>,0);
|
|
0019 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'olr_beta'</span>,1);
|
|
0020 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'periods'</span>,1);
|
|
0021 <span class="keyword">if</span> options_.simul & ~isempty(options_.periods) & options_.periods == 0
|
|
0022 options_.periods = options_.periods;
|
|
0023 <span class="keyword">end</span>
|
|
0024
|
|
0025 options_.periods = max(options_.periods,1);
|
|
0026
|
|
0027 <a href="make_ex_.html" class="code" title="function make_ex_">make_ex_</a>;
|
|
0028
|
|
0029 oo_.dr=<a href="olr1.html" class="code" title="function dr = olr1(ys,algo,olr_inst,bet,obj_var,W)">olr1</a>(oo_.steady_state,options_.dr_algo,olr_inst,options_.olr_beta,obj_var,W);
|
|
0030
|
|
0031 disp(<span class="string">' '</span>)
|
|
0032 disp(<span class="string">'OPTIMAL LINEAR REGULATOR'</span>)
|
|
0033 disp(<span class="string">' '</span>)
|
|
0034 disp(<span class="string">'MODEL SUMMARY'</span>)
|
|
0035 disp(<span class="string">' '</span>)
|
|
0036 disp([<span class="string">' Number of variables: '</span> int2str(M_.endo_nbr-size(olr_inst,1))])
|
|
0037 disp([<span class="string">' Number of stochastic shocks: '</span> int2str(M_.exo_nbr)])
|
|
0038 disp([<span class="string">' Number of instruments '</span> int2str(size(olr_inst,1))])
|
|
0039 <span class="comment">% disp([' Number of state variables: ' ...</span>
|
|
0040 <span class="comment">% int2str(length(find(oo_.dr.kstate(:,2) <= M_.maximum_lag+1)))])</span>
|
|
0041 <span class="comment">% disp([' Number of jumpers: ' ...</span>
|
|
0042 <span class="comment">% int2str(length(find(oo_.dr.kstate(:,2) == M_.maximum_lag+2)))])</span>
|
|
0043 disp([<span class="string">' Number of static variables: '</span> int2str(oo_.dr.nstatic)])
|
|
0044 my_title=<span class="string">'MATRIX OF COVARIANCE OF EXOGENOUS SHOCKS'</span>;
|
|
0045 labels = deblank(M_.exo_name);
|
|
0046 headers = strvcat(<span class="string">'Variables'</span>,labels);
|
|
0047 lh = size(labels,2)+2;
|
|
0048 <a href="table.html" class="code" title="function table(title,headers,labels,values,label_width,val_width,val_precis)">table</a>(my_title,headers,labels,M_.Sigma_e,lh,10,6);
|
|
0049 disp(<span class="string">' '</span>)
|
|
0050 <a href="disp_dr.html" class="code" title="function disp_dr(dr,order,var_list)">disp_dr</a>(oo_.dr,options_.order,var_list);
|
|
0051 <span class="keyword">if</span> options_.order == 1 & options_.simul == 0 & options_.nomoments == 0
|
|
0052 <a href="disp_th_moments.html" class="code" title="function disp_th_moments(dr,var_list)">disp_th_moments</a>(oo_.dr,var_list);
|
|
0053 <span class="keyword">elseif</span> options_.simul == 1 | options_.nomoments == 0
|
|
0054 <span class="keyword">if</span> options_.periods == 0
|
|
0055 error(<span class="string">'OLR error: number of periods for the simulation isn''t specified'</span>)
|
|
0056 <span class="keyword">end</span>
|
|
0057 <span class="keyword">if</span> options_.periods < options_.drop
|
|
0058 disp([<span class="string">'OLR error: The horizon of simulation is shorter'</span> <span class="keyword">...</span>
|
|
0059 <span class="string">' than the number of observations to be DROPed'</span>])
|
|
0060 <span class="keyword">return</span>
|
|
0061 <span class="keyword">end</span>
|
|
0062
|
|
0063 oo_.y_simul = <a href="simult.html" class="code" title="function y_=simult(ys, dr)">simult</a>(repmat(oo_.dr.ys,1,M_.maximum_lag),oo_.dr);
|
|
0064 <a href="dyn2vec.html" class="code" title="function [z,zss]=dyn2vec(s1,s2);">dyn2vec</a>;
|
|
0065 <span class="keyword">if</span> options_.nomoments == 0
|
|
0066 <a href="disp_moments.html" class="code" title="function disp_moments(y,var_list)">disp_moments</a>(oo_.y_simul,var_list);
|
|
0067 <span class="keyword">end</span>
|
|
0068 <span class="keyword">end</span>
|
|
0069
|
|
0070 n = size(var_list,1);
|
|
0071 <span class="keyword">if</span> n == 0
|
|
0072 n = length(oo_.dr.order_var);
|
|
0073 ivar = [1:n]';
|
|
0074 var_list = M_.endo_names;
|
|
0075 <span class="keyword">else</span>
|
|
0076 ivar=zeros(n,1);
|
|
0077 <span class="keyword">for</span> i=1:n
|
|
0078 i_tmp = strmatch(var_list(i,:),M_.endo_names,<span class="string">'exact'</span>);
|
|
0079 <span class="keyword">if</span> isempty(i_tmp)
|
|
0080 error ([<span class="string">'One of the specified variables does not exist'</span>]) ;
|
|
0081 <span class="keyword">else</span>
|
|
0082 ivar(i) = i_tmp;
|
|
0083 <span class="keyword">end</span>
|
|
0084 <span class="keyword">end</span>
|
|
0085 <span class="keyword">end</span>
|
|
0086
|
|
0087 <span class="keyword">if</span> n < 13 & options_.irf > 0
|
|
0088 <span class="keyword">if</span> n == 1
|
|
0089 nr = 1;
|
|
0090 nc = 1;
|
|
0091 <span class="keyword">elseif</span> n == 2
|
|
0092 nr = 1;
|
|
0093 nc = 2;
|
|
0094 <span class="keyword">elseif</span> n <= 4
|
|
0095 nr = 2;
|
|
0096 nc = 2;
|
|
0097 <span class="keyword">elseif</span> n <= 6
|
|
0098 nr = 2;
|
|
0099 nc = 3;
|
|
0100 <span class="keyword">elseif</span> n <= 9
|
|
0101 nr = 3;
|
|
0102 nc = 3;
|
|
0103 <span class="keyword">elseif</span> n <= 12
|
|
0104 nr = 3;
|
|
0105 nc = 4;
|
|
0106 <span class="keyword">end</span>
|
|
0107 olditer = options_.periods;
|
|
0108 <span class="keyword">if</span> options_.order == 1
|
|
0109 options_.replic = 1;
|
|
0110 <span class="keyword">else</span>
|
|
0111 <span class="keyword">if</span> options_.replic == 0
|
|
0112 options_.replic = 50;
|
|
0113 <span class="keyword">end</span>
|
|
0114 <span class="keyword">end</span>
|
|
0115 <span class="keyword">for</span> i = 1:M_.exo_nbr
|
|
0116 figure(<span class="string">'Name'</span>,[<span class="string">'Shock to '</span> M_.exo_name(i,:)]);
|
|
0117 y=<a href="irf.html" class="code" title="function y = irf(dr, e1, long, drop, replic, iorder)">irf</a>(oo_.dr,M_.exo_name(i,:),sqrt(M_.Sigma_e(i,i)), options_.irf, options_.drop, options_.replic, options_.order);
|
|
0118 m = 1;
|
|
0119 <span class="keyword">for</span> j = 1:n
|
|
0120 <span class="keyword">if</span> max(y(ivar(j),:))-min(y(ivar(j),:)) > 1e-10
|
|
0121 subplot(nr,nc,m);
|
|
0122 plot([y(ivar(j),:)']);
|
|
0123 title(var_list(j,:),<span class="string">'Interpreter'</span>,<span class="string">'none'</span>);
|
|
0124 assignin(<span class="string">'base'</span>,[deblank(var_list(j,:)) <span class="string">'_'</span> deblank(M_.exo_name(i,:))],y(ivar(j),:)');
|
|
0125 m = m + 1;
|
|
0126 <span class="keyword">end</span>
|
|
0127 <span class="keyword">end</span>
|
|
0128
|
|
0129 <span class="keyword">end</span>
|
|
0130 options_.periods = olditer;
|
|
0131 <span class="keyword">end</span>
|
|
0132
|
|
0133 <span class="comment">% 05/21/03 MJ</span></pre></div>
|
|
<hr><address>Generated on Fri 16-Jun-2006 09:09:06 by <strong><a href="http://www.artefact.tk/software/matlab/m2html/">m2html</a></strong> © 2003</address>
|
|
</body>
|
|
</html> |