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)
|
||||
|
||||
@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
|
||||
Splits the model into recursive blocks and solves each block in turn
|
||||
using the same solver as value @code{1}
|
||||
|
||||
@item 3
|
||||
Use Chris Sims' solver
|
||||
|
||||
@item 4
|
||||
Similar to value @code{2}, except that it deals differently with
|
||||
nearly singular Jacobian
|
||||
Same as value @code{2}, except that it does not try to adapt the
|
||||
search direction when the Jacobian is nearly singular
|
||||
|
||||
@item 5
|
||||
Newton algorithm with a sparse Gaussian elimination (SPE) (requires
|
||||
|
|
|
@ -140,7 +140,7 @@ switch nargin
|
|||
ts.vobs = length(varlist);
|
||||
ts.nobs = size(data,1);
|
||||
if isempty(tex)
|
||||
ts.tex = name2tex(varlist,1);
|
||||
ts.tex = name2tex(varlist);
|
||||
else
|
||||
ts.tex = tex;
|
||||
end
|
||||
|
@ -150,7 +150,7 @@ switch nargin
|
|||
ts.freq = 1;
|
||||
ts.init = dates(1,1);
|
||||
ts.name = default_name(ts.vobs);
|
||||
ts.tex = name2tex(ts.name,1);
|
||||
ts.tex = name2tex(ts.name);
|
||||
end
|
||||
case {2,3,4}
|
||||
a = varargin{1};
|
||||
|
|
|
@ -174,7 +174,7 @@ if withtime
|
|||
if isnumeric(tmp) && isint(tmp)
|
||||
tmp = [num2str(tmp) 'Y'];
|
||||
end
|
||||
if isdate(tmp)
|
||||
if ~isdate(tmp)
|
||||
error('load_csv_file_data:: Formatting error. I can''t read the dates!')
|
||||
end
|
||||
init = dates(tmp);
|
||||
|
|
|
@ -64,7 +64,7 @@ end
|
|||
|
||||
x = 1:1:dd.ndat;
|
||||
xlim([1 dd.ndat]);
|
||||
xlabels = getDatesCellStringArray(dd);
|
||||
xlabels = strings(dd);
|
||||
|
||||
if ~isempty(o.yrange)
|
||||
ylim(o.yrange);
|
||||
|
@ -81,10 +81,10 @@ if o.showZeroline
|
|||
end
|
||||
|
||||
if ~isempty(o.shade)
|
||||
x1 = find(strcmpi(o.shade(1).format(), xlabels));
|
||||
x2 = find(strcmpi(o.shade(o.shade.ndat).format(), xlabels));
|
||||
x1 = find(strcmpi(date2string(o.shade(1)), xlabels));
|
||||
x2 = find(strcmpi(date2string(o.shade(end)), xlabels));
|
||||
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.']);
|
||||
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');
|
||||
|
||||
%%
|
||||
if isempty(xrange) || xrange == o.data.time
|
||||
if isempty(xrange) || xrange == o.data.dates
|
||||
ds = o.data;
|
||||
else
|
||||
ds = o.data(xrange);
|
||||
|
|
|
@ -19,5 +19,5 @@ function dd = getRange(o)
|
|||
% along with Dynare. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
assert(~isempty(o.data) && size(o.data, 2) == 1);
|
||||
dd = o.data.time;
|
||||
dd = o.data.dates;
|
||||
end
|
|
@ -97,7 +97,7 @@ end
|
|||
|
||||
% Calculate and display annual averages
|
||||
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);
|
||||
fprintf(fid, '&');
|
||||
if o.tableShowMarkers
|
||||
|
|
|
@ -86,8 +86,8 @@ assert(isempty(o.data) || isa(o.data, 'dseries'), ...
|
|||
'@report_table.report_table: data must be a dseries');
|
||||
assert(isempty(o.seriesToUse) || iscellstr(o.seriesToUse), ...
|
||||
'@report_table.report_table: seriesToUse must be a cell array of string(s)');
|
||||
assert(isempty(o.vlineAfter) || isa(o.vlineAfter, 'dynDate'), ...
|
||||
'@report_table.report_table: vlineAfter must be a dynDate');
|
||||
assert(isempty(o.vlineAfter) || isa(o.vlineAfter, 'dates'), ...
|
||||
'@report_table.report_table: vlineAfter must be a dates');
|
||||
if o.showVlines
|
||||
o.vlineAfter = '';
|
||||
end
|
||||
|
|
|
@ -19,8 +19,8 @@ function dd = getMaxRange(o)
|
|||
% along with Dynare. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
ne = numSeriesElements(o);
|
||||
ddmin = dynDate();
|
||||
ddmax = dynDate();
|
||||
ddmin = dates();
|
||||
ddmax = dates();
|
||||
for i=1:ne
|
||||
a = getSeriesElements(o, i);
|
||||
ddt = a.getRange();
|
||||
|
|
|
@ -68,7 +68,7 @@ for i=1:length(fields)
|
|||
elseif isobject(val)
|
||||
if isa(val, 'dates')
|
||||
fprintf('<dates: %s, ..., %s>', ...
|
||||
val(1).format, val(end).format);
|
||||
date2string(val(1)), date2string(val(end)));
|
||||
elseif isa(val, 'dseries')
|
||||
if numel(val) == 1
|
||||
fprintf('<dseries: %s>', val.name{1});
|
||||
|
|
|
@ -31,7 +31,11 @@ if info
|
|||
end
|
||||
end
|
||||
|
||||
tex = regexprep(name, '_', '\\_');
|
||||
if isoctave
|
||||
tex = regexprep(name, '_', '\_');
|
||||
else
|
||||
tex = regexprep(name, '_', '\\_');
|
||||
end
|
||||
|
||||
if info
|
||||
for i=1:nn
|
||||
|
|
|
@ -74,6 +74,9 @@ for i=1:nn
|
|||
fprintf(tid,['try\n']);
|
||||
for j=b1(i):b2(i)
|
||||
str = sprintf('%s \n',file{j}(4:end));
|
||||
if isoctave
|
||||
str = regexprep(str, '%', '%%');
|
||||
end
|
||||
fprintf(tid,str);
|
||||
end
|
||||
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/>.
|
||||
|
||||
|
||||
larange= dynDate('2007'):dynDate('2014');
|
||||
arange = dynDate('2012'):dynDate('2014');
|
||||
trange = dynDate('2012q2'):dynDate('2014q4');
|
||||
prange = dynDate('2007q1'):dynDate('2013q4');
|
||||
forecast_date = dynDate('2012q2');
|
||||
larange= dates('2007a'):dates('2014a');
|
||||
arange = dates('2012a'):dates('2014a');
|
||||
trange = dates('2012q2'):dates('2014q4');
|
||||
prange = dates('2007q1'):dates('2013q4');
|
||||
forecast_date = dates('2012q2');
|
||||
srange = forecast_date:prange(end);
|
||||
|
||||
shortNames = {'US', 'EU', 'JA', 'EA6', 'LA6', 'RC6'};
|
||||
|
@ -40,13 +40,13 @@ rep = rep.addVspace();
|
|||
|
||||
% Table 1
|
||||
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 = rep.addVspace('number', 2);
|
||||
|
||||
% Table 2
|
||||
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);
|
||||
|
||||
|
||||
|
@ -58,13 +58,13 @@ rep = rep.addVspace();
|
|||
|
||||
% Table 1
|
||||
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 = rep.addVspace('number', 2);
|
||||
|
||||
% Table 2
|
||||
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);
|
||||
|
||||
|
||||
|
@ -76,13 +76,13 @@ rep = rep.addVspace();
|
|||
|
||||
% Table 1
|
||||
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 = rep.addVspace('number', 2);
|
||||
|
||||
% Table 2
|
||||
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);
|
||||
|
||||
|
||||
|
@ -94,13 +94,13 @@ rep = rep.addVspace();
|
|||
|
||||
% Table 1
|
||||
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 = rep.addVspace('number', 2);
|
||||
|
||||
% Table 2
|
||||
rep = rep.addTable('title', 'Output Gap', 'range', larange, ...
|
||||
'vlineAfter', dynDate('2011'));
|
||||
'vlineAfter', dates('2011y'));
|
||||
db_a = db_a.tex_rename('Y_WORLD', 'World');
|
||||
rep = rep.addSeries('data', db_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', ...
|
||||
'titleFormat', '\large\bfseries');
|
||||
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
|
||||
|
||||
%% Residual Reports
|
||||
|
@ -129,14 +129,14 @@ for i=1:length(shortNames)
|
|||
rep = rep.addPage('title', 'Residual Report Jan1 vs Jan2', ...
|
||||
'titleFormat', '\large\bfseries');
|
||||
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
|
||||
|
||||
% Commodities
|
||||
rep = rep.addPage('title', 'Residual Report Jan1 vs Jan2', ...
|
||||
'titleFormat', '\large\bfseries');
|
||||
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
|
||||
%Page 1
|
||||
|
|
Loading…
Reference in New Issue