dynDate -> dates in dynSeries.
parent
529a94e329
commit
66143e4749
|
@ -113,7 +113,7 @@ a.time = a.init:a.init+(a.nobs-1);
|
|||
%$
|
||||
%$ if t(1)
|
||||
%$ t(2) = dyn_assert(ts1.nobs,ts2.nobs);
|
||||
%$ t(3) = dyn_assert(ts1.init==ts2.init,1);
|
||||
%$ t(3) = dyn_assert(isequal(ts1.init,ts2.init),1);
|
||||
%$ t(4) = dyn_assert(ts1.data,[NaN(3,3); A], 1e-15);
|
||||
%$ t(5) = dyn_assert(ts2.data,[B; NaN(4,2)], 1e-15);
|
||||
%$ end
|
||||
|
@ -145,7 +145,7 @@ a.time = a.init:a.init+(a.nobs-1);
|
|||
%$
|
||||
%$ if t(1)
|
||||
%$ t(2) = dyn_assert(ts1.nobs,ts2.nobs);
|
||||
%$ t(3) = dyn_assert(ts1.init==ts2.init,1);
|
||||
%$ t(3) = dyn_assert(isequal(ts1.init,ts2.init),1);
|
||||
%$ t(4) = dyn_assert(ts1.data,A, 1e-15);
|
||||
%$ t(5) = dyn_assert(ts2.data,[B; NaN(1,2)], 1e-15);
|
||||
%$ end
|
||||
|
@ -177,7 +177,7 @@ a.time = a.init:a.init+(a.nobs-1);
|
|||
%$
|
||||
%$ if t(1)
|
||||
%$ t(2) = dyn_assert(ts1.nobs,ts2.nobs);
|
||||
%$ t(3) = dyn_assert(ts1.init==ts2.init,1);
|
||||
%$ t(3) = dyn_assert(isequal(ts1.init,ts2.init),1);
|
||||
%$ t(4) = dyn_assert(ts1.data,A, 1e-15);
|
||||
%$ t(5) = dyn_assert(ts2.data,[B; NaN(1,2)], 1e-15);
|
||||
%$ end
|
||||
|
|
|
@ -77,7 +77,7 @@ if ~isequal(numel(unique(A.tex)),numel(A.tex));
|
|||
return
|
||||
end
|
||||
|
||||
if ~eq(A.time,A.init:A.init+A.nobs)
|
||||
if ~isequal(A.time,A.init:A.init+A.nobs)
|
||||
error_flag = 1;
|
||||
if nargout>1
|
||||
message = ['dynSeries: Wrong definition of the time member in dynSeries object ''' inputname(1) '''!']:
|
||||
|
|
|
@ -36,7 +36,7 @@ switch format
|
|||
fprintf(fid,'%% File created on %s.\n',datestr(now));
|
||||
fprintf(fid,'\n');
|
||||
fprintf(fid,'FREQ__ = %s;\n',num2str(A.freq));
|
||||
fprintf(fid,'INIT__ = '' %s'';\n',A.init.format);
|
||||
fprintf(fid,'INIT__ = '' %s'';\n',date2string(A.init));
|
||||
fprintf(fid,'\n');
|
||||
fprintf(fid,'NAMES__ = {');
|
||||
for i=1:A.vobs
|
||||
|
@ -62,7 +62,7 @@ switch format
|
|||
fclose(fid);
|
||||
case 'mat'
|
||||
FREQ__ = A.freq;
|
||||
INIT__ = A.init.format;
|
||||
INIT__ = date2string(A.init);
|
||||
NAMES__ = A.name;
|
||||
TEX__ = A.tex;
|
||||
str = [];
|
||||
|
@ -84,7 +84,7 @@ switch format
|
|||
for t=1:A.nobs
|
||||
date = A.init+(t-1);
|
||||
str = sprintf(', %15.8g',A.data(t,:));
|
||||
fprintf(fid, '%s%s\n',date.format,str);
|
||||
fprintf(fid, '%s%s\n',date2string(date),str);
|
||||
end
|
||||
fclose(fid);
|
||||
end
|
||||
|
|
|
@ -98,7 +98,7 @@ switch length(S)
|
|||
end
|
||||
end
|
||||
case '.'
|
||||
if isequal(S(1).subs,'init') && isa(B,'dynDate')
|
||||
if isequal(S(1).subs,'init') && isa(B,'dates') && isequal(length(B),1)
|
||||
% Overwrite the init member...
|
||||
A.init = B;
|
||||
% ... and update freq and time members.
|
||||
|
@ -131,7 +131,7 @@ switch length(S)
|
|||
end
|
||||
end
|
||||
case '()' % Date(s) selection
|
||||
if isa(S(1).subs{1},'dates') || isa(S(1).subs{1},'dynDate')
|
||||
if isa(S(1).subs{1},'dates')
|
||||
[junk, tdx] = intersect(A.time.time,S(1).subs{1}.time,'rows');
|
||||
if isa(B,'dynSeries')
|
||||
[junk, tdy] = intersect(B.time.time,S(1).subs{1}.time,'rows');
|
||||
|
@ -172,7 +172,7 @@ switch length(S)
|
|||
sA = extract(A,S(1).subs);
|
||||
end
|
||||
if (isa(B,'dynSeries') && isequal(sA.vobs,B.vobs)) || (isnumeric(B) && isequal(sA.vobs,columns(B))) || (isnumeric(B) && isequal(columns(B),1))
|
||||
if isa(S(2).subs{1},'dates') || isa(S(2).subs{1},'dynDate')
|
||||
if isa(S(2).subs{1},'dates')
|
||||
[junk, tdx] = intersect(sA.time.time,S(2).subs{1}.time,'rows');
|
||||
if isa(B,'dynSeries')
|
||||
[junk, tdy] = intersect(B.time.time,S(2).subs{1}.time,'rows');
|
||||
|
@ -504,8 +504,8 @@ end
|
|||
%$
|
||||
%$ % modify first object.
|
||||
%$ try
|
||||
%$ d1 = dynDate('1950Q3');
|
||||
%$ d2 = dynDate('1951Q3');
|
||||
%$ d1 = dates('1950Q3');
|
||||
%$ d2 = dates('1951Q3');
|
||||
%$ rg = d1:d2;
|
||||
%$ ts1{'A1'}(rg) = ts2{'B1'}(rg);
|
||||
%$ t(1) = 1;
|
||||
|
@ -535,8 +535,8 @@ end
|
|||
%$
|
||||
%$ % modify first object.
|
||||
%$ try
|
||||
%$ d1 = dynDate('1950Q3');
|
||||
%$ d2 = dynDate('1951Q3');
|
||||
%$ d1 = dates('1950Q3');
|
||||
%$ d2 = dates('1951Q3');
|
||||
%$ rg = d1:d2;
|
||||
%$ ts1{'A1'}(rg) = B(3:7);
|
||||
%$ t(1) = 1;
|
||||
|
@ -566,8 +566,8 @@ end
|
|||
%$
|
||||
%$ % modify first object.
|
||||
%$ try
|
||||
%$ d1 = dynDate('1950Q3');
|
||||
%$ d2 = dynDate('1951Q3');
|
||||
%$ d1 = dates('1950Q3');
|
||||
%$ d2 = dates('1951Q3');
|
||||
%$ rg = d1:d2;
|
||||
%$ ts1.A1(rg) = B(3:7);
|
||||
%$ t(1) = 1;
|
||||
|
@ -597,8 +597,8 @@ end
|
|||
%$
|
||||
%$ % modify first object.
|
||||
%$ try
|
||||
%$ d1 = dynDate('1950Q3');
|
||||
%$ d2 = dynDate('1951Q3');
|
||||
%$ d1 = dates('1950Q3');
|
||||
%$ d2 = dates('1951Q3');
|
||||
%$ rg = d1:d2;
|
||||
%$ ts1.A1(rg) = sqrt(pi);
|
||||
%$ t(1) = 1;
|
||||
|
@ -628,8 +628,8 @@ end
|
|||
%$
|
||||
%$ % modify first object.
|
||||
%$ try
|
||||
%$ d1 = dynDate('1950Q3');
|
||||
%$ d2 = dynDate('1951Q3');
|
||||
%$ d1 = dates('1950Q3');
|
||||
%$ d2 = dates('1951Q3');
|
||||
%$ rg = d1:d2;
|
||||
%$ ts1{'A1','A2'}(rg) = sqrt(pi);
|
||||
%$ t(1) = 1;
|
||||
|
@ -659,8 +659,8 @@ end
|
|||
%$
|
||||
%$ % modify first object.
|
||||
%$ try
|
||||
%$ d1 = dynDate('1950Q3');
|
||||
%$ d2 = dynDate('1951Q3');
|
||||
%$ d1 = dates('1950Q3');
|
||||
%$ d2 = dates('1951Q3');
|
||||
%$ rg = d1:d2;
|
||||
%$ ts1{'A1','A2'}(rg) = [sqrt(pi), pi];
|
||||
%$ t(1) = 1;
|
||||
|
@ -690,8 +690,8 @@ end
|
|||
%$
|
||||
%$ % modify first object.
|
||||
%$ try
|
||||
%$ d1 = dynDate('1950Q3');
|
||||
%$ d2 = dynDate('1951Q3');
|
||||
%$ d1 = dates('1950Q3');
|
||||
%$ d2 = dates('1951Q3');
|
||||
%$ rg = d1:d2;
|
||||
%$ ts1{'A1','A2'}(rg) = ones(5,1);
|
||||
%$ t(1) = 1;
|
||||
|
@ -718,8 +718,8 @@ end
|
|||
%$ % Instantiate two dynSeries object.
|
||||
%$ ts1 = dynSeries(A,'1950Q1',{'A1';'A2';'A3'},[]);
|
||||
%$
|
||||
%$ % Instantiate a dynDate object.
|
||||
%$ dd = dynDate('1952Q1');
|
||||
%$ % Instantiate a dates object.
|
||||
%$ dd = dates('1952Q1');
|
||||
%$
|
||||
%$ % modify first object.
|
||||
%$ try
|
||||
|
@ -750,8 +750,8 @@ end
|
|||
%$ % Instantiate two dynSeries object.
|
||||
%$ ts1 = dynSeries(A,'1950Q1',{'A1';'A2';'A3'},[]);
|
||||
%$
|
||||
%$ % Instantiate a dynDate object.
|
||||
%$ dd = dynDate('1952Q1');
|
||||
%$ % Instantiate a dates object.
|
||||
%$ dd = dates('1952Q1');
|
||||
%$
|
||||
%$ % modify first object.
|
||||
%$ try
|
||||
|
|
|
@ -199,7 +199,7 @@ switch S(1).type
|
|||
elseif isvector(S(1).subs{1}) && all(isint(S(1).subs{1}))
|
||||
% Extract a subsample using a vector of integers (observation index).
|
||||
% Note that this does not work if S(1).subs is an integer scalar... In which case S(1).subs is interpreted as a lead/lag operator (as in the Dynare syntax).
|
||||
% To extract one observation, a dates with one element or a dynDate input must be used.
|
||||
% To extract one observation, a dates with one element input must be used.
|
||||
if all(S(1).subs{1}>0) && all(S(1).subs{1}<=A.nobs)
|
||||
if size(A.data,2)>1
|
||||
S(1).subs = [S(1).subs, ':'];
|
||||
|
@ -215,18 +215,6 @@ switch S(1).type
|
|||
else
|
||||
error('dynSeries::subsref: Indices are out of bounds!')
|
||||
end
|
||||
elseif isa(S(1).subs{1},'dynDate')
|
||||
% Extract a subsample using a dates object
|
||||
[junk,tdx] = intersect(A.time.time,S(1).subs{1}.time,'rows');
|
||||
B = dynSeries();
|
||||
B.data = A.data(tdx,:);
|
||||
B.name = A.name;
|
||||
B.tex = A.tex;
|
||||
B.nobs = 1;
|
||||
B.vobs = A.vobs;
|
||||
B.freq = A.freq;
|
||||
B.init = A.time(tdx,:);
|
||||
B.time = A.time(tdx,:);
|
||||
else
|
||||
error('dynSeries::subsref: I have no idea of what you are trying to do!')
|
||||
end
|
||||
|
@ -278,14 +266,14 @@ end
|
|||
%$ e.vobs = 2;
|
||||
%$ e.name = {'A1';'A2'};
|
||||
%$ e.freq = 1;
|
||||
%$ e.init = dynDate(2);
|
||||
%$ e.init = dates(1,2);
|
||||
%$
|
||||
%$ % Check the results.
|
||||
%$ t(1) = dyn_assert(a.data,e.data);
|
||||
%$ t(2) = dyn_assert(a.nobs,e.nobs);
|
||||
%$ t(3) = dyn_assert(a.vobs,e.vobs);
|
||||
%$ t(4) = dyn_assert(a.freq,e.freq);
|
||||
%$ t(5) = dyn_assert(a.init,e.init);
|
||||
%$ t(5) = dyn_assert(isequal(a.init,e.init),1);
|
||||
%$ T = all(t);
|
||||
%@eof:1
|
||||
|
||||
|
@ -308,11 +296,11 @@ end
|
|||
%$ e.vobs = 1;
|
||||
%$ e.name = {'A1'};
|
||||
%$ e.freq = 1;
|
||||
%$ e.init = dynDate(1);
|
||||
%$ e.init = dates(1,1);
|
||||
%$
|
||||
%$ % Check the results.
|
||||
%$ t(1) = dyn_assert(a.data,e.data);
|
||||
%$ t(2) = dyn_assert(a.init,e.init);
|
||||
%$ t(2) = dyn_assert(isequal(a.init,e.init),1);
|
||||
%$ t(3) = dyn_assert(a.nobs,e.nobs);
|
||||
%$ t(4) = dyn_assert(a.vobs,e.vobs);
|
||||
%$ t(5) = dyn_assert(a.freq,e.freq);
|
||||
|
@ -338,14 +326,14 @@ end
|
|||
%$ e.vobs = 2;
|
||||
%$ e.name = {'A1';'A2'};
|
||||
%$ e.freq = 1;
|
||||
%$ e.init = dynDate(1);
|
||||
%$ e.init = dates(1,1);
|
||||
%$
|
||||
%$ % Check the results.
|
||||
%$ t(1) = dyn_assert(a.data,e.data);
|
||||
%$ t(2) = dyn_assert(a.nobs,e.nobs);
|
||||
%$ t(3) = dyn_assert(a.vobs,e.vobs);
|
||||
%$ t(4) = dyn_assert(a.freq,e.freq);
|
||||
%$ t(5) = dyn_assert(a.init,e.init);
|
||||
%$ t(5) = dyn_assert(isequal(a.init,e.init),1);
|
||||
%$ T = all(t);
|
||||
%@eof:3
|
||||
|
||||
|
@ -367,7 +355,7 @@ end
|
|||
%$ t(2) = dyn_assert(A.nobs,4);
|
||||
%$ t(3) = dyn_assert(A.vobs,4);
|
||||
%$ t(4) = dyn_assert(A.freq,4);
|
||||
%$ t(5) = dyn_assert(A.init,dynDate('1990Q1'));
|
||||
%$ t(5) = dyn_assert(isequal(A.init,dates('1990Q1')),1);
|
||||
%$ end
|
||||
%$ T = all(t);
|
||||
%@eof:4
|
||||
|
@ -391,13 +379,13 @@ end
|
|||
%$ e.vobs = 2;
|
||||
%$ e.name = {'A1';'B1'};
|
||||
%$ e.freq = 1;
|
||||
%$ e.init = dynDate(1);
|
||||
%$ e.init = dates(1,1);
|
||||
%$
|
||||
%$ t(1) = dyn_assert(e.data,a.data);
|
||||
%$ t(2) = dyn_assert(e.nobs,a.nobs);
|
||||
%$ t(3) = dyn_assert(e.vobs,a.vobs);
|
||||
%$ t(4) = dyn_assert(e.name,a.name);
|
||||
%$ t(5) = dyn_assert(e.init,a.init);
|
||||
%$ t(5) = dyn_assert(isequal(e.init,a.init),1);
|
||||
%$ T = all(t);
|
||||
%@eof:5
|
||||
|
||||
|
@ -421,25 +409,25 @@ end
|
|||
%$ e1.vobs = 12;
|
||||
%$ e1.name = {'GDP_1';'GDP_2';'GDP_3'; 'GDP_4'; 'GDP_5'; 'GDP_6'; 'GDP_7'; 'GDP_8'; 'GDP_9'; 'GDP_10'; 'GDP_11'; 'GDP_12'};
|
||||
%$ e1.freq = 1;
|
||||
%$ e1.init = dynDate(1);
|
||||
%$ e1.init = dates(1,1);
|
||||
%$ e2.data = A(:,[1, 13]);
|
||||
%$ e2.nobs = 10;
|
||||
%$ e2.vobs = 2;
|
||||
%$ e2.name = {'GDP_1';'HICP_1'};
|
||||
%$ e2.freq = 1;
|
||||
%$ e2.init = dynDate(1);
|
||||
%$ e2.init = dates(1,1);
|
||||
%$
|
||||
%$ % Check results.
|
||||
%$ t(1) = dyn_assert(e1.data,a.data);
|
||||
%$ t(2) = dyn_assert(e1.nobs,a.nobs);
|
||||
%$ t(3) = dyn_assert(e1.vobs,a.vobs);
|
||||
%$ t(4) = dyn_assert(e1.name,a.name);
|
||||
%$ t(5) = dyn_assert(e1.init,a.init);
|
||||
%$ t(5) = dyn_assert(isequal(e1.init,a.init),1);
|
||||
%$ t(6) = dyn_assert(e2.data,b.data);
|
||||
%$ t(7) = dyn_assert(e2.nobs,b.nobs);
|
||||
%$ t(8) = dyn_assert(e2.vobs,b.vobs);
|
||||
%$ t(9) = dyn_assert(e2.name,b.name);
|
||||
%$ t(10) = dyn_assert(e2.init,b.init);
|
||||
%$ t(10) = dyn_assert(isequal(e2.init,b.init),1);
|
||||
%$ T = all(t);
|
||||
%@eof:6
|
||||
|
||||
|
@ -492,7 +480,7 @@ end
|
|||
%$ ts1 = dynSeries(A,'1971Q1',A_name,[]);
|
||||
%$
|
||||
%$ % Define the range of a subsample.
|
||||
%$ range = dynDate('1971Q2'):dynDate('1971Q4');
|
||||
%$ range = dates('1971Q2'):dates('1971Q4');
|
||||
%$ % Call the tested method.
|
||||
%$ a = ts1(range);
|
||||
%$
|
||||
|
@ -502,13 +490,13 @@ end
|
|||
%$ e.vobs = 3;
|
||||
%$ e.name = {'A1';'A2';'B1'};
|
||||
%$ e.freq = 4;
|
||||
%$ e.init = dynDate('1971Q2');
|
||||
%$ e.init = dates('1971Q2');
|
||||
%$
|
||||
%$ t(1) = dyn_assert(e.data,a.data);
|
||||
%$ t(2) = dyn_assert(e.nobs,a.nobs);
|
||||
%$ t(3) = dyn_assert(e.vobs,a.vobs);
|
||||
%$ t(4) = dyn_assert(e.name,a.name);
|
||||
%$ t(5) = dyn_assert(e.init,a.init);
|
||||
%$ t(5) = dyn_assert(isequal(e.init,a.init),1);
|
||||
%$ T = all(t);
|
||||
%@eof:9
|
||||
|
||||
|
|
|
@ -86,7 +86,7 @@ end
|
|||
%$ B_name = {'A1';'A2'};
|
||||
%$
|
||||
%$ % Define expected results.
|
||||
%$ e.time = dynDate(1);
|
||||
%$ e.time = dates(1,1);
|
||||
%$ e.freq = 1;
|
||||
%$ e.name = {'A1';'A2'};
|
||||
%$ e.data = [A;B];
|
||||
|
@ -100,7 +100,7 @@ end
|
|||
%$
|
||||
%$ % Check the results.
|
||||
%$
|
||||
%$ t(1) = dyn_assert(ts3.init,e.time);
|
||||
%$ t(1) = dyn_assert(isequal(ts3.init,e.time),1);
|
||||
%$ t(2) = dyn_assert(ts3.freq,e.freq);
|
||||
%$ t(3) = dyn_assert(ts3.data,e.data);
|
||||
%$ t(4) = dyn_assert(ts3.name,e.name);
|
||||
|
@ -121,7 +121,7 @@ end
|
|||
%$ C_name = {'A1';'A2'};
|
||||
%$
|
||||
%$ % Define expected results.
|
||||
%$ e.time = dynDate(1);
|
||||
%$ e.time = dates(1,1);
|
||||
%$ e.freq = 1;
|
||||
%$ e.name = {'A1';'A2'};
|
||||
%$ e.data = [A;B;C];
|
||||
|
@ -136,7 +136,7 @@ end
|
|||
%$
|
||||
%$ % Check the results.
|
||||
%$
|
||||
%$ t(1) = dyn_assert(ts4.init,e.time);
|
||||
%$ t(1) = dyn_assert(isequal(ts4.init,e.time),1);
|
||||
%$ t(2) = dyn_assert(ts4.freq,e.freq);
|
||||
%$ t(3) = dyn_assert(ts4.data,e.data);
|
||||
%$ t(4) = dyn_assert(ts4.name,e.name);
|
||||
|
|
Loading…
Reference in New Issue