EVIDENT
Sign in
Academy

You do not have to memorise a single number

What Sharpe is, why an ATR stop is not a percentage, how to spot overfitting — it is all written in the academy. In the app, hovering the mark next to any measure shows the short version.

8 01 · Guided Playbooks 6 02 · Formula & Strategy Cookbook 149 03 · Quantitative Glossary
academy.level_beginner 6 min read

From Hypothesis to Edge: Out-of-Sample & Walk-Forward Validation

Why 90% of backtests that show +300% on paper lose money live — and how to catch them before risking a dollar.

Key Quantitative Takeaway

A genuine edge survives post-fee testing on unseen Out-of-Sample (OOS) data and stays profitable across at least 3 of 4 rolling Walk-Forward windows.

WFE = Return(OOS) ÷ Return(In-Sample) · (1 − MaxDD_OOS)

1. Target one market mechanism (Avoid rule bloat)

Stacking 6 indicators does not increase edge; it memorises historical noise. Build a clean 3-pillar structure instead: (1) Macro Regime Filter (`close > ema(close, 200)` or `hurst(close, 40) > 0.52`), (2) Trigger Signal (`crossover(kalman, supersmoother)` or `squeeze_mom > 0`), (3) ATR Asymmetric Exit (`2.2x ATR Stop`, `4.5x ATR Target` or `Chandelier Exit`).

2. Deduct realistic fees and slippage upfront

A 15m strategy trading 400 times a year pays ~88% of capital in exchange fees and slippage alone at 0.06% fee + 5 bps slippage per leg. Always read net return right next to the Buy & Hold benchmark.

3. Check Out-of-Sample (OOS) and 4-Fold Walk-Forward

Reserve the last 30% of bars as unseen OOS data. Then inspect the 4-Fold Walk-Forward Matrix: if the strategy does not pass at least 3 out of 4 rolling windows, do not deploy it live.

4. Inspect the Market Regime Matrix for sideways bleed

Look at the Regime Performance Breakdown table in the report. If your strategy makes money in Bull Trends but bleeds it all back in Choppy Ranges, add a `chop(14) < 58` or `adx(14) > 20` gate.

Empirical Verification Note

Measured (BTCUSDT 1d, 1000 bars): Naive EMA crossovers trailed buy-and-hold after fees during sideways chop, whereas Kalman + SuperSmoother + Choppiness regime gating delivered +39.57% net return with Profit Factor 1.45.

Watch out

Never trust a Sharpe ratio above 2.0 on fewer than 30 trades — that is a lucky anecdote, not statistical evidence.

Intermediate 7 min read

Ehlers Digital Signal Processing (DSP): Kalman, SuperSmoother & Inverse Fisher

Eliminating the lag and whipsaw penalty of classical moving averages using signal-processing filters.

Key Quantitative Takeaway

Price series combine high-frequency microstructure noise with low-frequency trend waves; 2-pole Butterworth SuperSmoother and state-space Kalman filters cut phase lag in half while suppressing whipsaws.

Kalman: x̂_t = x̂_{t-1} + K_t · (y_t − x̂_{t-1}), IFT(x) = (e^{2x} − 1) ÷ (e^{2x} + 1)

1. Why SMA and EMA lag behind price turns

A 20-bar SMA weights all 20 bars equally, creating a group delay of `(N - 1) / 2 = 9.5` bars. By the time a crossover fires, half the move is already over.

2. Ehlers SuperSmoother & Band-Pass Roofing Filter

`supersmoother(close, 14)` applies a 2-pole Butterworth filter with 2-bar alias cancellation. `roofing(close, 10, 48)` strips both long-wavelength drift (>48 bars) and high-frequency noise (<10 bars), isolating the tradable cycle.

3. State-Space Velocity Kalman Tracker

`kalman(close, 0.04)` tracks both position and velocity in state space. When momentum accelerates, Kalman gain adapts immediately; in quiet ranges it damps noise.

4. Inverse Fisher Transform (IFT) for crisp triggers

Passing a z-scored oscillator through `ifisher(x, 5)` compresses output toward `-1` and `+1` rails, producing decisive entry/exit thresholds instead of ambiguous mid-zone hover.

Empirical Verification Note

Measured (Indicator Lab, BTCUSDT 1d): The Ehlers Roofing + Inverse Fisher oscillator achieved higher Signal-to-Noise Ratio (SNR dB) and fewer false zero-crossings than standard RSI(14).

Watch out

Setting Kalman gain above 0.25 collapses the filter onto raw close price; keep gain between `0.02` and `0.08`.

Advanced Quant 7 min read

Order-Flow & Microstructure: VPIN, CVD & Short Squeeze Mechanics

Reading intrabar buyer/seller absorption, informed order-flow toxicity, and perpetual futures liquidation cascades.

Key Quantitative Takeaway

Price is only the outcome; the fuel is order-flow delta (CVD), flow toxicity (VPIN), and perpetual Volume-to-Open-Interest velocity (Vol/OI).

VPIN = Σ |V_buy − V_sell| ÷ Σ V_total, Vol/OI = Turnover_24h ÷ OpenInterest

1. Detecting hidden absorption with Cumulative Volume Delta (`cvd`)

When price consolidates flat while `cvd(20)` and `cmf(20)` slope upward, limit buyers are absorbing market sells — a classic precursor to an upside breakout.

2. Measuring flow toxicity with `vpin`

`vpin(20)` measures directional volume imbalance relative to total volume. When `vpin > 0.65`, one-sided informed flow dominates; mean-reversion fades get run over during toxic flow spikes.

3. Combining Funding Rate + `Vol/OI` for Short Squeezes

When perpetual funding drops below `-0.015%`, shorts are crowded. If `Vol/OI` exceeds `1.8x` while price pushes above 85% of its 24h range, forced short covering ignites a cascade.

Empirical Verification Note

Measured (BTCUSDT 1d): VPIN-gated CVD + Klinger order-flow strategy produced +10.58% net return with 53.8% win rate, while the Market Pulse terminal flags live Short Squeeze setups in real time.

Watch out

Never fade a parabolic move while `vpin > 0.70`; wait for flow toxicity to crest first.

Advanced Quant 6 min read

Information Theory & Fractal Geometry: Hurst Exponent, Shannon Entropy & FDI

Mathematically separating persistent trend regimes from mean-reverting random walks.

Key Quantitative Takeaway

No single rule works in all regimes: trade breakouts when Hurst > 0.55 and FDI < 1.45; trade Z-Score/WaveTrend mean-reversion when Hurst < 0.48.

E[R/S] ∝ n^H (H > 0.55 Trend, H < 0.45 Mean-Reversion), FDI = 1 + (ln L + ln 2) ÷ ln(2(N−1))

1. Reading the Hurst Exponent (`hurst`)

Rescaled Range (R/S) analysis measures long-term memory: `H = 0.50` is geometric Brownian motion. `H > 0.55` indicates persistent trend memory; `H < 0.45` indicates anti-persistent mean-reversion.

2. Filtering disorder with Shannon Entropy (`entropy`)

`entropy(close, 20)` measures return distribution disorder on `0..1`. When entropy exceeds `0.85`, predictability collapses and standing aside saves capital.

3. Sevcik Fractal Dimension (`fdi`) & Kaufman Efficiency (`er`)

`fdi(close, 30)` gauges geometric roughness between `1.0` (line) and `2.0` (noise). Requiring `fdi < 1.45` and `er(close, 14) > 0.35` isolates clean directional waves.

Empirical Verification Note

Measured: Indicator Lab’s Regime-Conditional IC breakdown (`trendIc` vs `rangeIc`) confirms mean-reverting oscillators double their IC in low-Hurst regimes while trend filters dominate high-Hurst regimes.

Watch out

Avoid computing Hurst on windows shorter than 24 bars; R/S scaling requires `30–50` bars for stable estimation.

Intermediate 6 min read

Tail Risk & Capital Preservation: Omega, Ulcer Index, SQN & Half-Kelly

Why the Sharpe ratio misleads in fat-tailed markets and how institutional risk metrics protect equity.

Key Quantitative Takeaway

Sharpe penalises upside breakout gains as "volatility"; rely instead on Omega (full return distribution), Ulcer/UPI (drawdown depth × duration), and Van Tharp SQN.

Omega(0) = Σ R⁺ ÷ Σ |R⁻|, SQN = √N · Mean(R) ÷ Std(R), Half-Kelly = 0.5 · (W − (1 − W) ÷ Payoff)

1. Omega Ratio (`omega`): Capturing the entire distribution

Crypto and equities exhibit fat tails (kurtosis). Omega divides the probability-weighted sum of all gains by all losses without assuming normality. `Omega > 1.25` is solid; `> 1.50` is strong positive skew.

2. Ulcer Index (`ulcer_index`) & Martin Ratio (`upi`)

Max Drawdown only records a single worst point. Ulcer Index measures the root-mean-square of drawdown depth across every single bar spent underwater. An Ulcer Index below `10%` indicates low psychological stress.

3. Van Tharp SQN (`sqn`) & Half-Kelly (`kelly_pct`)

SQN (`√N × Expectancy / StdDev`) grades system tradability (`> 1.6` good, `> 2.5` excellent). Half-Kelly computes the optimal fraction of capital to allocate based on Win Rate and Payoff Ratio.

Empirical Verification Note

Measured (BTCUSDT 1d): The TTM Squeeze + Yang-Zhang Volatility Breakout template delivered +58.90% net return with Omega 1.19, Profit Factor 1.60, and SQN 1.41.

Watch out

Trading Full Kelly invites violent drawdowns; Evident always reports conservative **Half-Kelly** sizing.

academy.level_beginner 5 min read

From Pine Script to Evidence: Testing Any Indicator in 2 Minutes

How to verify whether a popular TradingView indicator actually predicts future returns before trading it.

Key Quantitative Takeaway

Visual appeal on a hand-picked chart proves nothing; require statistically significant Information Coefficient (|t| >= 2.0), a monotonic Quintile Staircase, and positive post-fee trading simulation.

IC_h = corr_rank(I_t, R_{t→t+h}), t = IC · √((N − 2) ÷ (1 − IC²))

1. Paste Pine Script or write a formula

Open the Pine Script tab in the Indicator Lab. Common `ta.*` scripts convert deterministically without spending AI credits; complex control flow is rewritten by AI and verified by the compiler.

2. Check Spearman IC, Rolling ICIR & Mutual Information

Inspect the 1, 5, 10 and 20-bar forward horizons. Look for `|t| >= 2.0`, consistent signs across both data halves, and `|ICIR| > 0.5`.

3. Review the Trading Simulation & Add to Strategy

The Lab automatically tests 5 trading hypotheses (`momentum_regime`, `breakout`, `mean_reversion`, `price_cross`, `binary_signal`) with fees and a `3.2x ATR` stop. Click "Add to strategy" to send the winning rule straight into Studio.

Empirical Verification Note

Measured (Open Research, `/research/indicators`): Single textbook indicators rarely show standalone edge, whereas multi-factor confluences (WaveTrend + SuperTrend + McGinley) significantly improve both IC stability and simulated Profit Factor.

Watch out

Beware of repainting scripts elsewhere; Evident’s compiler strictly forbids lookahead indexing.

Intermediate 5 min read

News Impact & Event Study: Measuring Abnormal Returns (`abn_24h`)

Which news categories genuinely move prices, which are noise, and how to track catalysts across Crypto, US Equities & BIST.

Key Quantitative Takeaway

If an asset rises +3% after a headline on a day Bitcoin also rose +3%, the headline’s abnormal impact is zero; true impact is benchmark-adjusted abnormal return (`abn_24h`) scaled by pre-news volatility (`|z|`).

Abnormal Return: abn_h = Return(Asset, h) − Return(Benchmark, h), z = abn_24h ÷ (σ_1h · √24)

1. Read the Empirical Category Impact Matrix

In [Markets & News → News & Impact](/markets?tab=news), the Impact Matrix aggregates historical +1h, +4h and +24h abnormal returns, directional Hit Rate %, and `|z|` across categories (`ETF`, `Regulation`, `Hack`, `Macro/Fed`, `Earnings`, `Listing`).

2. Check "Why It’s Moving" Catalyst Attribution

In [Market Pulse](/markets?tab=pulse), every top gainer and loser displays its primary driver — matching breaking news with microstructure signals (`Short Squeeze`, `Long Liquidation Flush`, `Vol/OI Explosion`, `Benchmark Alpha`).

3. Prepare ahead with the Macro & Derivatives Calendar (`?tab=events`)

Track live countdowns and Bull/Bear playbooks for 8h Funding Settlements, Friday 08:00 UTC Options Expiries, US CPI, Fed FOMC, TCMB Rate Decisions, and US NFP.

Empirical Verification Note

Measured: In our event-study database, Hack/Exploit and ETF/Regulation headlines generate the highest |z| scores, whereas generic commentary averages near-zero 24h abnormal return.

Watch out

Avoid chasing headlines 4 hours late after price has already stretched beyond `|z| > 2.5` standard deviations.

Intermediate 5 min read

Autonomous AI Agent & Rule Bot Architecture: Deterministic Risk Shields

Running your strategy or AI agent safely in paper mode first, then live via trade-only agent wallets.

Key Quantitative Takeaway

In Evident, the LLM never sends raw orders to an exchange; every proposal passes through the deterministic Risk Engine (`agentrisk.js`) enforcing mandatory stops, `R:R >= 1.8`, exhaustion shields, and live breakeven ratchets.

Position Size = (Equity · Risk%) ÷ |Entry − Stop|, Min R:R = |Target − Entry| ÷ |Entry − Stop| ≥ 1.8

1. Run Paper Trading first and audit the decision journal

Both rule bots (`/bot`) and AI agents (`/agent`) execute against live orderbook prices in paper mode. Inspect every entry, stop adjustment, and risk-engine intervention before switching to live.

2. Six Deterministic Shields in `agentrisk.js`

Every AI proposal is checked by code: (1) Mandatory stop (0.5–6 ATR), (2) Minimum `R:R >= 1.8`, (3) Auto `2.5x ATR` trailing stop when no target is set, (4) Exhaustion shield blocking longs at `RSI > 78` or shorts at `RSI < 22`, (5) Choppy market lock (`Choppiness > 63 && ADX < 18`), (6) Leverage cap keeping liquidation well beyond the stop.

3. Live Protective Scan: Breakeven Ratchet & Time Stop

Once unrealized profit reaches `breakeven_atr`, the protective scan moves the stop to entry price and syncs the exchange trigger order (`setTradingStop`) automatically.

Empirical Verification Note

Custody rule: Evident refuses any API key with withdrawal permissions and operates on Hyperliquid strictly via non-withdrawing Agent Wallets.

Watch out

Never switch a bot’s timeframe (`1h`, `4h`, `1d`) without re-running the backtest and OOS check on that exact timeframe.