Commit Graph

7472 Commits (08ea66057ce9c6ed68dcb58073467b998695398c)

Author SHA1 Message Date
Stéphane Adjemian (Charybdis) 08ea66057c Automagically increase the number of observations in the assigned variable if needed.
So that the following is possible

 y = dseries([0],'1990Q1','y');
 e = dseries(randn(1000,1),'1990Q1','e');
 from 1990Q2 to 2239Q4 do y(t) = .5*y(t-1) + e(t) - .5*e(t-1)*y(t-1) +.1*y(t-1)^2

Initially y has only one observation (which is mandatory because y
depends on its first lag), the routine extends the number of
observations so that y.dates(end)==2239Q4

Note that the exogenous variables are not adjusted, they must be
defined (leads/lags included) between the first and last dates of the
from-to-do syntax.
2014-06-12 15:24:00 +02:00
Houtan Bastani 02d410fe08 update README to include homebrew science installation instructions 2014-06-12 14:59:16 +02:00
Sébastien Villemot b84cb284d3 Fix texinfo issue. 2014-06-12 11:47:02 +02:00
Houtan Bastani f1fba4cd9e doc: dseries/reporting: rework hierarchy graph 2014-06-12 10:18:13 +02:00
Houtan Bastani 19e0d66a71 doc: dseries/reporting: update example 2014-06-12 09:51:57 +02:00
Houtan Bastani 06db2cf4c8 tests: modify reporting test to account for support for empty dseries + horzcat 2014-06-12 09:51:13 +02:00
Houtan Bastani 27cc7b71b3 reporting: add new test 2014-06-11 12:32:00 +02:00
Stéphane Adjemian (Charybdis) 3ed5659f35 Updated manual to reflect changes introduced in c6d93d686a20be61a487e3c3a80774477591f846. 2014-06-11 12:22:35 +02:00
Stéphane Adjemian (Charybdis) bd26b78016 Updated manual (reflecting changes introduced in ab4792f5ab2fdd3c9ce3f09d29ee31c98519ba73). 2014-06-11 12:22:35 +02:00
Stéphane Adjemian (Charybdis) 955dcab449 Removed init and freq members from dseries class (redundant informations).
The frequency and initial date can still be accessed with the usual syntax:

ts.freq
ts.init

It is also possible to get the last date:

ts.last

Added new methods frequency, firstdate and lastdate as alias for ts.dates.freq, ts.dates(1) and ts.dates(end)
2014-06-11 12:22:35 +02:00
Stéphane Adjemian (Charybdis) 8507c27fab Removed display of current path in last unitary test. 2014-06-11 12:22:35 +02:00
Stéphane Adjemian (Charybdis) 3606cbc8ed Added new syntax to remove variables from a dseries object.
If ts is a dseries object, then

ts{'Variable_1','Variable_2'} = [];

or

ts{'Variable_@1,2@} = [];

will remove Variable_1 and Variable_2 from ts (if they exist).
2014-06-11 12:22:34 +02:00
Stéphane Adjemian (Charybdis) ff27824b29 Fixed bug related to the initialization of the dseries and dates object (test that the input argument is a string). 2014-06-11 12:22:34 +02:00
Stéphane Adjemian (Charybdis) f0a3d6ad44 Added @dseries/remove method. 2014-06-11 12:22:34 +02:00
Stéphane Adjemian (Charybdis) d5066e9a44 Added unitary test. 2014-06-11 12:22:34 +02:00
Stéphane Adjemian (Charybdis) 353bab2117 Fixes issue #652. 2014-06-11 12:22:34 +02:00
Stéphane Adjemian (Charybdis) 2e280ecdcd Added dseries/end method.
Allows the following syntax to extract variables from a
dseries object ts:

us = ts{2:end};
2014-06-11 12:22:34 +02:00
Stéphane Adjemian (Charybdis) aa14faf508 Removed the possibility to extract subsamples from a dseries object with a vector of integers.
If ts is a dates object with 100 observations (ts.nobs=100), the
following syntax for selecting the last 90 observations *is not legal*:

ts(11:end)

ts has to be indexed instead with dates objects, as in the following example:

ts(d1:d2)

where d1 and d2 are dates objects.  To select the 90 last observations,
if the last date is unknown, the following syntax can be used:

ts(ts.dates(11:end))
2014-06-11 12:22:34 +02:00
Stéphane Adjemian (Charybdis) c3029468af Do not display the object returned by from. 2014-06-11 12:22:34 +02:00
Stéphane Adjemian (Charybdis) 64bdbb525b Allow variables extracted from a dseries object in the dynamic or static expression following the do keyword. 2014-06-11 12:22:34 +02:00
Stéphane Adjemian (Charybdis) d60565bfc4 Fixed bug in @dates/colon (last years were wrong if r>0). 2014-06-11 12:22:34 +02:00
Stéphane Adjemian (Charybdis) 7a96533339 Allow empty dseries objects in @dseries/horzcat method. Added unitary test. 2014-06-11 12:22:33 +02:00
Stéphane Adjemian (Charybdis) ba726db417 Fixed bug in @dates/colon methood (wrong offset if r>0). 2014-06-11 12:22:33 +02:00
Stéphane Adjemian (Charybdis) 3ae2874fd0 Cosmetic changes (error messages). 2014-06-11 12:22:33 +02:00
Stéphane Adjemian (Charybdis) 34e9f0dc14 Allow dates objects as first and third arguments (initial and terminal dates). 2014-06-11 12:22:33 +02:00
Stéphane Adjemian (Charybdis) ac05826ef0 Test that the names of the variables contained in the dseries objects are different. 2014-06-11 12:22:33 +02:00
Stéphane Adjemian (Charybdis) 1ed0ccff6f Test that dseries are not empty. 2014-06-11 12:22:33 +02:00
Stéphane Adjemian (Charybdis) 03250208c0 Test that each dseries object contains only one variable. 2014-06-11 12:22:33 +02:00
Stéphane Adjemian (Charybdis) 0096611b06 Added the possibility to use parameters in a from-to-do statement. 2014-06-11 12:22:33 +02:00
Stéphane Adjemian (Charybdis) 95d613c53d Cosmetic change. 2014-06-11 12:22:33 +02:00
Stéphane Adjemian (Charybdis) 14819abb5f Added specialized code for static models. 2014-06-11 12:22:33 +02:00
Stéphane Adjemian (Charybdis) 65968bb134 Use new leadlagtable's columns introduced in d0708fcb2c978c7ae47aa8ab7cbdf6f2b162c123 (usefull for sparse dynamic models). 2014-06-11 12:22:32 +02:00
Stéphane Adjemian (Charybdis) f8203911c8 Added two columns to leadlagtable cell array (vectors of lag/lead orders). 2014-06-11 12:22:32 +02:00
Stéphane Adjemian (Charybdis) b858aed1c0 Various optimizations and cosmetic changes. 2014-06-11 12:22:32 +02:00
Stéphane Adjemian (Charybdis) 35645540e5 Bug fix. Wrong number of lines for time member if n<freq. 2014-06-11 12:22:32 +02:00
Stéphane Adjemian (Charybdis) adda8b6b09 Another speed improvement for @dates/colon method (vectorized code, removed loop around add_periods_to_date routine). 2014-06-11 12:22:32 +02:00
Stéphane Adjemian (Charybdis) 8587674317 Removed call to ismember. Test if to_id or do_id are empty instead. 2014-06-11 12:22:32 +02:00
Stéphane Adjemian (Charybdis) cf43c90347 Improve speed of @dates/colon method (added specialized version of add_periods_to_array_of_dates -> add_periods_to_date). 2014-06-11 12:22:32 +02:00
Stéphane Adjemian (Charybdis) cf86c8f721 Improve speed of comparison methods (lt, gt, le and ge) for @dates class. 2014-06-11 12:22:32 +02:00
Stéphane Adjemian (Charybdis) 84caf6d35f Improve speed of @dates/colon method. 2014-06-11 12:22:32 +02:00
Stéphane Adjemian (Charybdis) 6aee567382 Save empty dates and dseries objects in memory (base workspace) instead of disk (faster). Added an initialization mode for dates and dseries constructor. The following commands:
dates('initialization');
dseries('initialization');

create variables emptydatesobject and emptydseriesobject in base workspace.
2014-06-11 12:22:31 +02:00
Stéphane Adjemian (Charybdis) e4238dd7e4 Exclude from versioning the mat files generated for the initialization of dseries and dates objects. 2014-06-11 12:22:31 +02:00
Stéphane Adjemian (Charybdis) 0206792c12 Save empty dates and dseries objects on disk (in dynareroot), to reduce the time needed to instantiate new objects. 2014-06-11 12:22:31 +02:00
Stéphane Adjemian (Scylla) f5e2fda22a Code optimization. Removed manipulations of dseries objects in the
main loop.
2014-06-11 12:22:31 +02:00
Stéphane Adjemian (Scylla) 6dc0748de5 Added tests on the recursive expression to be evaluated (the endogeous variable
canot depend on its current level or its future level).
2014-06-11 12:22:31 +02:00
Stéphane Adjemian (Scylla) 507b56a055 Added lead/lag incidence table. Also check that the ranges of the
dseries objects appearing in the recursive expression are compatible
with the range of the loop.
2014-06-11 12:22:31 +02:00
Stéphane Adjemian (Scylla) 59a787f47f Check that the initial and terminal dates are in the ranges of the
dseries objects involved in the recursive expression.
2014-06-11 12:22:31 +02:00
Stéphane Adjemian (Scylla) 61d6276d47 Added comments. 2014-06-11 12:22:31 +02:00
Stéphane Adjemian (Scylla) e16e05a50d Removed the loop for building the recursive expression to be evaluated. 2014-06-11 12:22:31 +02:00
Stéphane Adjemian (Scylla) 4da4623c94 Fixed typo in comments. 2014-06-11 12:22:31 +02:00