Estimate the monotonic component of a time series

f=trendacd(x) estimates the monotonic component f of the time series x as a succession of straight segments using the ACD algorithm presented in Chapter 5 of the book Călin Vamoş, Maria Crăciun, Automatic Trend Estimation, Springer 2012.

The ACD algorithm estimates monotonic trends over which an arbitrary stationary noise is superposed. It approximates the trend by a piecewise linear curve obtained by dividing into subintervals the time series values, instead of the time domain. The slope of each linear segment of the estimated trend is proportional to the average one-step displacement of the time series values included into the corresponding subinterval, therefore the method is referred to as average conditional displacement (ACD). Using Monte Carlo experiments we have shown that for AR(1) noises the accuracy of the ACD algorithm is comparable with that of the polynomial fitting and moving average but it has the advantage to be automatic. For time series with nonmonotonic trends the ACD algorithm determines one of the possible monotonic components which can be associated to the trend.

In practice there are situations when the trend monotony is especially required, for example, the ascertainment of the time periods with monotonic variation of the global atmospheric temperature. In addition, the ACD algorithm can be used to identify the significant monotonic segments of a time series with a nonmonotonic trend as the method used in the MATLAB program trendrcma. In the case of the financial time series the monotonic variations between successive large-scale local extrema correspond to some lasting macroeconomic and financial conditions and help to identify the economic cycles.

MATLAB programs freely downloadable:

trendacd.m implements the ACD algorithm.
testacd.m tests the ACD algorithm on artificial time series