quantcard is a verdict machine, not a signal service. Point it at any rule — a mean-reversion fade, an MA cross, an RSI dip-buy, a range breakout — and it comes back with one of four answers on public Bybit perpetual data, with fees, slippage and funding charged against you: cleared, not separated from luck, negative after costs, or too few trades. We publish every card we run, including the ones that say no.
Four rules that circulate constantly in trader communities, run on the four most-traded perpetuals, with a realistic cost model: 5.5bp fee + 3bp slippage per side, plus funding drag. Non-overlapping positions, one entry per signal, exit after 24 bars. Every row links to its full card: equity curve, in-sample vs out-of-sample split, bootstrap confidence interval and the exact list of limits.
| Market | Rule | Trades | Avg/trade | t-stat | Permutation p | Max DD | Buy&hold | Verdict | |
|---|---|---|---|---|---|---|---|---|---|
| GRASSUSDT perp | 24h deviation fade (mean reversion)p80 | 227 | +110bp | 1.82 | 0.019 | 69.3% | -79% | Not separated from luck | card → |
| ETHUSDT perp | 48-bar range breakout | 237 | -2bp | -0.08 | 0.232 | 34.7% | -1% | Negative after costs | card → |
| DOGEUSDT perp | 24h deviation fade (mean reversion)p80 | 129 | -9bp | -0.22 | 0.404 | 40.5% | -55% | Negative after costs | card → |
| BTCUSDT perp | 48-bar range breakout | 251 | -13bp | -0.89 | 0.357 | 36.3% | -21% | Negative after costs | card → |
| ETHUSDT perp | RSI(14) overbought/oversold fade | 169 | -21bp | -0.81 | 0.553 | 48% | -1% | Negative after costs | card → |
| BTCUSDT perp | Dual-MA momentum | 106 | -23bp | -1.43 | 0.600 | 26.7% | -21% | Negative after costs | card → |
| SOLUSDT perp | RSI(14) overbought/oversold fade | 162 | -24bp | -0.85 | 0.582 | 46.4% | -30% | Negative after costs | card → |
| DOGEUSDT perp | 48-bar range breakout | 232 | -27bp | -1.02 | 0.700 | 51.7% | -55% | Negative after costs | card → |
| DOGEUSDT perp | RSI(14) overbought/oversold fade | 154 | -31bp | -0.97 | 0.641 | 52.5% | -55% | Negative after costs | card → |
| ETHUSDT perp | Dual-MA momentum | 108 | -32bp | -1.49 | 0.736 | 34.3% | -1% | Negative after costs | card → |
| BTCUSDT perp | 24h deviation fade (mean reversion)p80 | 195 | -32bp | -1.99 | 0.803 | 50.6% | -21% | Negative after costs | card → |
| DOGEUSDT perp | Dual-MA momentum | 111 | -33bp | -1.08 | 0.685 | 35.4% | -55% | Negative after costs | card → |
| 1000PEPEUSDT perp | 24h deviation fade (mean reversion)p80 | 149 | -36bp | -0.72 | 0.626 | 63.1% | -66% | Negative after costs | card → |
| SOLUSDT perp | 48-bar range breakout | 249 | -42bp | -1.73 | 0.850 | 73.6% | -30% | Negative after costs | card → |
| BTCUSDT perp | RSI(14) overbought/oversold fade | 164 | -42bp | -2.39 | 0.912 | 55.4% | -21% | Negative after costs | card → |
| SOLUSDT perp | 24h deviation fade (mean reversion)p80 | 155 | -42bp | -1.32 | 0.799 | 51.8% | -30% | Negative after costs | card → |
| ETHUSDT perp | 24h deviation fade (mean reversion)p80 | 138 | -52bp | -1.85 | 0.883 | 55.8% | -1% | Negative after costs | card → |
| SOLUSDT perp | Dual-MA momentum | 112 | -56bp | -1.90 | 0.883 | 52.7% | -30% | Negative after costs | card → |
Ranges differ per row: majors share 2025-06-01 → 2026-10-11 (11,929 hourly bars); GRASSUSDT uses its full public history 2024-11-08 → 2026-10-11 (16,823 bars). “Avg/trade” is a log return in basis points, after costs. Buy&hold is the same window, for scale.
Fees, slippage and funding are charged per side on every trade. A rule that only survives on taker-free fantasy does not survive here.
We ask twice. (i) Shuffle the entry times — same trade count, same direction mix, same non-overlap rule. (ii) Keep every trade's realised move and re-roll only its direction. The stricter p wins.
First 60% of trades are in-sample, last 40% must also be positive, and the timeline is cut into four blocks so a single lucky quarter cannot carry the average.
Most backtest tools will happily tell you a rule is great. We built this because we were the ones being fooled: on a strategy we trade, the permutation test that had been telling us “this is luck, size it down” turned out to be a broken null — the surrogate sampler was supposed to draw 227 random entries and was quietly producing about 9, which widens the null distribution roughly four-fold and can fake p=0.30 out of p=0.01. Fixing the sampler changed the answer, and we only trusted it after rebuilding the whole kernel independently and reconciling trade counts, averages and t-stats against the live ledger. That is the service: the discipline that is tedious to do to yourself.
What we do not do. No signals, no “today's setup”, no portfolio advice, no copy-trading, no custody of funds, no performance promises. A card is a statistical statement about a rule under stated costs on stated data. It is not advice, and markets change.
Post a rule; get a card. JSON, or the same card rendered as a self-contained HTML page you can keep or share. Cached answers are never billed again — including after we redeploy.
curl -X POST https://api.quantcard.cc/api/card \
-H "X-API-Key: qc_live_..." -H "Content-Type: application/json" \
-d '{
"source": "bybit", "symbol": "BTCUSDT", "tf": "60",
"start": "2025-06-01", "end": "2026-10-11",
"strategy": "mr_percentile", "hold": 24,
"params": { "k": 24, "pct": 80, "side": "both" },
"fee": 5.5, "slip": 3, "funding": 0.3,
"trials": 2000, "seed": 42, "lang": "en"
}'
→ 200 { "headline": "NEGATIVE", "metrics": { "n": 195, "meanBp": -32,
"t": -1.99, "permP": 0.803, "ddPct": 51, "ciLoBp": -63, "ciHiBp": -2, ... } }
x-cards-used: 1 x-cards-limit: 150 x-cards-charged: 1
Endpoints: POST /api/card · POST /api/matrix (up to 12 rule/market combos) · GET /api/strategies · /auth, /me, /webhooks/paddle. Bring-your-own rules are on the roadmap; the strategy set above is what is public today.
You are buying cards, not hope. One computed card = one unit; a repeat of the same parameters is a cache hit and costs nothing.
Billing and tax handled by a merchant of record (Paddle). Cancel any month; the API key stops at the end of the paid period, and your previously generated cards stay readable. See refund policy, terms and privacy.
We would rather hand you the limits than have you discover them in a drawdown. Every card ships with this list, unchanged:
quantcard is a research and backtesting tool. Nothing on this page is investment, financial, tax or legal advice; nothing is a recommendation to trade any instrument; past results do not predict future returns. Crypto derivatives can lose more than you deposit.