Data Augmentation for Financial Time Series
2026-03-18
Financial time series models are chronically data-starved. Even with years of hourly bars across dozens of assets, the number of independent regime transitions — the events that actually matter for learning — is small. Data augmentation is one of the few ways to increase effective training set size without fabricating fake alpha.
Why Standard Augmentations Fail on Price Data
Image augmentations like flipping and rotation have clear analogues that preserve label semantics. Financial time series do not. The augmentations that work for market data must preserve:
- Temporal ordering: shuffling bars destroys the signal entirely.
- Return distribution shape: the fat tails and volatility clustering of real returns must survive augmentation.
- Cross-asset correlation structure: if you augment one asset, the relationship to correlated assets must remain plausible.
Magnitude Scaling
The simplest augmentation that consistently helps: scale the entire series by a random factor between 0.8 and 1.2. This teaches the model that the absolute price level is irrelevant — what matters is the pattern of returns, not whether Bitcoin is at $50k or $100k.
We apply scaling to OHLC jointly (same factor for all four channels within a bar) to preserve candlestick shape. Scaling volume separately with its own factor works because volume distributions vary wildly across assets anyway.
Temporal Jittering
Small random perturbations to bar timestamps — shifting bars forward or backward by a small fraction of the bar interval. This makes the model robust to the arbitrary alignment of bar boundaries with actual market events.
The jitter magnitude matters. For hourly bars, we jitter by up to 5 minutes. Larger jitter destroys the alignment between price action and the underlying order flow that generated it.
Volatility Regime Injection
This is the most impactful augmentation we use. We take a calm period from the training data and inject synthetic volatility by scaling returns within a window by 2-3x while preserving direction. Conversely, we take volatile periods and compress them.
The effect: the model sees more regime transitions during training than exist in the raw data. Since regime transitions are where most trading models fail, this directly addresses the scarcity problem.
We calibrate the injection carefully — the augmented volatility levels must stay within the historical range of the asset class. Injecting 10x volatility into equity data produces unrealistic sequences that degrade the model.
Synthetic Cross-Asset Series
We create synthetic assets by blending returns from 2-3 real assets with random weights. The resulting series has plausible statistical properties (fat tails, clustering, mean reversion at certain scales) without being a copy of any real asset.
This works because the model needs to learn general time series dynamics, not memorize specific asset histories.
Window Cropping and Context Length Variation
During training we randomly vary the context window length from 50% to 100% of the maximum. This prevents the model from relying on always seeing a fixed number of historical bars. We also randomly crop the prediction horizon — sometimes asking for 24-step forecasts, sometimes 12, sometimes 48.
Augmentations That Hurt
Not everything we tried helped:
- Gaussian noise on prices: destroys the microstructure signal. Even small noise can flip the direction of single-bar returns.
- Time reversal: a reversed price series has fundamentally different properties (entropy, autocorrelation structure). The model learns nothing useful from it.
- Random bar dropping: creates artificial gaps that look like data quality issues.
- GAN-generated synthetic series: produced sequences that looked realistic on summary statistics but had subtle structural differences that degraded downstream forecast quality.
Augmentation Schedule
We do not apply all augmentations uniformly throughout training. Early in training, we use minimal augmentation so the model can learn the basic structure of real market data. Augmentation intensity increases in later epochs as a form of regularization.
The schedule: no augmentation for the first 20% of training, linear ramp to full intensity by 50%, hold constant for the remainder.
Summary
Data augmentation for financial time series requires more thought than for images or text. The augmentations that work (magnitude scaling, volatility injection, synthetic blending, window variation) all preserve the statistical properties that matter for forecasting. The ones that fail violate the structure of market data in ways that degrade rather than improve generalization.
Plug: BitBank uses these augmentation strategies in production model training. Check the BitBank dashboard for live predictions and the tech blog for more details.