AQAI QuantAI research lab for systematic strategies

Automated analysis

This analysis was drafted by our research engine and has not been checked by a human editor. It may contain errors. It separates the paper’s own results from our tests, and any figures called ours come from our own backtest.

Our automated analysisOur backtest

Denoising cuts S&P 500 signal share from 40% to 10%

Wouters-Diks wins in simulation, ties on real panels; our long-short book lost 47.67%

2026-09-24 · 8 min read · US equities

Reviewing: Model-agnostic noise reduction for high-dimensional time series data · Bram Wouters and Cees Diks · Read it on arxiv

Our backtest of this idea

Our automated quick test, not the paper's

Rolling Dynamic-Subspace MSE Denoising Long–Short

Backtest period 2020-01-01 to 2024-07-01 · hypothetical, net of modelled costs

Jan 2020Total -47.7%Jul 2024
Sharpe
-0.82
Total Return
-47.7%
Max Drawdown
-69.1%
CAGR
-13.4%
Volatility
12.9%
Beta vs SPY
0.05
Trades
45,200

What the paper reports for its own strategy

  • Macro panel one-step-ahead forecast (not a trading strategy): average MSE 23.47 (standard error 10.87) for VAR(2) on MSE-optimally denoised factors with d = 4. Out-of-sample by leave-one-year-out over 65 years (1960–2024). No trading or cost assumptions; comparable to or slightly worse than orthogonal denoising (22.36).

Cutting the S&P 500 signal share from 39.96% to 10.22% bought no forecast improvement. That is the tension in Wouters and Diks. Their new step adds a regression to a factor projection, and its forecast gains appear in simulations with 8 decaying noise modes, a structure the authors say helps the method at the sample level. The abstract limits its forecast claim to simulation, while Section 4.3 acknowledges the macro tie. On the real panels, the claim that remains is a reclassification of variance. Signal share falls from 39.96% to 10.22% for the S&P 500 and from 73.72% to 46.29% for macro, without better forecasts to validate that reclassification.

How the correction works

The observed n-vector is y_t = x_t + ε_t. Its signal, x_t, occupies a d-dimensional linear subspace and contains all the serial dependence. Noise is white through time, though its cross-sectional covariance can take any form. At nonzero lags its autocovariance vanishes, leaving the lagged covariances of y equal to those of the signal. The method combines lag-1 and lag-2 products as K = Σ_y(1)Σ_y(1)' + Σ_y(2)Σ_y(2)'. Eigenvectors of K with nonzero eigenvalues then span the dynamic subspace without the noise bias of ordinary principal components. This part comes from Lam, Yao and Bathia (2011) and, for curve data, Bathia, Yao and Ziegelmann (2010).

An orthogonal projection of y onto that subspace discards noise outside it. Noise aligned with the factor directions stays; the authors call it parallel noise. In their simulations, that retained variance sets the error floor for orthogonal denoising, even as the sample grows.

The new work uses contemporaneous covariance to tackle that floor. Correlation between parallel and orthogonal noise lets the method estimate orthogonal noise from residuals, regress the in-subspace component on that estimate, and subtract the fitted part. The resulting projection is P_opt = UU'(I − Σ_y W⊥ Σχ⁻¹ W⊥'), with W⊥ holding the principal directions of residual noise and Σχ their variances. The paper proves MSE optimality among projections onto the subspace. It also proves complete noise removal when the dynamic and noise subspaces have no shared direction; a shared direction leaves an irreducible remainder.

The simulation has n = 50 series and d = 4 factors following a VAR(2). Its 8 structured noise modes decay at rate 2/3. Noise accounts for 20% of total variance, T = 400, and each boxplot uses 100 replications. Optimal denoising drives reconstruction error toward zero. Over T = 50 to 25,600, VAR coefficient error after optimal denoising converges to zero; orthogonal and raw estimates remain inconsistent. Even when noise reaches 99% of variance, the method removes about 70% at T = 400.

The real panels are daily log returns for 459 S&P 500 constituents from 5 January 2015 to 13 February 2026 (T = 2795), and the first 20 of 127 FRED-MD monthly indicators. The latter are differenced and standardized, and cover February 1959 to November 2025 (T = 802).

Where does d come from?

Choosing d carries much of the result. The paper proposes a sequential bootstrap with B = 300 and α = 0.05. When true d = 4 in simulation, it approaches nominal error rates at long T, but underestimates at T = 100. The authors attribute almost all MSE outliers to an incorrect d. On both real panels, the bootstrap counter "behaves non-monotonically" and never settles. The authors instead choose d = 4 by eye for each, noting that it matches their simulation default. None of the paper's empirical results therefore uses a d produced by the automatic selector.

The printed algorithm leaves decisions to the implementer, too. Its fitted-value instruction on line 5 is garbled as typeset. The stopping rule refers to an undefined c, although the loop increments a variable named counter. The rejection direction must also be inferred.

For the residual dimension d⊥, the rule retains 95% of residual variance. The authors leave that threshold to the practitioner. With n = 459 and d = 4, there are 455 residual dimensions available; each one retained supplies a regressor for the correction. We did not find d⊥ reported for either real panel.

Theorem 3 establishes an O_P(T^(-1/2)) rate with fixed n and known d and d⊥. Its written proof covers only the case without a shared direction, calling the other "straightforward". One step gives ||Σ̂_y||² = O_P(T^(-1)) where it means the estimation error. Those conditions leave the 459-stock setting with estimated dimensions outside the stated result.

Reading the 10.22% stock signal share

With d = 4 on the S&P 500 panel, biased orthogonal projection (plain PCA) assigns 45.82% of total variance to signal. Projection onto the lagged-covariance subspace assigns 39.96%; MSE-optimal denoising assigns 10.22%. The authors interpret the falls across both panels as evidence suggesting that real-world noise often has a component along the dynamic space.

The same stock figure admits another reading. The correction regresses on residual principal directions in sample. At T = 2795, with d⊥ unreported and as many as 455 residual directions available, it could absorb in-subspace variance when the true correlation is small. The authors recognize the risk: retaining 95% of residual variance drops small residual factors to reduce overfitting on noise. Without a reported d⊥, the reader cannot gauge how much protection that choice provided. The paper also concedes that high noise-to-signal ratios and short T can make denoising harmful in simulation (MSE/λ > 1) through overfitting. Stock returns supply no ground truth for x_t, so the variance table cannot decide between the readings.

The forecasting check offers little support for the smaller share. According to the authors, one-step VAR forecasts from all three methods fail to improve meaningfully on the total variance of returns. They consequently give no stock forecast figures. The surviving 10.22% describes a decomposition; the stock forecast exercise found no useful prediction from it. The sample includes only names with complete histories over 2015 to 2026. That creates survivorship by construction, though the concern is smaller for a variance decomposition than for a backtest.

Macro forecasts supply the out-of-sample comparison

The macro signal share moves from 78.07% under the biased method and 73.72% under orthogonal projection to 46.29% under optimal denoising. Forecasts tell a different story. Across 65 leave-one-year-out folds using VAR(2) and d = 4, average one-step MSE is 22.90 (standard error 11.29) for biased, 22.36 (10.83) for orthogonal, and 23.47 (10.87) for optimal. The proposed method has the highest mean. With standard errors near 11, the three results are indistinguishable.

The authors write that "the three methods perform comparably on average, with overlapping standard errors" and acknowledge that optimal denoising does not systematically outperform orthogonal denoising. They suggest that the panel departs from a low-dimensional VAR with additive white noise, leaving all three inputs similarly misspecified. That explanation is probably right, and it narrows the simulated forecast advantage to data resembling the simulation's construction.

Several choices may help every method: training folds include years after the test year, standardization draws on full-sample variances, and d comes from inspection of full-sample eigenvalues.

Optimal still finishes third.

Our long-short book, 2020 to mid-2024

We made a daily dollar-neutral book from the method. Each year, its universe was the prior year's 100 highest dollar-volume non-ADR US stocks. At every rebalance, we estimated the subspace from trailing 756 daily returns at lags 1 and 2. A 300-draw bootstrap chose d, after which we constructed P_opt using the 95% residual cutoff. We fitted a VAR(2) to the projected factors to forecast the next session, going long the top 10 and short the bottom 10 at 0.5 gross per side.

From 1 January 2020 to 1 July 2024, our book returned -47.67%. Its Sharpe was -0.82, maximum drawdown -69.14%, profit factor 0.95 across 45,200 trades, and volatility 12.92%. Beta to SPY was 0.05, so market exposure does not explain the loss. The figures include commissions of $0.004 a share with a $1 minimum. They exclude short borrow, financing and market impact, each of which would make the loss larger.

The paper gives no trading result. Its nearest comparison is monthly macro forecast MSE: 23.47 for optimal versus 22.36 for orthogonal. That measures something different from our daily P&L Sharpe of -0.82. For stocks, the paper says no method's VAR forecast meaningfully improves on the total variance of returns, which suggests a gross edge near zero. Our 49.32% win rate fits that picture, as does the loss.

Our implementation offers likely contributors. About 40 fills a session over roughly 1,131 sessions mean daily commissions for a zero-edge book. We also had the bootstrap choose d in every window. The paper found it unstable on real data and used a fixed d = 4 instead; changes in d reorient the factors and should increase ranking noise and turnover. Two other explanations remain hypotheses. We recorded fills at the close although the design forecast a next-open-to-close trade, a mismatch that could move realized returns either way. The 2020 to 2024 window on a rolling 100-name universe could also yield noisier lagged covariances than 459 names over eleven years.

We cannot fully account for the size of the loss. This run has no gross-return figures and no side-by-side forecast accuracy for optimal, orthogonal and raw models. It shows that our implementation lost money; it leaves open whether optimal denoising ranked stocks worse than orthogonal projection. It is one automated pass, rather than a verdict on the authors' work.

A comparison that could change the verdict

The useful next test would fix d = 4, estimate on an expanding chronological window, and compare forecast MSE and rank correlation for all three projections on the same sample before forming a portfolio. The paper's macro result sets an unpromising prior for optimal denoising: 23.47 against 22.36 for orthogonal projection. An out-of-sample win on that comparison would change my view. For now, the linear algebra is sound, while the empirical record here consists of two in-sample variance decompositions and a forecast table in which the method finishes third.

Our backtest stops at 2024-07-01, and everything after that date is deliberately left untouched so the same strategy can be checked out of sample later.

How our backtest worked

The steps the code we ran actually executed, from its strategy card. Ours, not the paper's — it is one automated implementation of the idea, not the authors' own.

At each annual refresh, screen the prior completed year's 100 highest-dollar-volume non-ADR US stocks.
After each signal close, retain names with complete adjusted-close returns for the trailing 756-return window; skip if fewer than 20.
Estimate lag-1 and lag-2 covariance products and their leading dynamic eigenvectors. Select dimension by the sequential 300-draw bootstrap; skip failed selections or inversions.
Estimate the 95%-variance residual noise basis and MSE-optimal projection. Fit a no-intercept VAR(2) to projected factors and forecast next-session returns.
Rank forecasts; target equal weights in the top 10 longs and bottom 10 shorts, with 0.5 gross exposure per side and a 10% per-name cap. Rebalance or exit daily, subject to available execution prices and limits.
Compute orthogonal-projection and raw-return VAR forecasts as diagnostics, not traded portfolios.

The specification calls for next-day adjusted-open entry and adjusted-close exit; the platform cost record instead identifies daily MOC execution. The supplied summary does not reconcile these execution horizons.