abtrade
Methodology

How we compute the honest numbers.

A backtest is only worth trusting if you can see how it was scored. This is exactly how abtrade models real-world trading costs and measures whether an edge is skill or luck — and, just as importantly, what we deliberately don't model. These are computed facts, not opinions: the same engine that runs your strategy produces these numbers.

The cost model

Plenty of “edges” are real on paper and gone once you pay to trade them. Every simulated fill in abtrade is charged a spread/slippage component plus India-specific statutory charges. Rates are approximate NSE retail figures (circa 2024) and are configurable in one place, so the disclosure and the engine never disagree:

Spread & slippage
Charged per side, as basis points of turnover: ~8 bps on equities (or a tighter per-name estimate derived from the day's own range), 2 bps on futures, and 20 bps on options — because option quotes are far wider than the underlying.
Brokerage
0.03% capped at ₹20 per order on equity-intraday and futures; a flat ₹20 per order on options; ₹0 on equity delivery.
STT (Securities Transaction Tax)
0.025% on the sell for equity-intraday; 0.1% on both sides for delivery; 0.02% on the sell for futures; 0.0625% on the sell for options.
Exchange & SEBI charges
The NSE transaction charge (~0.00297% on equity, ~0.035% on options) plus the SEBI turnover fee (0.0001%).
Stamp duty
Levied on the buy side per the statutory schedule — roughly 0.003% intraday and 0.015% on delivery.
GST
18%, applied on brokerage + exchange + SEBI charges (not on the trade value itself).
Overnight borrow
Equity shorts held across days pay a borrow cost of ~5 bps per day (about 18% annualized), for every day the position is held.

Skill vs. luck, measured

A big green number tells you almost nothing on its own — a rising market lifts most strategies, and a short lucky streak can look like genius. So every result is decomposed and stress-tested:

Beta (market exposure)
A real OLS regression of your strategy's daily returns against the market's — not a crude magnitude ratio. Beta ≈ 1 means your book moves with the market one-for-one. Computed only with at least three data points.
Alpha (your edge)
The return your selection added beyond what the market move explains. We split each result into systematic = beta × market, and alpha = your return − systematic. Alpha is the part that's actually skill.
t-stat (is it luck?)
A one-sample t-test of your mean daily return against zero: mean ÷ (standard deviation ÷ √N). Loosely, |t| above ~2 means the edge is probably not random; below ~1.8 it's likely noise. It needs enough trading days to mean anything — and is easy to fool if you've tried many strategies on the same data.

What we deliberately don't model

Honesty cuts both ways — these are real-world frictions our simulation does not capture, disclosed as assumptions so you can weigh them yourself:

Market impact
We assume your own order doesn't move the price. Large sizes in thin names would in reality get worse fills than we show.
Quote-level option spreads
Options use a flat 20 bps spread assumption rather than the real, often much wider, bid-ask at each strike.
Fill probability
We assume you are filled at the modeled price. In live markets some orders don't fill, or fill partially.

The data behind it

Strategies run on real end-of-day data from the NSE and BSE, and the dataset grows forward with every trading day. That forward growth is the point: the date you deploy a strategy becomes a natural out-of-sample start — a track record built on data the strategy was never tuned on, which a backtest alone can never give you.

Numbers you can trust come from math you can inspect. Everything above is deterministic and shown on every scorecard — the AI writes the prose, never the facts.

abtrade is an educational research and simulation tool — not investment advice. See the full disclaimer.