dynare/matlab/doc/olr.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 &copy; 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> &gt; <a href="index.html">.</a> &gt; olr.m</div>
<!--<table width="100%"><tr><td align="left"><a href="../index.html"><img alt="<" border="0" src="../left.png">&nbsp;Master index</a></td>
<td align="right"><a href="index.html">Index for .&nbsp;<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 &amp; ~isempty(options_.periods) &amp; 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) &lt;= 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 &amp; options_.simul == 0 &amp; 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 &lt; 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 &lt; 13 &amp; options_.irf &gt; 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 &lt;= 4
0095 nr = 2;
0096 nc = 2;
0097 <span class="keyword">elseif</span> n &lt;= 6
0098 nr = 2;
0099 nc = 3;
0100 <span class="keyword">elseif</span> n &lt;= 9
0101 nr = 3;
0102 nc = 3;
0103 <span class="keyword">elseif</span> n &lt;= 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),:)) &gt; 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> &copy; 2003</address>
</body>
</html>