Eliminating overfitting through rigorous statistical validation and technical signal extraction.


Standard Machine Learning (SML) was designed for static environments. Financial Machine Learning (FML) operates in a non-cooperative, adversarial environment where prediction changes the outcome.
"In computer vision, the cat does not turn into a dog because you identified it. In finance, identify a pattern and it reacts and disappears."
| Feature | Standard ML | Financial ML |
|---|---|---|
| Data Nature | IID (Independent/Identical) | Non-IID, Autocorrelated |
| SNR | High (Signal > Noise) | Extreme Low (Noise > Signal) |
| Environment | Passive / Static | Adversarial / Reflexive |
| Primary Goal | Accuracy | Sharpe Ratio |
| Overfitting | A common risk | The fundamental default state |
Most ML algorithms assume samples are Independent and Identically Distributed (IID). In finance:
Shelf-life is measured in weeks. Requires Regime Detection.
Low signal, unstable dynamics, and extreme scarcity create a "Perfect Storm" for overfitting.
SNR is often below 0.05. Powerful models mistake the hurricane for the whisper.
Integer differencing (\( d=1 \)) creates stationarity but destroys memory.
Fractional Differencing preserves memory while achieving stationarity.
Traditional "sign-based" labeling ignores the path. Elite quants use dynamic barriers that account for risk and time-decay.
Barriers should be scaled by trailing volatility (\( \\sigma_t \)). This ensures the model isn't "shaken out" by normal market noise.
y_t = 1y_t = -1y_t = 0# Implementation Logic
for t in timestamps:
if price[t+h] > pt_level: return 1
if price[t+h] < sl_level: return -1
if h > time_limit: return 0Introducing a "Secondary Model" that asks: "Given the current context, should I follow the Primary signal?"
Predicts binary 0 or 1: Pass or Trade.
1. Primary Signal: Generate a 'Side' (+1 or -1).
2. Outcome Test: Run signal through Triple Barrier.
3. Secondary Label: 1 if Primary won, 0 if it lost.
4. Training: Train ML model to predict these labels.
Backtests are often "mirages." Statistical Armor is required to deflate performance claims.
The Deflated Sharpe Ratio (DSR) corrects for selection bias and non-normal returns.
If you test 100 random noise signals, one will look good. DSR adjusts for this luck.
Avoid the MDI Trap (In-Sample). Use Mean Decrease Accuracy (MDA) (Out-of-Sample) to find true signals.
| Method | Context | Risk | Decision |
|---|---|---|---|
| MDI (Impurity) | In-Sample | Massive Overfitting | ❌ Avoid |
| MDA (Accuracy) | Out-of-Sample | Computationally Expensive | ✅ Standard |
| SFI (Single Feature) | Cross-Sectional | Ignore Interactions | ⚠️ Supporting |
| Shapley Values | Local/Global | Interpretable but slow | ✅ Advanced |
Regularization penalizes large weights to force model humility.
Remove overlapping training samples.
Add buffer period after test set.
Test all Train/Test paths.