1function o = hpcycle(o, lambda) % --*-- Unitary tests --*-- 2 3% Extracts the cycle component from a dseries object using Hodrick Prescott filter. 4% 5% INPUTS 6% - o [dseries] Original time series. 7% - lambda [double] scalar, trend smoothness parameter. 8% 9% OUTPUTS 10% - o [dseries] Cyclical component of the original time series. 11 12% Copyright (C) 2013-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::hpcycle: Lambda must be a positive integer!']) 32 end 33else 34 lambda = []; 35end 36 37o = copy(o); 38o.hpcycle_(lambda); 39 40%@test:1 41%$ d = randn(100,1); 42%$ o = dseries(d); 43%$ 44%$ try 45%$ p = o.hpcycle(); 46%$ t(1) = 1; 47%$ catch 48%$ t(1) = 0; 49%$ end 50%$ 51%$ if t(1) 52%$ t(2) = dassert(o.data,d); 53%$ end 54%$ 55%$ T = all(t); 56%@eof:1