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

WaVeFuse's Biggest Gain Crosses the Causal Boundary

The ablation ranks plain Symlet-4 filtering above both branded components, and that step runs offline

2026-09-16 · 8 min read · US equity ETFs, primarily IWM as a tradable Russell 2000 proxy, with additional liquid US index ETFs such as SPY and QQQ for robustness testing.

Reviewing: WaVeFuse: Regime-Adaptive Equity Index Forecasting via Channel-Wise Wavelet Denoising and Vertical Attention Fusion · Aashish Bohra and Vivek Vijay · Read it on arxiv

Our backtest of this idea

Our automated quick test, not the paper's

Strictly Causal WaVeFuse IWM Next-Session Return Strategy

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

Why these figures are not the paper's (3)

Run on a different market than the paper

The paper forecasts non-holdable equity-index levels, including non-US KOSPI and DAX indices. We would trade liquid US equity ETFs, primarily IWM for Russell 2000 exposure, using their own daily OHLCV histories; the price-path forecasting mechanism based on denoised OHLCV, technical indicators, and multi-scale features can survive this swap, but the paper's reported performance figures do not transfer to ETF implementations.

The paper's own figures describe its universe and do not carry over to ours.

This is not a replication of the paper (3)

  • The paper's KOSPI and DAX index samples cannot be reproduced because the platform does not provide broad non-US equity-market coverage.
  • Wavelet denoising and continuous-wavelet features must be implemented strictly causally within each rolling training and inference window. Any centered transform, whole-sample denoising, or use of observations beyond the decision timestamp would introduce look-ahead leakage and would not be a valid trading implementation.
  • The paper forecasts index closing prices, while the implementable strategy trades ETF prices. ETF tracking error, fees, distributions, and execution timing mean the resulting backtest evaluates an ETF adaptation rather than the paper's original index-level claim.

The figures below measure what we could run, not the paper's own method, so they are not evidence for or against its claim.

Our own audit found this run does not follow the paper faithfully (14)

  • Eq. 1 one-step forecast (invalidates: Paper price-level R-squared values including Russell 2000 R²=0.8276; paper price-level MAE, RMSE and MAPE comparisons)
  • OBV formula (invalidates: Exact reproduction of paper forecasts, directional accuracy, trading results, attention behavior and ablation magnitudes)
  • Paper directional forecast return (invalidates: Paper price-level R², MAE, RMSE and MAPE results)
  • Paper risk-adjusted entry rule (invalidates: Paper Russell 2000 risk-adjusted CAGR 26.2%, volatility 6.1%, Sharpe 3.55, maximum drawdown 3.5%, profit factor 2.75 and final value 12,173; paper cross-market risk-adjusted averages)

10 further finding(s) are described in the note.

These are our findings about our own implementation, not criticisms of the paper. Read the figures below as a description of what we ran.

Jan 2020Total 2.7%Jul 2024
Sharpe
0.03
Total Return
2.7%
Max Drawdown
-41.1%
CAGR
0.6%
Volatility
21.5%
Beta vs SPY
0.68
Trades
76

What the paper reports for its own strategy

  • WaVeFuse directional strategy, 365-day 2023 out-of-sample, 10bp per-trade cost: mean CAGR 24.6%, mean Sharpe 3.69, mean max drawdown 3.7%, mean win rate 57.1%, mean profit factor 2.49
  • Per-index directional (2023, 10bp): KOSPI CAGR 34.4%, Sharpe 4.73 [95% CI 4.37-5.09], max DD 1.9%; GDAXI 13.3%, Sharpe 1.96 [1.78-2.14], DD 4.3%; NYSE 27.8%, Sharpe 5.24 [4.85-5.63], DD 1.8%; Russell 2000 22.9%, Sharpe 2.83 [2.60-3.06], DD 6.6%
  • WaVeFuse risk-adjusted variant (2023, 10bp): mean CAGR 19.0%, mean Sharpe 3.16, mean max drawdown 2.5%
  • Benchmarks in same backtest: XGBoost mean CAGR 6.8%, mean Sharpe 0.77, mean max DD 6.1% (GDAXI -4.4% CAGR, Sharpe -1.25); Buy & Hold mean CAGR 7.1%, Sharpe 0.33, max DD 14.8%
  • COVID-19 crash (Feb-Apr 2020, KOSPI, model frozen on 2010-2019 training): directional total return -0.39%, Sharpe -0.12, max DD -7.50%, vs Buy & Hold -11.89% and -34.05% DD
  • Trump tariff period (Jan-Apr 2025, KOSPI, frozen model): directional total return 7.73%, Sharpe 2.13, max DD -3.42%; risk-adjusted 3.09% return, Sharpe 1.49, DD -1.31%; Buy & Hold 6.57%, Sharpe 0.91, DD -14.14%

WaVeFuse gets its largest measured improvement from offline denoising that a live system could not reproduce causally. Bohra and Vijay report a +18.8% mean MAE penalty when Symlet-4 denoising is removed. The channel-wise wavelet encoding follows at +11.6%, then the fusion gate at +5.7%. Yet the denoiser runs across each complete training and validation split rather than arriving sample by sample. Everything after that is compact: 152,116 parameters, 0.68 MB on disk, and 0.95 to 1.26 ms per sample on an RTX 5060 Ti.

The machinery

The system starts with two preprocessing stages, then divides into two encoder branches. Raw index OHLCV contains microstructure noise, which passes into any technical indicators calculated from those prices. WaVeFuse cleans the series first. A level-2 Symlet-4 discrete wavelet transform is applied independently to each of the five OHLCV channels, using soft thresholding with a MAD-based universal threshold. Seven low-lag indicators are then calculated from the cleaned data: RSI-10, Stochastic %K-14, CCI-14, OBV, ATR-14, Williams %R-14, ROC-12.

The paper's new contribution appears in the next stage. One indicator value describes the current state without showing how long that state has persisted. For each indicator channel, the authors therefore apply a causal Morlet continuous wavelet transform with omega0 = 6, 32 uniformly spaced integer scales, convolution truncated at t, and a 192-day burn-in. The seven scalar readings become a 32x7 scale-space matrix at every timestep.

A two-layer Transformer attends across the 32 scale tokens. It uses 4 heads, d_k 16 then 32, and deliberately omits the feed-forward sublayer. Alongside it, a CNN-BiLSTM processes a 20-day window of denoised OHLCV. Each branch projects into 32 dimensions. Vertical Attention Fusion then combines them through a two-token softmax gate, producing one convex weight for each branch. The authors present VAF as a regime mechanism: frequency-domain anomalies should raise the spectral weight, while trends should shift weight toward the temporal branch.

The Yahoo Finance sample contains four indices from 2010 through 2023: KOSPI with 3,448 sessions, DAX with 3,552, NYSE Composite with 3,522, and Russell 2000 with 3,522. Sliding-window walk-forward estimation uses roughly 1,250 to 1,300 training days, 90 validation days, and 21-day steps. Scalers are fitted only on the training fold. The final 365 sessions of 2023 form the hold-out.

Reported R2 on price levels is 0.9640 for KOSPI, 0.8098 for DAX, 0.8444 for NYSE, and 0.8276 for Russell 2000. Directional accuracy ranges from 70.51% to 78.26%. Diebold-Mariano statistics against XGBoost run from 4.62 to 10.38, with all p below 0.001. Across twelve index-period configurations and seven published models, the paper reports MAE reductions from 8.9% for Tian et al. on NASDAQ, 85.83 versus 94.23, to 20.2% for Rezaei et al. on Nikkei 225, 108.91 versus 136.45.

The trading rule goes long when predicted return is positive and otherwise holds cash. With 10bp per trade, 10,000 units of starting capital, a 2% risk-free rate, and a 2023-only test, mean CAGR reaches 24.6%. Mean Sharpe is 3.69 and mean max drawdown is 3.7%. In the same backtest, XGBoost produces 6.8% mean CAGR and Sharpe 0.77. Buy and Hold records 7.1% CAGR, Sharpe 0.33, and 14.8% drawdown.

The denoiser reaches beyond t

The paper acknowledges the mismatch. Its channel-wise continuous wavelet branch truncates convolution strictly at t under Eq. 6. Symlet-4 denoising instead uses the whole isolated split. In the authors' words, "the DWT denoising is an offline step that utilizes all samples within the isolated" training split. They describe this as standard financial preprocessing and exclude the out-of-sample test period entirely. Excluding that period is necessary, though it does not settle the causal problem inside each split.

A Mallat filter bank reconstructs the value at t from thresholded coefficients whose support extends around t. When the transform covers an entire split, the denoised close at t depends on neighbouring closes before and after it. The target also uses the denoised series. Section 3.2 defines it as the normalized next-day closing price, with tilde notation marking the denoised and normalized channels. A live system is therefore asked to predict a label already smoothed with later days.

Another ambiguity remains. Table 5 says RMSE is calculated on "inverse-scaled closing prices" and MAE on inverse-scaled prices. We did not find a statement establishing whether either reference series is raw or denoised.

Section 4.6.1 anticipates criticism of the preprocessing and replies: "Importantly, this does not imply that preprocessing alone explains WaVeFuse's advantage," citing contributions of 11.6% and 5.7% as evidence that the architecture still improves clean inputs. Fair enough. The larger issue is the ranking. Symlet-4, the component outside the causal boundary, is the biggest measured contributor. Removing it raises mean MAE by 18.8% across the four indices. Removing the channel-wise CWT costs 11.6%. Equal weighting in place of VAF costs 5.7%. Replacing the BiLSTM decoder with an MLP costs 3.6%.

CWWT and VAF rank second and third in the paper's own four-index ablation.

Those priorities come directly from the authors. Their conclusion calls Symlet-4 denoising "is the single largest performance driver, accounting for an 18.8% mean MAE degradation when removed," while the abstract reduces the evidence to "Ablation verifies component-wise contributions." The paper's framing still revolves around the two branded components even though its ablation places plain denoising above both.

How far does the regime claim go?

VAF contributes 5.7%, and its tail-error interpretation runs in the expected direction. Across all four indices, Table 11 shows a larger RMSE deterioration than MAE deterioration when VAF is removed. Adaptive weighting could produce that pattern by reducing large misses.

Evidence that the gate actually switches with regime is much thinner. The paper gives single-instance alpha_spec snapshots of 0.48 on KOSPI, 0.68 on GDAXI, 0.60 on NYSE, and 0.53 on Russell 2000. It compares these with a KOSPI test-set average of 0.40, treating the 0.08 difference as evidence of regime dependence. The snapshots span all four indices, whereas the 0.08 comparison covers KOSPI alone and sets one snapshot against one average.

Section 4.2.1 discusses 20-day rolling realized volatility and says the gate "is expected to assign elevated weight to the spectral branch" during the highest-volatility portion of 2023. The paper reports no gate weights conditioned on measured volatility. Its weights plainly vary. Whether that variation follows the regime relationship required by the derivation remains open, as Remark 1 concedes when it says the Gaussian argument "is not a formal convergence guarantee for the trained softmax gate."

The authors also recognize that autocorrelation partly inflates R2 on price levels. They cite Radfar (2025) for this lag artifact and present the DM test as the conservative check, calling it the more statistically appropriate inference. Yet Section 4.4 describes squared prediction errors being compared "against a naive persistence (random-walk) forecast," while Eq. 24 and Table 9 use XGBoost. The descriptions conflict, and no numerical random-walk statistics appear.

The XGBoost setup has a similar inconsistency. Section 4.4 says the DM benchmark was "trained on the identical feature set and WFV protocol as WaVeFuse." Section 4.7.1 calls the trading-strategy version an XGBoost model "using a 20-day lookback on closing prices." The paper leaves the relationship between those two specifications unresolved.

Our adaptation failed

The figures below come from our own backtest, rather than the paper's. Two disclosures govern the comparison. We cannot reproduce KOSPI or DAX at all because our data lacks broad non-US equity markets. The paper also forecasts index closing levels, which cannot be held directly, so we traded IWM as a Russell 2000 proxy using its own daily OHLCV. Tracking error, fund fees, distributions, and execution timing separate IWM from the index. Our run consequently tests an ETF adaptation rather than the paper's index-level claim.

We changed two other elements. Denoising is endpoint-only. At each t, we reconstruct one value from trailing observations through t, capped at 1,260 sessions. A live implementation cannot use a two-sided transform without look-ahead, making this boundary mandatory. We also predict next-session simple return instead of normalized price level, while retaining Huber delta at 0.1.

From 2020-01 to 2024-07, the adapted strategy returned 2.72% in total and 0.60% CAGR. Sharpe was 0.03, Calmar 0.01, and max drawdown 41.15% across 76 trades. Every fill includes commissions of $0.0040 per share with a $1.00 minimum. Fills use the MOC auction print, so slippage is zero rather than omitted.

For its Russell 2000 directional strategy in 2023, the paper reports 22.9% CAGR, Sharpe 2.83, and 6.6% drawdown. Our Sharpe of 0.03 and their 2.83 describe different experiments: ETF versus index level, return versus price target, endpoint-only versus offline denoising, and a different four-and-a-half-year window versus one calendar year.

Our signal is nearly worthless on the clearest two diagnostics. We record profit factor 1.03 and win rate 52.63%. The paper's Russell 2000 directional row shows 2.00 and 55.3%, using another instrument in another year. Annualized volatility in our run is 21.52%, with beta of 0.68 to SPY. Taking that much market exposure through a long-or-cash rule for 0.60% CAGR explains the drawdown. The 41.15% loss fits a window containing the COVID crash and the 2022 bear market. By comparison, the paper's own 2023 Buy and Hold leg for Russell 2000 returned 8.4% at 16.9% volatility, during a benign year.

Removing two-sided denoising support should reduce apparent next-day predictability. A de-trended return target also removes the level persistence that the authors acknowledge inflates R2, while delta = 0.1 becomes effectively quadratic for tiny residuals. Those changes alone cannot explain a 2.83-to-0.03 Sharpe gap, and we will not claim that they do. One possible source remains beyond our ability to check: our spectral branch may differ from the paper's Eqs. 6-7. If it is mis-specified, our run does not contain the stated CWWT and VAF contributions.

The architecture is cheap, and the method can be stated cleanly. The decisive test is to rerun Symlet-4 endpoint-by-endpoint, repeat the four-index ablation under that boundary, and place the twelve SOTA configurations beside it. If the 18.8% denoising contribution survives, I will change my reading of the entire paper.

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.

For each fixed walk-forward fold:
    1. Use 1,260 prior trading sessions for training, 90 for validation,
       and advance the fold by 21 sessions.
    2. Reset spectral history at the first training observation and discard
       the first 192 fold observations from spectral samples.
    3. At every endpoint t, independently denoise open, high, low, close,
       and dollar volume with a level-2 Symlet-4 DWT using only trailing
       data through t, capped at 1,260 sessions. Retain only the reconstructed endpoint.
    4. Compute RSI-10, Stochastic %K-14, CCI-14, OBV, ATR-14,
       Williams %R-14, and ROC-12 from the denoised channels.
    5. Fit separate 0-to-1 min-max scalers for OHLCV and indicators using
       training-fold data only; freeze them for validation and out-of-sample data.
    6. Construct a 20x5 temporal window and a 32x7 causal Morlet-wavelet
       spectral representation ending at t.
    7. Encode the temporal input with Conv1D and stacked BiLSTMs; encode
       the spectral input with two attention layers and learned scale pooling.
       Fuse the two 32-dimensional representations using vertical attention.
    8. Train against r[t+1] = close[t+1] / close[t] - 1 with Huber loss,
       Adam, seed 42, and validation-loss early stopping. Freeze the selected
       fold checkpoint before producing out-of-sample predictions.

After day-t OHLCV is available:
    prediction = model(features_through_t)
    target_weight = 1 if prediction > 0 else 0
    submit the state change at the close under the platform's MOC convention
    earn target_weight * (close[t+1] / close[t] - 1) over the next session
    do not trade when required real OHLCV or execution prices are missing