CCF

Computes the sample cross‑correlation function of two stationary time series.

Required Arguments

X — Vector of length NOBS containing the first time series. (Input)
NOBS must be greater than or equal to two.

Y — Vector of length NOBS containing the second time series. (Input)

MAXLAG — Maximum lag of cross‑covariances and cross‑correlations to be computed. (Input)
MAXLAG must be greater than or equal to one and less than NOBS.

CC — Vector of length 2 * MAXLAG + 1 containing the cross‑correlations between the time series X and Y. (Output)
The cross‑correlation between X and Y at lag k corresponds to CC(k) where k = ‑MAXLAG, …, 1, 0, 1, …, MAXLAG.

Optional Arguments

XMEAN — Estimate of the mean of time series X. (Input, if IMEAN = 0; output, if
IMEAN = 1)
Default: XMEAN = 0.0.

YMEAN — Estimate of the mean of time series Y. (Input, if IMEAN = 0; output, if
IMEAN = 1)
Default: YMEAN = 0.0.

XVAR — Variance of the time series X. (Output)

YVAR — Variance of the time series Y. (Output)

CCV — Vector of length 2 * MAXLAG + 1 containing the cross‑covariances between the time series X and Y. (Output)

The cross‑covariance between X and Y at lag k corresponds to CCV(k) where k = ‑MAXLAG, …, 1, 0, 1, …, MAXLAG.

NOBS — Number of observations in each time series. (Input)
Default: NOBS = size (X,1).

IPRINT — Printing option. (Input)
Default: IPRINT = 0.

 

IPRINT

Action

0

No printing is performed.

1

Prints the means and variances.

2

Prints the means, variances, and cross‑covariances.

3

Prints the means, variances, cross‑covariances, cross‑correlations, and standard errors of cross‑correlations.

ISEOPT — Option for computing standard errors of cross correlations. (Input)
Default: ISEOPT = 0.

 

ISOPT

Action

0

No standard errors of cross‑correlations are computed.

1

Compute standard errors of cross‑correlations using Bartlett’s formula.

2

Compute standard errors of cross‑correlations using Bartlett’s formula with the assumption of no cross‑correlation.

IMEAN — Option for computing the mean. (Input)
Default: IMEAN = 1.

 

IMEAN

Action

0

XMEAN and YMEAN are user specified.

1

XMEAN and YMEAN are set to the arithmetic means of X and Y.

SECC — Vector of length 2 * MAXLAG + 1 containing the standard errors of the crosscorrelations between the time series X and Y. (Output)
The standard error of CC(k) is SECC(k) where k = ‑MAXLAG, …, 1, 0, 1, …, MAXLAG.

FORTRAN 90 Interface

Generic: CALL CCF (X, Y, MAXLAG, CC[])

Specific: The specific interface names are S_CCF and D_CCF.

FORTRAN 77 Interface

Single: CALL CCF (NOBS, X, Y, MAXLAG, IPRINT, ISEOPT, IMEAN, XMEAN, YMEAN, XVAR, YVAR, CCV, CC, SECC)

Double: The double precision name is DCCF.

Description

Routine CCF estimates the cross‑correlation function of two jointly stationary time series given a sample of n = NOBS observations {Xt} and {Yt} for t = 1, 2, …, n.

Let

 

be the estimate of the mean μX of the time series {Xt} where

 

The autocovariance function of {Xt}, σX(k), is estimated by

 

 

where K = MAXLAG. Note that

 

is equivalent to the sample variance XVAR. The autocorrelation function ρX(k) is estimated by

 

 

Note that

 

by definition. Let

 

be similarly defined.

The cross‑covariance function σXY(k) is estimated by

 

The cross‑correlation function ρXY(k) is estimated by

 

The standard errors of the sample cross‑correlations may be optionally computed according to argument ISEOPT. One method is based on a general asymptotic expression for the variance of the sample cross‑correlation coefficient of two jointly stationary time series with independent, identically distributed normal errors given by Bartlett (1978, page 352). The theoretical formula is

 

For computational purposes, the autocorrelations ρX(k) and ρY(k) and the cross‑correlations ρXY(k) are replaced by their corresponding estimates for k  K, and the limits of summation are equal to zero for all k such that k > K.

A second method evaluates Bartlett’s formula under the additional assumption that the two series have no cross‑correlation. The theoretical formula is

 

For additional special cases of Bartlett’s formula, see Box and Jenkins (1976, page 377).

An important property of the cross‑covariance coefficient is σXY(k) = σYX(k) for k  0. This result is used in the computation of the standard error of the sample cross‑correlation for lag k < 0. In general, the cross‑covariance function is not symmetric about zero so both positive and negative lags are of interest.

Comments

1. Workspace may be explicitly provided, if desired, by use of C2F/DC2F. The reference is:

CALL C2F (NOBS, X, Y, MAXLAG, IPRINT, ISEOPT, IMEAN, XMEAN, YMEAN, XVAR, YVAR, CCV, CC, SECC, ACX, ACY)

The additional arguments are as follows:

ACX — Work vector of length equal to MAXLAG + 1.

ACY — Work vector of length equal to MAXLAG + 1.

2. If ISEOPT = 0, then no workspace is needed and SECC, ACX, and ACY can be dimensioned with length 1.

3. Autocovariances, autocorrelations, and standard errors of autocorrelations may be obtained by setting the first and second time series equal.

Example

Consider the Gas Furnace Data (Box and Jenkins 1976, pages 532–533) where X is the input gas rate in cubic feet/minute and Y is the percent CO2 in the outlet gas. Routine CCF is used to computed the cross‑covariances and cross‑correlations between time series X and Y with lags from ‑MAXLAG = 10 through lag MAXLAG = 10. In addition, the estimated standard errors of the estimated cross‑correlations are computed. In the first invocation with ISEOPT = 1, the standard errors are based on the assumption that autocorrelations and cross‑correlations for lags greater than MAXLAG or less than ‑MAXLAG are zero. In the second invocation with ISEOPT = 2, the standard errors are based on the additional assumption that all cross‑correlations for X and Y are zero.

 

USE GDATA_INT

USE CCF_INT

 

IMPLICIT NONE

 

INTEGER IPRINT, MAXLAG, NOBS

PARAMETER (IPRINT=3, MAXLAG=10, NOBS=296)

!

INTEGER IMEAN, ISEOPT, NCOL, NROW

REAL CC(-MAXLAG:MAXLAG), CCV(-MAXLAG:MAXLAG), &

RDATA(296,2), SECC(-MAXLAG:MAXLAG), X(NOBS), XMEAN, &

XVAR, Y(NOBS), YMEAN, YVAR

!

EQUIVALENCE (X(1), RDATA(1,1)), (Y(1), RDATA(1,2))

!

CALL GDATA (7, RDATA, NROW, NCOL)

! USE Default Option to estimate means.

 

! Bartlett's formula (general case)

ISEOPT = 1

! Compute cross correlation function

CALL CCF (X, Y, MAXLAG, CC, IPRINT=IPRINT, ISEOPT=ISEOPT)

! Bartlett's formula (independent case)

ISEOPT = 2

! Compute cross correlation function

CALL CCF (X, Y, MAXLAG, CC, IPRINT=IPRINT, ISEOPT=ISEOPT)

!

END

Output

Output from CCF/C2F

 

Mean of series X = -0.056834

Variance of series X = 1.1469

 

Mean of series Y = 53.509

Variance of series Y = 10.219

 

Lag CCV CC SECC

 

-10 -0.40450 -0.11815 0.158148

-9 -0.50849 -0.14853 0.155750

-8 -0.61437 -0.17946 0.152735

-7 -0.70548 -0.20607 0.149087

-6 -0.77617 -0.22672 0.145055

-5 -0.83147 -0.24287 0.141300

-4 -0.89132 -0.26035 0.138421

-3 -0.98060 -0.28643 0.136074

-2 -1.12477 -0.32854 0.132159

-1 -1.34704 -0.39347 0.123531

0 -1.65853 -0.48445 0.107879

1 -2.04865 -0.59841 0.087341

2 -2.48217 -0.72503 0.064141

3 -2.88541 -0.84282 0.046946

4 -3.16536 -0.92459 0.044097

5 -3.25344 -0.95032 0.048234

6 -3.13113 -0.91459 0.049155

7 -2.83919 -0.82932 0.047562

8 -2.45302 -0.71652 0.053478

9 -2.05269 -0.59958 0.071566

10 -1.69466 -0.49500 0.093933

 

Output from CCF/C2F

 

Mean of series X = -0.056834

Variance of series X = 1.1469

 

Mean of series Y = 53.509

Variance of series Y = 10.219

 

Lag CCV CC SECC

 

-10 -0.40450 -0.11815 0.16275

-9 -0.50849 -0.14853 0.16247

-8 -0.61437 -0.17946 0.16219

-7 -0.70548 -0.20607 0.16191

-6 -0.77617 -0.22672 0.16163

-5 -0.83147 -0.24287 0.16135

-4 -0.89132 -0.26035 0.16107

-3 -0.98060 -0.28643 0.16080

-2 -1.12477 -0.32854 0.16052

-1 -1.34704 -0.39347 0.16025

0 -1.65853 -0.48445 0.15998

1 -2.04865 -0.59841 0.16025

2 -2.48217 -0.72503 0.16052

3 -2.88541 -0.84282 0.16080

4 -3.16536 -0.92459 0.16107

5 -3.25344 -0.95032 0.16135

6 -3.13113 -0.91459 0.16163

7 -2.83919 -0.82932 0.16191

8 -2.45302 -0.71652 0.16219

9 -2.05269 -0.59958 0.16247

10 -1.69466 -0.49500 0.16275