RATS 11.1
RATS 11.1

Procedures /

CFFILTER Procedure

Home Page

← Previous Next →

@CFFILTER applies the Christiano-Fitzgerald(2003) band-pass filter to a series.

@CFFilter( options )   x  start end  fx

Parameters

x

source series

start, end

range to transform (range of x by default)

fx

result series (x by default)

Options

PL=minimum period of oscillation of desired component [6]

PU=maximum period of oscillation of desired component [32]

(2<=pl<pu<infinity)

 

[DETREND]/NODETREND

With DETREND, removes a drift term before employing the filter.

Notes

When feasible, it's recommended to drop 2 years of data from the beginning and end of the filtered data series. These data are relatively poorly estimated.

 

With quarterly data, PL=6, PU=32 returns component with periods between 1.5 and 8 yrs. With monthly data, PL=2, PU=24 returns component with all periods less than 2 yrs.

 

Example

This is based upon the sample program from the authors' web sites, but updated from their RATS code to use the newer @CFFilter procedure rather than the original @BPASS.

 

cal(q)

data(org=obs,unit=input) 1 41 gdp

507.425

527.375

545.625

586.525

618.675

664.375

720.1

789.3

834.075

911.45

985.35

1039.675

1128.6

1240.425

1385.55

1501

1635.175

1823.925

2031.4

2295.875

2566.375

2795.55

3131.35

3259.225

3534.95

3932.75

4213

4452.85

4742.475

5108.325

5489.05

5803.25

5986.225

6318.95

6642.325

7054.3

7400.55

7813.175

8300.725

8759.95

9248.45

*

@cffilter(pl=2,pu=3,detrend) gdp / fgdp

print / gdp fgdp


 


Copyright © 2026 Thomas A. Doan