Research

Robust learning at low signal-to-noise

You can only measure how robust a model is to noise in a setting where you know the signal. This page covers how we built that setting, how a standard xLSTM behaves in it, and the changes that made it more robust.

At a glance

  • DA-xLSTM is a noise-robust variant of the xLSTM architecture developed at ANC Labs. It combines a clipped training target, a smaller hidden state (16 → 4) and an average of five models.
  • In ANC Labs' synthetic signal-to-noise lab, DA-xLSTM delivered 16–36% higher signal efficiency than a standard xLSTM in all 5 test cells.
  • The lab's data generator is calibrated to 13 statistics of real crypto perpetual data, and all 13 fell within tolerances set in advance. 1,583 lab measurements were run in total.
  • Across training panels, DA-xLSTM's results varied 20–42% less than the standard xLSTM's, with no degenerate solutions in any cell.
01 — Problem

Models that memorise noise

Daily data from crypto perpetual markets is hard in three ways. First, the tails: the Student-t tail parameter of returns is about 2.8, so extreme days come far more often than a normal distribution would suggest. Second, co-movement: the average correlation between assets is around 0.58, which means a cross-section of a hundred assets carries much less independent information than it seems. Third, volatility clusters and persists (GARCH persistence 0.97).

Under these conditions a flexible model starts learning noise long before it runs out of data. When we looked at the epoch where a standard xLSTM hit its best validation score, it was within the first two epochs in 86% of 170 runs. The rest of training wasn't improving the model; it was fitting it to noise.

1: 67
2: 79
3: 17
4: 6
5: 1
12345

epoch

Figure 1. The epoch with the best validation score, across 170 training runs.
02 — Synthetic SNR lab

Building a market with a known signal

On real data there's no way to separate the signal a model picks up from the noise. That's why the lab exists: a data generator that mimics the statistics of the real market, but where we know how strong the planted signal is.

The generator combines three processes. On the price side, a two-state regime drives the market factor; assets fall into four clusters, each with GARCH-style volatility. On the signal side there is a hidden, persistent component that the model only sees through a noisy measurement. On the funding side there is a shared persistent component and an asset-specific one. Four of the nine features given to the model are pure noise on purpose, and a good model has to learn to ignore them.

Calibration used moments from real data through the end of 2025 only, and all thirteen targets below landed inside tolerances set in advance.

Figure 2. Components of the synthetic data generator
lab measurements (fit + evaluation)
1,583
experiment cells (main grid)
26
uninterrupted run time of the main grid
18.3 h

Calibration: real panel vs. generator

MomentRealSyntheticTolerance
Cross-sectional return correlation (ρ)0.5810.553±0.05within tolerance
Tail thickness (ν)2.783.08±0.50within tolerance
Volatility persistence (GARCH)0.9690.946±0.05within tolerance
Funding persistence0.7480.764±0.10within tolerance
Correlation of funding and flow signal−0.161−0.158±0.10within tolerance
Funding vol / return vol0.0340.032±20% relativewithin tolerance
Median volatility0.0560.053±15% relativewithin tolerance
Flow signal persistence (10 days)0.5340.456±0.10within tolerance
Cross-sectional spread of volatility0.3470.290±0.15within tolerance
Dispersion of betas0.2420.256±0.10within tolerance
Share of common component in funding (daily)0.1910.225±0.05within tolerance
Share of common component in funding (10-day)0.3200.380±0.07within tolerance
Funding cross-sectional dispersion ratio0.2870.316±0.08within tolerance
03 — Results

The weaker the signal, the larger the gap

Efficiency is the information coefficient (IC) between a model's forecasts and realised returns, divided by the best linear IC achievable on that data. 1 is the ceiling itself; 0.5 means half the available information was captured.

DA-xLSTM delivered higher efficiency than the standard xLSTM in every cell we tested: +0.118 to +0.212 in absolute terms, 16–36% in relative terms. In the persistent-signal regime the relative gain grows as the signal weakens: 16% at t = 4.5, 35% at t = 1.5. The changes help most exactly where noise dominates.

  • DA-xLSTM
  • standard xLSTM
  • linear ceiling
0.40.60.81.01.52.54.5planted signal strength (t)efficiency0.40.60.81.01.52.54.5planted signal strength (t)efficiency
Figure 3. Shaded bands show ±1 standard deviation across training panels; the dashed line is the linear ceiling. Regime b (persistent signal).

The five test cells

Signal regimeSignal strength tStandard xLSTMDA-xLSTMGainRelative
a — memoryless signal2.50.5820.794+0.21236%
b — persistent signal1.50.5180.698+0.18035%
b — persistent signal2.50.5960.762+0.16628%
b — persistent signal4.50.7290.847+0.11816%
c — regime-dependent signal2.50.6230.782+0.15825%
04 — DA-xLSTM

Three changes, each tested on its own

The starting point is an sLSTM with exponential gating, written in plain PyTorch. Because the exponential input gate grows linearly with the input, a single extreme observation in fat-tailed data can dominate the cell state for a long time. A wide hidden state also means too much freedom for low-signal data.

We tested each change on its own first, with a hypothesis, expected effect and pass criterion written before the run. Changes that passed and were compatible with each other were combined; target clipping and Huber loss do the same job, so only clipping went in.

Figure 4. The DA-xLSTM block and its changes
Target clipping+0.062
Huber loss+0.109
Capacity (hidden 16 → 4)+0.061
5-model ensemble+0.093
Combined: DA-xLSTM+0.12–0.21
Figure 5. Efficiency gain. Whiskers are 95% confidence intervals for the single changes, measured in one test cell. The last row spans the combined model's lowest and highest gain across the five test cells; it is a range, not a confidence interval. Huber loss also helped but did not make the final configuration.
narrower spread across training panels; the model is more consistent across different training data
20–42%
cells with no degenerate solution (no collapse to a constant or neutral forecast)
5/5
05 — Findings

Three lessons from the lab

  1. 01

    On noisy data, short memory generalises better

    Long memory is xLSTM's strength. But at low signal-to-noise, feeding a single step instead of a 20-day input window raised efficiency by +0.118 (95% interval +0.052 to +0.183). The long window was giving the model more room to memorise noise.

  2. 02

    Shrink towards a prior, not towards zero

    Classic regularisation pulls coefficients towards zero. When the signal is weak, that wipes out small but real effects too. Shrinking towards a known structure, a prior, keeps that weak signal at the same regularisation strength, and it gives the model a sensible place to fall back to when the data says little.

  3. 03

    A single extreme value can take over the memory

    Because the exponential input gate grows linearly with the input, a single spike of size 3, 6, 10 stays in the hidden state for 0, 5, 12–13 steps respectively. Converting inputs to cross-sectional ranks and clipping the training target keeps this in check.

How we test these results