Hatemi-J and Mustafa's oil-to-equity test cannot tell a trader when contagion starts in real time. It identifies changes after the fact. The authors present contagion testing as a risk-management tool, saying that measuring market interaction is essential for "accurate design of such hedging strategies." Reading its output as a daily allocation or hedging signal gives a full-sample break search the status of information available on the day.
From the 2005 regression to the 2025 date loop
Hatemi-J and Hacker (2005) supply the regression. It relates the world stock index Z to oil X through four parameters: Z_t = a1 + a2·D_t + b1·X_t + b2·D_t·X_t + e_t. The dummy D_t takes 0 before a candidate break and 1 afterward. The coefficient b2 measures how much oil's slope on equities changes after that break. Under the paper's definition, a positive and significant b2 establishes contagion. That definition comes from Forbes and Rigobon (2002): a statistically significant increase in the relationship between markets following a shock.
The original 2005 test required a break date chosen in advance. Hatemi-J (2025) proposed the dynamic extension, which loops through candidate dates. This paper contributes the GAUSS code for that loop, accessed through a GAUSS graphical interface. Its default starting point is 45% of the sample, though the user can change that share. The candidate break then moves forward one observation at a time.
At each date, the code estimates plain OLS and reports t-stats. A pairwise bootstrap follows: rows of (Y, X, D) are sampled with replacement, with 1000 replications in the example. The output includes mean and median bootstrap coefficients alongside an empirical p-value.
For the application, the authors take daily Bloomberg observations of a world stock price index and oil prices from 9 November 2018 to 14 May 2020. The universe is one pair, observed for about 18 months. They report a positive mean bootstrap b2 throughout, with the slope chart's axis extending from 0 to 0.09. Their finding at the 5% level is "a significant change in the impact of oil prices on the world stock prices index until 9 th of January 2020". They say this date "approximately represents the end of the COVID pandemic."
A stronger slope supplies no P&L
A positive b2 says that oil and the equity index moved together more strongly after the break. It measures dependence. Whether a diversified portfolio suffered losses, or an oil hedge stopped working, remains a separate question.
Neither outcome is reported. The application presents two graphs and screenshots of the program's printout; we found no table of b2 estimates or p-values. We also found no statement establishing whether the inputs are price levels or returns. The distinction matters for interpretation. If both inputs are trending price levels, a b2 no higher than 0.09 on Graph 1's axis could be an artifact of spurious regression. With daily returns, the same change would describe an ordinary beta shift.
Which observations does each date use?
The paper says the tests "need to be implemented by utilizing subsamples," and promises that "the potential contagion effect is measured across the time span." Its pseudocode uses obstot rows in every regression, meaning the full dataset. It assigns zeros to D for the first obslow observations and ones to all remaining rows. The loop stops once obslow exceeds obshighO, set at 55% of records.
The promised full-span scan therefore becomes a search over a tenth of the sample. Only the split point moves, through the sample's middle; every estimate includes all observations through 14 May 2020. Data on both sides of each candidate date enter the estimate. This is a retrospective search for a break.
The documentation offers conflicting accounts of the scan. In the flow chart, the post-crisis block is the "top 75% of all records." The slope chart shows dates from 09/11/2018 to 09/05/2020, covering nearly the entire period. By our calendar arithmetic, 55% of the way through a sample from November 2018 to May 2020 falls around September 2019. On that reading, 9 January 2020 lies outside the code's search range. We cannot establish which version generated the published charts.
The missing adjustment in the "leverage" bootstrap
The paper claims that its leverage bootstrap "does not assume any a priory distribution for the underlying data" and yields reliable critical values. The pseudocode gives grounds to question that claim.
It assigns adjres = varres. We found no residual leverage adjustment in the pseudocode.
The sampling instruction is index = 1 + trunc(obstot·rndu). It selects daily rows independently, taking D along with each row. Time-varying volatility is the authors' stated reason for using a bootstrap. Paired sampling handles heteroskedasticity, but independent daily draws discard the serial dependence in that volatility. Carrying D into each draw also lets the counts of pre-break and post-break observations vary. Nothing in the resampling imposes the no-change null.
The description of the p-value goes no further than "related to the value of Medianc_n." Graph 2's caption identifies the null as no change in the slope parameter. How the sorted draws produce that p-value, and whether the resampling imposes the null, are left unspecified in the pseudocode.
Each candidate date also faces a pointwise 5% test. We found no sup-type or multiple-testing correction over the scanned dates, so a sequence of significant dates overstates the evidence. The claimed good size and power properties come from the 2005 simulations. For the dynamic extension, the paper relies on Hatemi-J (2025), listed as unpublished. It supplies no fresh simulation evidence.
The chronology is another problem.
The pandemic was beginning in January 2020. Taking the until-9-January reading literally produces a stranger result still. With an endpoint of 14 May 2020, the sample includes the March equity crash and April oil collapse. The reported period of significant slope change nevertheless ends before either event.
Our substitute asks about ETF diversification
We could not trade the paper's series: the two Bloomberg indices lack sufficiently precise identification for replication. We used VT in place of the world equity index and USO in place of oil. That substitution preserves the statistical question. It changes the economic exposure, since USO includes futures-roll effects and VT has its own tracking characteristics. Our run therefore examines ETF diversification.
We cannot reproduce the authors' bootstrap either. Our explicit paired bootstrap cannot substitute for a leverage adjustment that has not been specified. Daily returns, a trailing estimation window, a multiple-break adjustment and an allocation rule are also our additions. That strategy is currently being evaluated; none of its figures appears here. Any result will describe our overlay.
A result worth acting on would have to clear a specific hurdle: a trailing-window version with a sup correction would need to flag a b2 break in VT/USO before the March 2020 drawdown.