Merge branch 'master' into fix-mcmc-algorithm
commit
b8c6e4bb01
|
@ -2635,17 +2635,19 @@ Use @code{fsolve} (under MATLAB, only available if you have the
|
||||||
Optimization Toolbox; always available under Octave)
|
Optimization Toolbox; always available under Octave)
|
||||||
|
|
||||||
@item 1
|
@item 1
|
||||||
Use Dynare's own nonlinear equation solver
|
Use Dynare's own nonlinear equation solver (a Newton-like algorithm with
|
||||||
|
line-search)
|
||||||
|
|
||||||
@item 2
|
@item 2
|
||||||
Splits the model into recursive blocks and solves each block in turn
|
Splits the model into recursive blocks and solves each block in turn
|
||||||
|
using the same solver as value @code{1}
|
||||||
|
|
||||||
@item 3
|
@item 3
|
||||||
Use Chris Sims' solver
|
Use Chris Sims' solver
|
||||||
|
|
||||||
@item 4
|
@item 4
|
||||||
Similar to value @code{2}, except that it deals differently with
|
Same as value @code{2}, except that it does not try to adapt the
|
||||||
nearly singular Jacobian
|
search direction when the Jacobian is nearly singular
|
||||||
|
|
||||||
@item 5
|
@item 5
|
||||||
Newton algorithm with a sparse Gaussian elimination (SPE) (requires
|
Newton algorithm with a sparse Gaussian elimination (SPE) (requires
|
||||||
|
|
|
@ -140,7 +140,7 @@ switch nargin
|
||||||
ts.vobs = length(varlist);
|
ts.vobs = length(varlist);
|
||||||
ts.nobs = size(data,1);
|
ts.nobs = size(data,1);
|
||||||
if isempty(tex)
|
if isempty(tex)
|
||||||
ts.tex = name2tex(varlist,1);
|
ts.tex = name2tex(varlist);
|
||||||
else
|
else
|
||||||
ts.tex = tex;
|
ts.tex = tex;
|
||||||
end
|
end
|
||||||
|
@ -150,7 +150,7 @@ switch nargin
|
||||||
ts.freq = 1;
|
ts.freq = 1;
|
||||||
ts.init = dates(1,1);
|
ts.init = dates(1,1);
|
||||||
ts.name = default_name(ts.vobs);
|
ts.name = default_name(ts.vobs);
|
||||||
ts.tex = name2tex(ts.name,1);
|
ts.tex = name2tex(ts.name);
|
||||||
end
|
end
|
||||||
case {2,3,4}
|
case {2,3,4}
|
||||||
a = varargin{1};
|
a = varargin{1};
|
||||||
|
|
|
@ -174,7 +174,7 @@ if withtime
|
||||||
if isnumeric(tmp) && isint(tmp)
|
if isnumeric(tmp) && isint(tmp)
|
||||||
tmp = [num2str(tmp) 'Y'];
|
tmp = [num2str(tmp) 'Y'];
|
||||||
end
|
end
|
||||||
if isdate(tmp)
|
if ~isdate(tmp)
|
||||||
error('load_csv_file_data:: Formatting error. I can''t read the dates!')
|
error('load_csv_file_data:: Formatting error. I can''t read the dates!')
|
||||||
end
|
end
|
||||||
init = dates(tmp);
|
init = dates(tmp);
|
||||||
|
|
|
@ -64,7 +64,7 @@ end
|
||||||
|
|
||||||
x = 1:1:dd.ndat;
|
x = 1:1:dd.ndat;
|
||||||
xlim([1 dd.ndat]);
|
xlim([1 dd.ndat]);
|
||||||
xlabels = getDatesCellStringArray(dd);
|
xlabels = strings(dd);
|
||||||
|
|
||||||
if ~isempty(o.yrange)
|
if ~isempty(o.yrange)
|
||||||
ylim(o.yrange);
|
ylim(o.yrange);
|
||||||
|
@ -81,10 +81,10 @@ if o.showZeroline
|
||||||
end
|
end
|
||||||
|
|
||||||
if ~isempty(o.shade)
|
if ~isempty(o.shade)
|
||||||
x1 = find(strcmpi(o.shade(1).format(), xlabels));
|
x1 = find(strcmpi(date2string(o.shade(1)), xlabels));
|
||||||
x2 = find(strcmpi(o.shade(o.shade.ndat).format(), xlabels));
|
x2 = find(strcmpi(date2string(o.shade(end)), xlabels));
|
||||||
assert(~isempty(x1) && ~isempty(x2), ['@graph.createGraph: either ' ...
|
assert(~isempty(x1) && ~isempty(x2), ['@graph.createGraph: either ' ...
|
||||||
o.shade(1).format() ' or ' o.shade(o.shade.ndat).format() ' is not in the date ' ...
|
date2string(o.shade(1)) ' or ' date2string(o.shade(end)) ' is not in the date ' ...
|
||||||
'range of data selected.']);
|
'range of data selected.']);
|
||||||
yrange = get(gca, 'YLim');
|
yrange = get(gca, 'YLim');
|
||||||
|
|
||||||
|
|
|
@ -64,7 +64,7 @@ assert(isempty(xrange) || isa(xrange, 'dates'));
|
||||||
assert(isfloat(o.zerotol), '@report_series.write: zerotol must be a float');
|
assert(isfloat(o.zerotol), '@report_series.write: zerotol must be a float');
|
||||||
|
|
||||||
%%
|
%%
|
||||||
if isempty(xrange) || xrange == o.data.time
|
if isempty(xrange) || xrange == o.data.dates
|
||||||
ds = o.data;
|
ds = o.data;
|
||||||
else
|
else
|
||||||
ds = o.data(xrange);
|
ds = o.data(xrange);
|
||||||
|
|
|
@ -19,5 +19,5 @@ function dd = getRange(o)
|
||||||
% along with Dynare. If not, see <http://www.gnu.org/licenses/>.
|
% along with Dynare. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
assert(~isempty(o.data) && size(o.data, 2) == 1);
|
assert(~isempty(o.data) && size(o.data, 2) == 1);
|
||||||
dd = o.data.time;
|
dd = o.data.dates;
|
||||||
end
|
end
|
|
@ -97,7 +97,7 @@ end
|
||||||
|
|
||||||
% Calculate and display annual averages
|
% Calculate and display annual averages
|
||||||
for i=1:length(yrsForAvgs)
|
for i=1:length(yrsForAvgs)
|
||||||
slice = o.data(dynDate([num2str(yrsForAvgs(i)) 'q1']):dynDate([num2str(yrsForAvgs(i)) 'q4']));
|
slice = o.data(dates([num2str(yrsForAvgs(i)) 'q1']):dates([num2str(yrsForAvgs(i)) 'q4']));
|
||||||
avg = sum(slice.data)/size(slice);
|
avg = sum(slice.data)/size(slice);
|
||||||
fprintf(fid, '&');
|
fprintf(fid, '&');
|
||||||
if o.tableShowMarkers
|
if o.tableShowMarkers
|
||||||
|
|
|
@ -86,8 +86,8 @@ assert(isempty(o.data) || isa(o.data, 'dseries'), ...
|
||||||
'@report_table.report_table: data must be a dseries');
|
'@report_table.report_table: data must be a dseries');
|
||||||
assert(isempty(o.seriesToUse) || iscellstr(o.seriesToUse), ...
|
assert(isempty(o.seriesToUse) || iscellstr(o.seriesToUse), ...
|
||||||
'@report_table.report_table: seriesToUse must be a cell array of string(s)');
|
'@report_table.report_table: seriesToUse must be a cell array of string(s)');
|
||||||
assert(isempty(o.vlineAfter) || isa(o.vlineAfter, 'dynDate'), ...
|
assert(isempty(o.vlineAfter) || isa(o.vlineAfter, 'dates'), ...
|
||||||
'@report_table.report_table: vlineAfter must be a dynDate');
|
'@report_table.report_table: vlineAfter must be a dates');
|
||||||
if o.showVlines
|
if o.showVlines
|
||||||
o.vlineAfter = '';
|
o.vlineAfter = '';
|
||||||
end
|
end
|
||||||
|
|
|
@ -19,8 +19,8 @@ function dd = getMaxRange(o)
|
||||||
% along with Dynare. If not, see <http://www.gnu.org/licenses/>.
|
% along with Dynare. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
ne = numSeriesElements(o);
|
ne = numSeriesElements(o);
|
||||||
ddmin = dynDate();
|
ddmin = dates();
|
||||||
ddmax = dynDate();
|
ddmax = dates();
|
||||||
for i=1:ne
|
for i=1:ne
|
||||||
a = getSeriesElements(o, i);
|
a = getSeriesElements(o, i);
|
||||||
ddt = a.getRange();
|
ddt = a.getRange();
|
||||||
|
|
|
@ -68,7 +68,7 @@ for i=1:length(fields)
|
||||||
elseif isobject(val)
|
elseif isobject(val)
|
||||||
if isa(val, 'dates')
|
if isa(val, 'dates')
|
||||||
fprintf('<dates: %s, ..., %s>', ...
|
fprintf('<dates: %s, ..., %s>', ...
|
||||||
val(1).format, val(end).format);
|
date2string(val(1)), date2string(val(end)));
|
||||||
elseif isa(val, 'dseries')
|
elseif isa(val, 'dseries')
|
||||||
if numel(val) == 1
|
if numel(val) == 1
|
||||||
fprintf('<dseries: %s>', val.name{1});
|
fprintf('<dseries: %s>', val.name{1});
|
||||||
|
|
|
@ -31,7 +31,11 @@ if info
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
tex = regexprep(name, '_', '\\_');
|
if isoctave
|
||||||
|
tex = regexprep(name, '_', '\_');
|
||||||
|
else
|
||||||
|
tex = regexprep(name, '_', '\\_');
|
||||||
|
end
|
||||||
|
|
||||||
if info
|
if info
|
||||||
for i=1:nn
|
for i=1:nn
|
||||||
|
|
|
@ -74,6 +74,9 @@ for i=1:nn
|
||||||
fprintf(tid,['try\n']);
|
fprintf(tid,['try\n']);
|
||||||
for j=b1(i):b2(i)
|
for j=b1(i):b2(i)
|
||||||
str = sprintf('%s \n',file{j}(4:end));
|
str = sprintf('%s \n',file{j}(4:end));
|
||||||
|
if isoctave
|
||||||
|
str = regexprep(str, '%', '%%');
|
||||||
|
end
|
||||||
fprintf(tid,str);
|
fprintf(tid,str);
|
||||||
end
|
end
|
||||||
fprintf(tid,['LOG = NaN;\n']);
|
fprintf(tid,['LOG = NaN;\n']);
|
||||||
|
|
|
@ -17,11 +17,11 @@ function runDynareReport(dc_a, dc_q, db_a, db_q)
|
||||||
% along with Dynare. If not, see <http://www.gnu.org/licenses/>.
|
% along with Dynare. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
|
||||||
larange= dynDate('2007'):dynDate('2014');
|
larange= dates('2007a'):dates('2014a');
|
||||||
arange = dynDate('2012'):dynDate('2014');
|
arange = dates('2012a'):dates('2014a');
|
||||||
trange = dynDate('2012q2'):dynDate('2014q4');
|
trange = dates('2012q2'):dates('2014q4');
|
||||||
prange = dynDate('2007q1'):dynDate('2013q4');
|
prange = dates('2007q1'):dates('2013q4');
|
||||||
forecast_date = dynDate('2012q2');
|
forecast_date = dates('2012q2');
|
||||||
srange = forecast_date:prange(end);
|
srange = forecast_date:prange(end);
|
||||||
|
|
||||||
shortNames = {'US', 'EU', 'JA', 'EA6', 'LA6', 'RC6'};
|
shortNames = {'US', 'EU', 'JA', 'EA6', 'LA6', 'RC6'};
|
||||||
|
@ -40,13 +40,13 @@ rep = rep.addVspace();
|
||||||
|
|
||||||
% Table 1
|
% Table 1
|
||||||
rep = rep.addTable('title', 'Real GDP Growth', 'range', larange, ...
|
rep = rep.addTable('title', 'Real GDP Growth', 'range', larange, ...
|
||||||
'vlineAfter', dynDate('2011'));
|
'vlineAfter', dates('2011y'));
|
||||||
rep = AnnualTable(rep, db_a, dc_a, 'PCH_GROWTH4_', larange);
|
rep = AnnualTable(rep, db_a, dc_a, 'PCH_GROWTH4_', larange);
|
||||||
rep = rep.addVspace('number', 2);
|
rep = rep.addVspace('number', 2);
|
||||||
|
|
||||||
% Table 2
|
% Table 2
|
||||||
rep = rep.addTable('title', 'Potential GDP Growth', 'range', larange, ...
|
rep = rep.addTable('title', 'Potential GDP Growth', 'range', larange, ...
|
||||||
'vlineAfter', dynDate('2011'));
|
'vlineAfter', dates('2011y'));
|
||||||
rep = AnnualTable(rep, db_a, dc_a, 'PCH_GROWTH4_BAR_', larange);
|
rep = AnnualTable(rep, db_a, dc_a, 'PCH_GROWTH4_BAR_', larange);
|
||||||
|
|
||||||
|
|
||||||
|
@ -58,13 +58,13 @@ rep = rep.addVspace();
|
||||||
|
|
||||||
% Table 1
|
% Table 1
|
||||||
rep = rep.addTable('title', 'Headline CPI Inflation', 'range', larange, ...
|
rep = rep.addTable('title', 'Headline CPI Inflation', 'range', larange, ...
|
||||||
'vlineAfter', dynDate('2011'));
|
'vlineAfter', dates('2011y'));
|
||||||
rep = AnnualTable(rep, db_a, dc_a, 'PCH_PIE4_', larange);
|
rep = AnnualTable(rep, db_a, dc_a, 'PCH_PIE4_', larange);
|
||||||
rep = rep.addVspace('number', 2);
|
rep = rep.addVspace('number', 2);
|
||||||
|
|
||||||
% Table 2
|
% Table 2
|
||||||
rep = rep.addTable('title', 'Core CPI Inflation', 'range', larange, ...
|
rep = rep.addTable('title', 'Core CPI Inflation', 'range', larange, ...
|
||||||
'vlineAfter', dynDate('2011'));
|
'vlineAfter', dates('2011y'));
|
||||||
rep = AnnualTable(rep, db_a, dc_a, 'PCH_PIEX4_', larange);
|
rep = AnnualTable(rep, db_a, dc_a, 'PCH_PIEX4_', larange);
|
||||||
|
|
||||||
|
|
||||||
|
@ -76,13 +76,13 @@ rep = rep.addVspace();
|
||||||
|
|
||||||
% Table 1
|
% Table 1
|
||||||
rep = rep.addTable('title', 'Gas Inflation', 'range', larange, ...
|
rep = rep.addTable('title', 'Gas Inflation', 'range', larange, ...
|
||||||
'vlineAfter', dynDate('2011'));
|
'vlineAfter', dates('2011y'));
|
||||||
rep = AnnualTable(rep, db_a, dc_a, 'PCH_PIE4_GAS_', larange);
|
rep = AnnualTable(rep, db_a, dc_a, 'PCH_PIE4_GAS_', larange);
|
||||||
rep = rep.addVspace('number', 2);
|
rep = rep.addVspace('number', 2);
|
||||||
|
|
||||||
% Table 2
|
% Table 2
|
||||||
rep = rep.addTable('title', 'Food Inflation', 'range', larange, ...
|
rep = rep.addTable('title', 'Food Inflation', 'range', larange, ...
|
||||||
'vlineAfter', dynDate('2011'));
|
'vlineAfter', dates('2011y'));
|
||||||
rep = AnnualTable(rep, db_a, dc_a, 'PCH_PIE4_CONSFOOD_', larange);
|
rep = AnnualTable(rep, db_a, dc_a, 'PCH_PIE4_CONSFOOD_', larange);
|
||||||
|
|
||||||
|
|
||||||
|
@ -94,13 +94,13 @@ rep = rep.addVspace();
|
||||||
|
|
||||||
% Table 1
|
% Table 1
|
||||||
rep = rep.addTable('title', 'Nominal Interest Rate', 'range', larange, ...
|
rep = rep.addTable('title', 'Nominal Interest Rate', 'range', larange, ...
|
||||||
'vlineAfter', dynDate('2011'));
|
'vlineAfter', dates('2011y'));
|
||||||
rep = AnnualTable(rep, db_a, dc_a, 'RS_', larange);
|
rep = AnnualTable(rep, db_a, dc_a, 'RS_', larange);
|
||||||
rep = rep.addVspace('number', 2);
|
rep = rep.addVspace('number', 2);
|
||||||
|
|
||||||
% Table 2
|
% Table 2
|
||||||
rep = rep.addTable('title', 'Output Gap', 'range', larange, ...
|
rep = rep.addTable('title', 'Output Gap', 'range', larange, ...
|
||||||
'vlineAfter', dynDate('2011'));
|
'vlineAfter', dates('2011y'));
|
||||||
db_a = db_a.tex_rename('Y_WORLD', 'World');
|
db_a = db_a.tex_rename('Y_WORLD', 'World');
|
||||||
rep = rep.addSeries('data', db_a{'Y_WORLD'});
|
rep = rep.addSeries('data', db_a{'Y_WORLD'});
|
||||||
delta = db_a{'Y_WORLD'}-dc_a{'Y_WORLD'};
|
delta = db_a{'Y_WORLD'}-dc_a{'Y_WORLD'};
|
||||||
|
@ -120,7 +120,7 @@ for i=1:length(shortNames)
|
||||||
rep = rep.addPage('title', 'Jan1 vs Jan2', ...
|
rep = rep.addPage('title', 'Jan1 vs Jan2', ...
|
||||||
'titleFormat', '\large\bfseries');
|
'titleFormat', '\large\bfseries');
|
||||||
rep = rep.addSection();
|
rep = rep.addSection();
|
||||||
rep = CountryTablePage(rep, shortNames{i}, longNames{i}, db_q, dc_q, trange, dynDate('2012q2'));
|
rep = CountryTablePage(rep, shortNames{i}, longNames{i}, db_q, dc_q, trange, dates('2012q2'));
|
||||||
end
|
end
|
||||||
|
|
||||||
%% Residual Reports
|
%% Residual Reports
|
||||||
|
@ -129,14 +129,14 @@ for i=1:length(shortNames)
|
||||||
rep = rep.addPage('title', 'Residual Report Jan1 vs Jan2', ...
|
rep = rep.addPage('title', 'Residual Report Jan1 vs Jan2', ...
|
||||||
'titleFormat', '\large\bfseries');
|
'titleFormat', '\large\bfseries');
|
||||||
rep = rep.addSection();
|
rep = rep.addSection();
|
||||||
rep = ResidTablePage(rep, shortNames{i}, longNames{i}, db_q, dc_q, trange, dynDate('2012q2'));
|
rep = ResidTablePage(rep, shortNames{i}, longNames{i}, db_q, dc_q, trange, dates('2012q2'));
|
||||||
end
|
end
|
||||||
|
|
||||||
% Commodities
|
% Commodities
|
||||||
rep = rep.addPage('title', 'Residual Report Jan1 vs Jan2', ...
|
rep = rep.addPage('title', 'Residual Report Jan1 vs Jan2', ...
|
||||||
'titleFormat', '\large\bfseries');
|
'titleFormat', '\large\bfseries');
|
||||||
rep = rep.addSection();
|
rep = rep.addSection();
|
||||||
rep = CommResidTablePage(rep, db_q, dc_q, trange, dynDate('2012q2'));
|
rep = CommResidTablePage(rep, db_q, dc_q, trange, dates('2012q2'));
|
||||||
|
|
||||||
%% Commodities Graphs
|
%% Commodities Graphs
|
||||||
%Page 1
|
%Page 1
|
||||||
|
|
Loading…
Reference in New Issue