Digital Signal Processing
Ehlers-class filters applied directly to canonical 1-minute axis. No resampling, no interpolation artifacts.
Powered by PermuCheck™ and RunForward™ Engines
One million statistical tests are executed before a single backtest begins, completed in under sixty seconds. Exhaustive enumeration across the full parameter surface, with every configuration graded, filtered, and delivered.
Open Dojo →Signal discovery, position sizing, and risk management are sequential dependencies. Optimizing all three simultaneously in a backtester is joint optimization over a massive parameter space with maximum degrees of freedom — the fastest path to overfitting.
Does this indicator crossover produce a statistically significant event? Across how many parameter combinations? Is it robust out-of-sample? Does it survive walk-forward, permutation null, and FDR correction?
Given a validated statistical anomaly, how much capital per event? Kelly criterion, fractional Kelly, fixed-fraction — applied to signals that actually passed rigorous testing.
Stop-loss, portfolio-level drawdown limits, correlation management across signals — informed by the statistical properties of vetted anomalies, not curve-fitted backtest outputs.
If you're a quant — you know you're skipping the hard part.
If you manage quants — you know how bad it looks. Your desk is doing backtesting in the name of research. Call it what it is: curve-fitting with extra steps.
You know what deserves ten thousand backtests? Permutations of position sizing. Variations on risk overlays. Execution timing. Those are legitimate optimisation targets — bounded parameter spaces with known distributions.
But signal discovery? That's not an optimisation problem. That's an enumeration problem. And you've been brute-forcing it with a backtester because nothing else existed. Now it does.
Different strategy types demand fundamentally different statistical profiles. The distribution of favorable vs. adverse excursion (MFE/MAE) determines whether a statistical anomaly is actionable — not just whether it has a positive win rate. You cannot assess this without exhaustive enumeration across the full parameter space.
This is the category most practitioners misread. A 30% win rate looks broken until you see the MFE distribution: the rare wins are multiples of the typical loss. If your out-of-sample MFE distribution narrows relative to in-sample, the regime shift you were capturing has decayed. The backtest number is irrelevant at that point. Without mapping the full MFE/MAE surface, you cannot distinguish a viable breakout signal from a curve-fitted artifact.
Without exhaustive enumeration, you cannot map the MFE/MAE distribution across parameter space. You are sizing positions on anomalies you have not statistically validated.
Most signal discovery workflows optimize for win rate. This creates a systematic blind spot: strategies where the edge comes from the magnitude of favorable excursion rather than the frequency of winning trades. Breakout and volatility expansion strategies fall into this category.
A configuration with a 31% win rate and an MFE/MAE ratio of 5.2 can outperform a configuration with a 68% win rate and an MFE/MAE ratio of 0.9. The former captures regime transitions. The latter captures noise. The only way to distinguish between them is to compute the full excursion distribution across the parameter lattice and observe which configurations maintain their MFE/MAE profile out of sample.
Enumeration surfaces these configurations because it does not pre-filter by win rate. Every configuration that satisfies the constraint set is returned, regardless of how its win rate appears in isolation. The bimodal distribution shape, the MFE clustering, and the MAE compression are all visible in the output. A human analyst or downstream model can then assess whether the trade-off profile fits the intended deployment.
The win rate ranges, MFE/MAE ratios, and distribution shapes shown above are approximate reference ranges derived from historical enumeration runs across multiple asset classes. They are illustrative of typical statistical profiles observed within each strategy category. They are not predictions, guarantees, or representations of future performance. Actual values depend on the specific asset, time period, parameter configuration, and market regime at the time of computation. All enumeration outputs delivered through the platform are computed on the specific data submitted by the user and may differ from the ranges shown here. These figures are provided for educational context only.
Every configuration that survives enumeration passes through a cascade of peer-reviewed statistical tests. No cherry-picking. No eyeballing. Each gate carries its academic citation and produces auditable metadata that your compliance team can reconstruct independently.
Cheapest filter. Percentage of events where close direction matched prediction.
HHI-based concentration filter. Ensures signal is dispersed across the window, not clustered in a single burst.
Mean Favorable Excursion threshold. Filters by magnitude of move in predicted direction.
Regime-aware MFE with early termination. MFE must hold across volatility/session regimes.
Session-aligned temporal analysis. Crypto: 48 × 30-min UTC. Equity-RTH: 13 × 30-min ET.
Include/exclude any subset of trading days. Per-day breakdown table in results.
Events must fire on above-average volume. Formula: volume[t] > rolling_mean(volume, N=20) × k.
ATR(14) or Realized Volatility percentile band filter. Events must occur within specified regime.
The killer feature. Sweeps ~100 threshold points on a third indicator to find regime conditioning that improves signal.
Computes the q-th percentile (default 25th) of cost-adjusted per-event MFE. Must clear a basis-point floor.
Breakeven cost probe. Computes the round-trip cost (in bps) at which MFE crosses zero.
Requires a minimum fraction of profitable exits from a specific reason (e.g. ProfitTarget).
Pardo rolling validation: 180d train window, 30 rolls, 1d stride. Must survive ALL rolls.
K-fold cross-validation with purge and embargo to prevent information leakage between train and test sets.
Measures whether the best in-sample strategy systematically ranks below median out-of-sample.
Monte Carlo block-bootstrap: randomly partitions time blocks into train/test across many iterations.
Superior Predictive Ability test. Controls data-snooping bias across the full survivor universe.
Shuffles returns K times (K=200 default, K=1000+ rigorous), applies Benjamini-Hochberg FDR at α=0.05.
DBSCAN on normalized parameter vectors. Annotation-only — never rejects qualifiers.
Fixed last 20% of user window as out-of-sample. Zero re-optimization — in-sample thresholds applied as-is.
Every crossover combination. Every threshold permutation. No cherry-picking. Applied to the canonical 1-minute axis — zero resampling artifacts, full statistical resolution preserved. Your traditional 5-minute or 1-hour bars? They're just subsets of what we test.
Ehlers-class filters applied directly to canonical 1-minute axis. No resampling, no interpolation artifacts.
Bounded indicators for distribution-extreme detection. Composite multi-factor confluence analysis.
Adaptive moving averages and trend-persistence quantification. Cross-asset divergence detection.
Microstructure liquidity cycles, volatility regime detection, and flow analysis.
Canonical 1-Minute Sampling: Every indicator is computed on raw 1-minute OHLCV. Integer periods 1 through 14,000 are tested exhaustively. Higher timeframes are derived mathematically — no resampling, no information loss. This means a "daily RSI(14)" is actually tested alongside RSI(1) through RSI(14000) on the minute axis, revealing structure invisible to traditional charting.
Traditional platforms resample OHLCV into fixed bars (1m, 5m, 15m, 1h) and lose everything between them. We don’t resample. Every integer period from 1 to 14,000 minutes is computed natively on a 1-minute canonical axis. Zero interpolation, zero aliasing, zero gaps.
Interpolation Artifacts · Data Loss · Discrete Gaps
Zero Interpolation · Full Resolution · Every Integer Period
Divergence and convergence across every minute of every trading day, for any two assets, within or across asset classes.
Entire hedge funds are built around lead-lag and mean-reversion relationships between correlated instruments. We made this kind of information an API call away.
A detailed technical reference for teams evaluating our statistical infrastructure. Everything below operates on the same engine that powers ESER™, SlipStream™, and the Machine API.
A researcher tests RSI(14) × RSI(70). Maybe RSI(7) × RSI(30). Perhaps five more combinations. That's 7 out of 196,000,000 possible configurations for a single indicator pair with periods 1–14,000. Coverage: 0.0000036%.
The parameter you trust came from a sample of effectively zero. The parameter space is not something you can manually explore. It's not something your quants are too lazy to do — it's computationally intractable without dedicated infrastructure.
Up to 1,000,000+ statistical tests per sweep in under 60 seconds. Tests every integer period from 1 to 14,000 across all crossover pairs for a given indicator family. Operates on native 1-minute canonical axis — zero resampling.
What time do they diverge? Who leads? What's the divergence magnitude? How long until they converge? For every asset pair — within or across asset class. Crypto, forex, equities, commodities.
Auto session-aligned. Just pick and drop two assets. Multiple lookback periods tested simultaneously. Discovers convergence relationships that traditional correlation analysis misses entirely.
Every qualifying configuration passes through a cascade of peer-reviewed statistical tests. These are not backtests — they're multiple testing corrections that separate genuine phenomena from noise.
Citations: Hansen (2005), Romano & Wolf (2005), Benjamini & Hochberg (1995), Pardo (2008), López de Prado (2018), Politis & Romano (1994).
Sample output from a PermuCheck sweep. Each row = one parameter configuration that passed all gates. Filter below to explore the response surface.
| P1 | P2 | Smooth | N | Days | Occ Days | Win% | MAE | MFE | + |
|---|---|---|---|---|---|---|---|---|---|
| 14 | 70 | 3 | 847 | 252 | 189 | 61.7% | — | — | ⋯ |
| 21 | 80 | 5 | 612 | 252 | 156 | 65.0% | — | — | ⋯ |
| 7 | 30 | 2 | 1203 | 252 | 234 | 57.9% | — | — | ⋯ |
| 28 | 120 | 7 | 389 | 252 | 112 | 66.6% | — | — | ⋯ |
| 5 | 21 | 1 | 1544 | 252 | 248 | 55.0% | — | — | ⋯ |
| 50 | 200 | 10 | 201 | 252 | 78 | 70.1% | — | — | ⋯ |
| 9 | 45 | 3 | 956 | 252 | 201 | 60.0% | — | — | ⋯ |
| 35 | 140 | 5 | 445 | 252 | 134 | 64.0% | — | — | ⋯ |
| 12 | 55 | 4 | 778 | 252 | 178 | 62.0% | — | — | ⋯ |
| 3 | 14 | 1 | 1891 | 252 | 251 | 52.1% | — | — | ⋯ |
10 configurations shown. In production, sweeps return 10,000–100,000+ qualifying rows.
Market data fetcher. Crypto, equities, FX. Multi-exchange support.
OHLCV parser. CSV, JSON, Parquet ingest. Schema validation.
Feature engineering. ML-ready Parquet datasets from enumeration output.
Four integration paths. One statistical engine. Full explainability.
Three independent implementations. Three languages. Three machines. Identical seeds. Grade results 1/3, 2/3, or 3/3 based on agreement. The math is the same. The bugs are different.
Every statistic carries: thresholds, window sizes, indicator periods, smoothing levels, random seeds, timestamps, version hashes. Your auditor rebuilds from scratch without contacting us.
Every valid configuration in your parameter space is computed and delivered. No sampling, no shortcuts, no hidden selections. The full finite-domain surface is yours to inspect, audit, and act on under your specified parameters.
Embed exhaustive statistical enumeration directly in your trading platform. Single HTTPS endpoint. White-label ready.
The Complete Response Surface. Delivered.
Exhaustive finite-domain pattern enumeration. Deterministic combinatorial sweep across all valid parameter configurations. Advanced robustness gates. walk-forward, permutation null, FDR, and more. Feed format of the same enumeration engine.
For tailored engagement models, volume access, API integration, or machine API keys, contact our sales team.
Dojo lets you effortlessly try our products. Allow our sales team to demonstrate what the same technology can look like inside your platform.