Spectral Transfer Function using Welch's Method

SPECTRAL_TRANSFER_FUNCTION_WELCH

Overview

SPECTRAL_TRANSFER_FUNCTION_WELCH estimates the frequency-domain relationship between two time series using Welch's averaged periodogram method. It can reveal which repeating cycles are shared, how strongly the series are related at each cycle length, and whether one series tends to lead or lag the other.

Welch's method divides the data into overlapping segments, estimates the spectrum for each segment, and averages the results. This reduces noise and generally produces a more stable estimate than a single-periodogram calculation.

Syntax

result = SPECTRAL_TRANSFER_FUNCTION_WELCH(series1, series2)
extract(result, 0)

Parameters

Parameter Description
series1 The input or explanatory time series.
series2 The output or response time series.

The two series should normally use the same observation frequency and cover a compatible date range.

Example

str = SPECTRAL_TRANSFER_FUNCTION_WELCH(logdiff(U6Rate), logdiff(TCU))
extract(str, 0)

This example examines how changes in the U-6 unemployment rate are related to changes in industrial capacity utilization across different business-cycle frequencies.

What the Analysis Can Show

Typical Uses

Interpretation note: Two series can have a weak overall correlation and still share a very strong relationship at a specific cycle length, such as 24, 36, or 48 months.

Spectral Transfer Matrix

SPECTRAL_TRANSFER_MATRIX

Overview

SPECTRAL_TRANSFER_MATRIX performs pairwise spectral analysis across a list of time series and presents the selected result as a matrix. It is designed for rapid exploratory analysis when the user wants to compare several variables without running each pair separately.

Syntax

SPECTRAL_TRANSFER_MATRIX(seriesList, statistic)

Parameters

Parameter Description
seriesList A list containing two or more time series.
statistic The spectral result to display for every pair of series.

Supported Statistics

Statistic Description
PEAK The maximum coherence found between each pair of series.
AVG The average coherence across the analyzed frequencies.
BEST_PERIOD The cycle length at which the strongest relationship occurs.

Example

l = logDiff(List(DGS10, SP500, VIXCLS, VXNCLS))
spectral_transfer_matrix(l, PEAK)

This example calculates the maximum spectral coherence between the 10-year Treasury yield, the S&P 500, the VIX, and the Nasdaq Volatility Index.

Interpreting the Matrix

Typical Uses

Exploratory command: The matrix is best used to identify interesting pairs. A full Welch spectral transfer analysis can then be run on those pairs to inspect coherence, gain, phase, and cycle structure in greater detail.

Recommended Workflow

  1. Use SPECTRAL_TRANSFER_MATRIX to scan a group of series and identify strong or unusual relationships.
  2. Use SPECTRAL_TRANSFER_FUNCTION_WELCH on a selected pair for a complete, frequency-by-frequency analysis.