Provost Undergraduate Research Scholarship (PURS), University of Houston, Fall 2025. Revised August 2026.
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?
| 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.
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.
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.
install.packages(c("tidyverse", "readxl", "sandwich", "lmtest", "broom"))
source("PURS.R")
Requires PURS Data.xlsx in the working directory.