Trading Tools
Stress Test Library
8 min read
What it is
Run any saved strategy through the worst (and best) weeks in crypto history on REAL exchange OHLCV. 15 curated scenarios cover crashes (COVID, LUNA, FTX, 3AC, carry-trade unwind), bull runs (halving rallies, bull peak, ETF approval), and the killer environment for trend strategies — sideways chop. Plus a Custom Date Range that runs your strategy through ANY historical window you pick.
How to think about it
Backtest tells you a strategy worked across a long period. Stress test tells you whether it SURVIVED the specific bad days. Different question, different answer. A strategy with Sharpe 1.8 across 1 year can still lose 60% in May 2022 — the stress test reveals that before it happens to your live capital.
Step-by-step
-
Pick a scenario from the left list
15 historical periods grouped implicitly by severity (LOW / MEDIUM / HIGH / CRITICAL). LOW severity tests upside capture in bull conditions. CRITICAL severity tests survival in the worst documented drawdowns. The card shows the period dates and an expected drawdown for reference.
-
Or pick "+ Custom Date Range"
Bottom of the scenario list. Pick any start/end date (min 7 days, max 2 years). The engine fetches real CCXT OHLCV for the exact window you pick. Useful for testing recent weeks the curated list doesn't cover yet, or for verifying a specific date you remember struggling with.
-
Choose the strategy to test
Dropdown lists all your saved Strategy Builder strategies. If none saved yet, you can still run — but it falls back to a generic RSI<35 + EMA9>EMA20 baseline, which is fine for calibrating the engine but does NOT test YOUR logic. Always build and save a strategy first if you want a meaningful test.
-
Pick exchange + pair
Exchange dropdown lists only your connected exchanges. Pair dropdown lists the full per-exchange market list (searchable — type "ETH" to filter). The scenario card sets a default pair (usually BTC/USDT) but you can override. ETH/USDT and SOL/USDT also produce meaningful tests for most scenarios.
-
Set capital + fee
Initial capital defaults to $10,000 — the round number makes the % output easy to read. Fee BPS defaults to 40 (Coinbase taker, typical retail). Be honest about fees — a strategy that needs 0 bps to be profitable is not actually profitable on a real exchange.
-
Run + read the result
Click Run. Engine fetches the period candles (5-30 seconds first time, instant if cached), runs your strategy through them tick by tick, computes equity curve, Sharpe, max drawdown, win rate. The result card shows the same metrics as Strategy Builder backtest PLUS a comparison vs the scenario's expected drawdown.
-
Test the same strategy across multiple scenarios
One scenario is not enough. Run the same strategy through COVID, LUNA, FTX, AND a sideways chop period. A strategy that wins all four is rare and worth deploying. A strategy that wins crashes but loses in chop is a long-volatility play. A strategy that wins chop but loses in crashes is doomed — the crash will arrive.
Tips & pitfalls
- CRITICAL scenarios (COVID, LUNA, FTX, 3AC/Celsius) are the ones to watch. If your strategy survives a 50%+ drawdown period with less than 30% loss, you have something durable. If it loses more than the index, the rules need work.
- Q3 2023 Sideways Chop is the silent killer. Most trend-following strategies print money in 2020 and 2024 but bleed in 2023 chop. Running this scenario stops you from over-fitting to bull markets.
- Custom Date Range minimum is 7 days because anything shorter is not statistically meaningful. Maximum is 2 years because OHLCV fetch grows linearly and large windows can take 30+ seconds.
- Scenarios are REAL historical periods, not synthetic "what if" generated data. We deliberately do not synthesize markets — if you want a hypothetical, run a Custom Date Range over a real period that resembles the hypothetical.
- Expected drawdown on each scenario card is the SCENARIO's drawdown (the market dropped that much in that window). Your strategy's drawdown is what you're measuring against it. Beating market drawdown is the bar — matching or losing more is a failure even if you ended green.
- Coinbase scenario default of BTC/USDT may need switching to BTC/USD on Coinbase pairs — the pair filter shows what your specific exchange offers.
- Save successful strategy + scenario combinations in a notes app. Pre-launch, you should know which 3-5 strategies cleared multiple stress scenarios — those become the "battle-tested" recommendations in your bot deployment list.