KILLED · look-ahead
Hypothesis
A discrete wavelet transform separates price into time–frequency bands; trading the denoised low-frequency trend while ignoring high-frequency noise improves momentum timing.
Math — DWT decomposition
Decompose the log-price into approximation + detail coefficients across levels $j$:
$$ x_t = \sum_{k} a_{J,k}\,\phi_{J,k}(t) + \sum_{j=1}^{J}\sum_{k} d_{j,k}\,\psi_{j,k}(t) $$
Reconstruct using only low-frequency approximation bands as the "trend".
Method
Daubechies-4 DWT, trade the slope of the reconstructed trend. Tested with both batch and strictly-causal (online) transforms.
Results
| Batch DWT backtest Sharpe | 2.3 |
| Strictly-causal (online) DWT Sharpe | 0.0 |
| Edge source | boundary look-ahead |
The impressive backtest was pure look-ahead: a batch wavelet transform uses future bars to denoise the present (boundary effect). Re-run strictly causally, the edge is exactly zero. A textbook reconstruction-bias trap.
Any transform that "denoises" a bar using neighbouring bars peeks at the future at the right boundary. If a backtest needs the batch transform to work, it does not work.