1function o = onesidedhptrend(o, lambda, init) % --*-- Unitary tests --*-- 2 3% Extracts the trend component from a dseries object using the one sided HP filter. 4% 5% INPUTS 6% - o [dseries] Original time series. 7% - lambda [double] scalar, trend smoothness parameter. 8% 9% OUTPUTS 10% - o [dseries] Trend component of the original time series. 11 12% Copyright (C) 2017 Dynare Team 13% 14% This file is part of Dynare. 15% 16% Dynare is free software: you can redistribute it and/or modify 17% it under the terms of the GNU General Public License as published by 18% the Free Software Foundation, either version 3 of the License, or 19% (at your option) any later version. 20% 21% Dynare is distributed in the hope that it will be useful, 22% but WITHOUT ANY WARRANTY; without even the implied warranty of 23% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 24% GNU General Public License for more details. 25% 26% You should have received a copy of the GNU General Public License 27% along with Dynare. If not, see <http://www.gnu.org/licenses/>. 28 29if nargin>1 30 if lambda<=0 31 error(['dseries::onesidedhptrend: Lambda must be a positive integer!']) 32 end 33 if nargin>2 34 if ~isequal(init, 'hpfilter') 35 error('dseries::onesidedhpcycle: Unknown option!') 36 end 37 end 38else 39 lambda = []; 40end 41 42o = copy(o); 43if nargin<3 44 o.onesidedhptrend_(lambda); 45else 46 o.onesidedhptrend_(lambda, init); 47end 48 49return 50 51%@test:1 52d = randn(100,1); 53o = dseries(d); 54 55try 56 p = o.onesidedhptrend(); 57 t(1) = 1; 58catch 59 t(1) = 0; 60end 61 62if t(1) 63 t(2) = dassert(o.data,d); 64end 65 66T = all(t); 67%@eof:1