*! version 1.0 11mar2026

Title

fourierfffff -- Fractional Frequency Flexible Fourier Form DF test (FFFFF-DF)

Syntax

fourierfffff
varname
[if] [in]
[, options]

model(#) deterministic specification: 1=constant, 2=constant+trend; default is model(2)

kfmin(#) minimum fractional frequency; default is kfmin(0.1)

kfmax(#) maximum fractional frequency; default is kfmax(2.0)

kfstep(#) frequency grid step size; default is kfstep(0.1)

kfr(#) fixed fractional frequency; default is kfr(0) (data-driven)

pmax(#) maximum lag order; default is pmax(8)

ic(#) information criterion: 1=AIC, 2=SIC, 3=t-stat; default is ic(3)

notrend equivalent to model(1)

noftest suppress the F-test for Fourier terms

graph display observed vs. Fourier expansion plot

Description

fourierfffff implements the Fractional Frequency Flexible Fourier Form
Dickey-Fuller (FFFFF-DF) unit root test proposed by Omay (2015).
This test extends Enders and Lee (2012b) by allowing the Fourier frequency to
take fractional (non-integer) values.

The key innovation is that fractional frequencies provide a more precise
approximation of the deterministic trend, leading to a better fit and increased
testing power. While integer frequencies restrict the Fourier component to complete
cycles within the sample, fractional frequencies allow partial cycles, providing
greater flexibility.

The data must be tsset before using this command.

Options

model(#) deterministic specification. Default is model(2).

kfmin(#) minimum value of the fractional frequency grid. Default is
kfmin(0.1).

kfmax(#) maximum value of the fractional frequency grid. Default is
kfmax(2.0). Larger values allow higher-frequency cycles but may
capture noise rather than structural breaks.

kfstep(#) step size for the frequency grid. Default is kfstep(0.1).
Smaller values provide more precise frequency selection but increase computation
time.

kfr(#) fixed fractional frequency. Default kfr(0) performs data-driven
selection.

pmax(#) maximum lag order. Default is pmax(8).

ic(#) lag selection criterion. Default is ic(3).

notrend equivalent to model(1).

noftest suppresses the F-test for joint significance of Fourier terms.

graph displays observed series vs. Fourier expansion plot.

Methodology

The FFFFF-DF test extends the Fourier ADF framework to fractional frequencies.
The regression is identical to fourierdf but with k allowed to be non-integer:

Delta(y_t) = c_0 [+ c_1*t] + alpha*sin(2*pi*k_fr*t/T) + beta*cos(2*pi*k_fr*t/T)
+ rho*y_ + sum phi_j*Delta(y_) + epsilon_t

where k_fr is a fractional frequency searched over the grid [kfmin, kfmax] with
step size kfstep. The optimal k_fr* minimizes the SSR.

Relationship to integer-frequency tests: When k_fr is restricted to integers,
the FFFFF-DF test reduces to the standard Fourier ADF test. Omay (2015) shows
that relaxing this restriction can significantly improve power, especially when
the true DGP involves non-periodic smooth breaks.

Interpretation

Null hypothesis: The series has a unit root.

Alternative: The series is stationary around a Fourier deterministic trend
with fractional frequency.

Decision rule: Reject H0 if the FFFFF-ADF statistic is more negative than
the critical value.

Frequency interpretation: k_fr < 1 indicates that the deterministic trend
involves less than one complete cycle over the sample period (a very slow shift).
k_fr = 0.5 represents a half-cycle (U-shape or inverted U-shape). Very small
values (k_fr near 0.1) approximate a monotonic smooth shift.

Cautions:

1. Critical values depend on the fractional frequency. Using standard ADF
or integer-frequency critical values is invalid.

2. A fine grid (small kfstep) improves fit but lengthens computation. The
default kfstep(0.1) is recommended by Omay (2015).

3. Check the F-test: if Fourier terms are not significant, use a standard
ADF test.

Stored results

Scalars

r(ADFk) FFFFF-ADF test statistic

r(kfr) optimal fractional frequency

r(p) optimal lag order

r(Fk) F-statistic for Fourier terms

r(cv1) 1% critical value

r(cv5) 5% critical value

r(cv10) 10% critical value

Examples

. sysuse gnp96, clear

. tsset date

FFFFF-DF test with defaults

. fourierfffff gnp96

With finer frequency grid

. fourierfffff gnp96, kfstep(0.05) kfmax(3)

With graph

. fourierfffff gnp96, graph

References

Omay, T. (2015). Fractional frequency flexible Fourier form to approximate
smooth breaks in unit root testing. Economics Letters, 134, 123-126.

Enders, W. and Lee, J. (2012b). The flexible Fourier form and Dickey-Fuller
type unit root tests. Economics Letters, 117(1), 196-199.

Authors

Dr. Merwan Roudane

Email: merwanroudane920@gmail.com

Also see

Help: fourierlm, fourierdf, fouriergls,
fourierkpss, fourierdfdf, fourierall