Valen0604

Macroeconomic Policy and Sector ETF Returns

Provost Undergraduate Research Scholarship (PURS), University of Houston, Fall 2025. Revised August 2026.

Question

Do macroeconomic policy variables (interest rates, inflation, federal spending, tariffs, trade balance) explain U.S. sector ETF returns beyond what standard equity risk factors already capture?

Data

Series Source Frequency
11 SPDR sector ETFs (XLB, XLC, XLE, XLF, XLI, XLK, XLP, XLRE, XLU, XLV, XLY), adjusted close Yahoo Finance Monthly, Dec 1998 – Sep 2025 (XLC from Jun 2018, XLRE from Oct 2015)
Fama-French three factors and risk-free rate Kenneth French Data Library Monthly
Effective federal funds rate (DFF) FRED Daily
CPI (CPIAUCSL) and inflation rate FRED / BLS Monthly
Federal government expenditures (FGEXPND) FRED Quarterly
Customs duties receipts FRED Quarterly
Trade balance, goods and services (BOPGSTB) FRED Monthly
Average effective tariff rate USITC Annual
VIX (open) CBOE via Yahoo Finance Monthly

All data are in PURS Data.xlsx, one sheet per series.

Method

For each ETF, the excess real log return is regressed on the Fama-French factors plus changes in the macro variables:

r_t − RF_t = α + β·Mkt_RF + s·SMB + h·HML
          + γ₁ ΔFedFunds + γ₂ ΔInflation + γ₃ Δlog(Spending) + γ₄ Δlog(Receipts)
          + γ₅ Δlog(TradeBalance) + γ₆ ΔTariff + γ₇ ΔVIX + ε

Nominal series are deflated by CPI. Standard errors are Newey-West (lag 3 monthly, lag 1 quarterly).

The model is estimated at monthly frequency for all 11 ETFs, and at quarterly frequency for the 9 ETFs with a full history, because three regressors (spending, receipts, trade balance) are quarterly and would otherwise be zero-padded two months in three.

An influence check (Cook’s distance, re-estimation excluding 2020) is run on the Energy model, which is the only sector with material macro exposure.

Findings

The original Fall 2025 version contained two data-handling errors: the fed funds series was assigned synthetic dates rather than its actual dates, and ETF returns were computed from monthly open prices, which misaligned them with the month-end factor returns by one period. Both are corrected here. The original headline result (strong negative Energy sensitivity to real interest rates) does not survive the corrections; the inflation exposure reported above is the corrected finding.

Running

install.packages(c("tidyverse", "readxl", "sandwich", "lmtest", "broom"))
source("PURS.R")

Requires PURS Data.xlsx in the working directory.