Free resource · no email required

The strategy spec template

A backtest is only as meaningful as the specification behind it. Ten sections below — answer them and your idea is testable. Leave one ambiguous and the result silently depends on whatever the person coding it assumed.

This is the same document we'd build with you in step 2 of an engagement. Fill it in first and you get a faster, tighter scope back. Or ignore us entirely and use it as a checklist against your own rules — that's a perfectly good outcome too.

Send us a filled one

You do not need to fill this in before contacting us. Plenty of engagements start with a paragraph and a screenshot. This exists because some people would rather arrive prepared — and because reading it tends to surface the decisions you hadn't made yet.
  1. 01 What do you want answered?

    The single most skipped question, and the one that decides what the report is even for. "Backtest my strategy" is not a question; it has no failing answer.

    • What would make you trade this live?
    • What would make you abandon it?
    • Is there a specific doubt you're trying to settle — costs, curve-fit, a regime, a size limit?

    Example "I want to know whether this survives realistic slippage at 5 lots, and whether the 2022 performance is the whole edge."

  2. 02 Instrument, timeframe and history

    Determines whether the test is even possible. Clean history for some instruments doesn't exist at any price, and it's better to know that on day one.

    • Exact instrument(s) — symbol, exchange, contract or expiry convention
    • Bar interval, or tick / quote level
    • Period you want covered, and why that period
    • If options: which legs, strikes selected how, expiry selected how

    Example "NIFTY weekly options, 5-minute bars, 2019–2025. Strikes: nearest OTM by delta at entry. Expiry: current week only."

  3. 03 Entry rules

    The part everyone writes down, usually with one hidden ambiguity: when the condition is evaluated versus when the order is placed.

    • The precise condition, in terms of values available at that moment
    • Evaluated on bar close, or intrabar?
    • Order type — market on next open, limit at a level, stop entry?
    • What happens if the condition is still true on the following bar?

    Example "When the 15-min close exceeds the prior 20-bar high, enter market on the next bar's open. Re-entry not allowed while a position is open."

  4. 04 Exit rules

    Where most strategies actually make or lose their money, and where specifications are usually thinnest. Every exit path needs a rule, including "none of the above happened".

    • Stop loss — fixed, ATR-based, structural? Moved how, and when?
    • Target — fixed R, level-based, trailing?
    • Time-based exit — end of day, end of session, after N bars?
    • If stop and target are hit within the same bar, which wins?

    Example "Stop: 1.5× ATR(14) below entry, never moved. Target: 3R. Time exit: 15:15 IST. Same-bar ambiguity: assume the stop fills first."

  5. 05 Position sizing and risk

    Sizing changes the equity curve more than almost any entry tweak. A strategy tested at fixed-one-lot and traded at percent-of-equity is a different strategy.

    • Fixed quantity, fixed risk per trade, percent of equity, or volatility-scaled?
    • Compounding, or sized off the starting balance?
    • Starting capital to assume
    • Maximum concurrent positions, and maximum exposure

    Example "0.75% of running equity risked per trade, compounding, starting from $100,000. Maximum two concurrent positions."

  6. 06 Filters and conditions

    Filters are where curve-fitting hides. Each one added after seeing results costs you a degree of freedom — we'll test them, and we'll report how much of the edge depends on each.

    • Trend, volatility, volume or regime filters
    • Days, events or announcements to avoid
    • Correlation or portfolio-level constraints
    • For each: did you decide it before or after looking at results?

    Example "Only take entries when ADX(14) > 20. Skip the two sessions around scheduled policy announcements. The ADX filter was decided up front."

  7. 07 Session and timing rules

    Intraday results move enormously on session handling — and the first and last few minutes of a session behave nothing like the middle.

    • Trading window — earliest entry, latest entry, forced flat time
    • Timezone, explicitly
    • Overnight positions allowed?
    • Behaviour on half-days, holidays and gaps

    Example "Entries 09:30–14:30 IST only. Flat by 15:15. No overnight. Half-days: normal rules, forced flat 30 minutes before close."

  8. 08 Costs and execution assumptions

    We'll model these by default, but your broker's numbers beat our defaults. For thin-edge strategies this section alone can flip the sign of the result.

    • Commission / brokerage structure
    • Taxes, exchange and regulatory charges where they apply
    • Expected slippage, or let us estimate it from spread and size
    • Typical order size relative to available liquidity

    Example "₹20 per order per side, plus STT and exchange charges. Assume 1 tick of slippage each way. Typical size: 10 lots."

  9. 09 Edge cases you haven't decided yet

    Be honest here — this section is the most useful one you can write. Anything you leave blank becomes an assumption somebody else makes on your behalf.

    • Signal fires while already in a position — add, ignore, or reverse?
    • Gap straight through the stop — fill at the gap, or at the stop price?
    • Missing bars, halted trading, limit-up/down
    • Contract roll or expiry while a position is open

    Example "Not decided — please test both 'ignore' and 'reverse' and show me the difference."

  10. 10 Metrics you care about

    The standard report covers the usual set. If there's a number your decision actually turns on, name it now so it's measured rather than reconstructed.

    • Any custom KPI, exposure breakdown or risk measure
    • Breakdowns you want — by regime, session, day of week, instrument
    • A benchmark to compare against, if there is one

    Example "Add per-expiry-day breakdown, and worst 20-day rolling return. Benchmark against buy-and-hold on the underlying."

Filled it in?

Send it over and you'll get back what we'd need, what we'd do, and how long it takes — within 24 hours. If you'd rather not share the rules yet, send section 01 and 02 alone; that's enough for us to tell you whether the data exists and what testing it would involve.

We'll sign an NDA before you send anything, if you want one on file. Your idea is never traded, resold, or reused for another client.