AAIYUGBeta
LeaderboardRaceWall of FameLitepaperBlogNews
AAIYUG

A skill-based trading competition platform.

✉ hello@aiyug.com

Dubai, United Arab Emirates

PRE-LAUNCH · REGISTRATION IN PROGRESS
Platform
LeaderboardLive raceWall of FameHow it worksLitepaperBlogMarkets newsJoin free
Legal
Terms & ConditionsPrivacy PolicyCompetition RulesRisk Disclaimer

Simulated trading only. No real money is traded. AIYUG is not financial advice and is not a regulated financial service. Read the full risk disclaimer →

© 2026 AIYUG. All rights reserved.

LeadersRaceFameBlogNews
Blog
Strategy· 29 September 2026 · 8 min read

How to Backtest a Trading Strategy Step by Step

A practical, step-by-step guide to backtesting: data, rules, metrics, walk-forward testing, and common mistakes—plus a worked example with formulas.

A
AIYUG Desk
Content & education team

Why backtesting matters

Backtesting is the process of testing a trading strategy on historical data to estimate how it would have performed. Done correctly, it converts a trading idea into measurable outcomes: win rate, average return, drawdown, and risk-adjusted metrics. Done poorly, it creates false confidence through look-ahead bias, overfitting, or faulty data.

This guide walks you through how to backtest a trading strategy step by step, covering backtesting basics, common strategy backtesting mistakes, and a concrete worked example you can replicate in a spreadsheet or Python notebook.

Step 1 — Define the strategy rules precisely

A strategy must be an unambiguous set of entry, exit, position sizing, and risk rules. Vague rules kill reproducibility.

Example rules format:

  • Entry: Buy when the 10-day SMA crosses above the 50-day SMA on the daily close.
  • Exit: Sell when the 10-day SMA crosses below the 50-day SMA or stop-loss at 6% from entry.
  • Position size: 2% of portfolio risk per trade using ATR-based stop.
  • Slippage/commission: 0.05% per trade and $0.50 per round-trip.

Write rules so a script could implement them without human decisions.

Step 2 — Gather clean historical data

Backtesting basics: use reliable price data (OHLCV), timestamps, corporate action adjustments (splits/dividends). Avoid survivorship bias by using the historical universe of instruments that existed at each past date.

Data checks:

  • No gaps in the time series beyond expected market holidays.
  • Prices are adjusted for splits/dividends if your strategy assumes continuous returns.
  • Include realistic bid/ask spreads or slippage assumptions.

Step 3 — Choose the backtest engine and timeframe

You can backtest in spreadsheets, Python (pandas/zipline/backtrader), or specialized platforms. Choose a timeframe consistent with the strategy (intraday, daily, weekly). Ensure the engine simulates order execution, slippage, commissions, and overnight/holding rules.

Step 4 — Simulate trade execution and position sizing

Correct execution modeling separates plausible results from fantasy. For each trade:

  1. Determine entry price (e.g., next open after signal, or close if you assume same-day execution).
  2. Apply slippage and commission.
  3. Compute position size using your risk rule.
  4. Track exit logic and update P&L and portfolio equity.

Formulas:

  • Position size in shares = (Risk per trade in dollars) / (Entry price - Stop-loss price)
  • Risk per trade = Portfolio value * Risk fraction (e.g., 0.02 for 2%)
  • Net return per trade = (Exit price - Entry price - fees - slippage) / Entry price

Step 5 — Record metrics

At minimum, track:

  • Number of trades
  • Win rate = winning trades / total trades
  • Average win and average loss
  • Profit factor = Gross profits / Gross losses
  • Maximum drawdown (peak-to-trough decline in equity)
  • CAGR and annualized volatility for risk-adjusted comparisons
  • Sharpe ratio = (Annualized return - risk-free) / annualized volatility

Worked example (illustrative numbers)

Hypothetical strategy: 10/50 SMA crossover on daily data, $100,000 starting capital. Rules:

  • Entry: Buy at next day open when 10-SMA > 50-SMA and yesterday 10-SMA <= 50-SMA.
  • Exit: Sell at next day open when 10-SMA < 50-SMA or stop-loss at 6% below entry.
  • Risk per trade: 1% of portfolio (i.e., $1,000).
  • Commission + slippage: 0.1% per side.

Trade example:

  • Signal date: 2020-01-10. Next day open = $50.00.
  • Stop-loss = $50.00 * (1 - 0.06) = $47.00.
  • Risk per share = Entry - Stop = $3.00.
  • Position size in shares = $1,000 / $3.00 = 333 shares (rounded down).
  • Notional = 333 * $50.00 = $16,650.

Assume the exit later at open = $58.00, fees and slippage total 0.2% of round-trip notional = 0.002 * 16,650 = $33.30.

Gross profit = (58.00 - 50.00) * 333 = $2,664. Net profit = Gross profit - fees = $2,664 - $33.30 = $2,630.70. Return on starting portfolio = $2,630.70 / $100,000 = 2.63%.

Repeat this process for each trade and compound portfolio value between trades. Track peak equity to calculate drawdown and annualized return.

Step 6 — Validate and stress-test

Walk-forward testing: split history into in-sample (train) and out-of-sample (test) periods. Optimize parameters on in-sample only, then validate on out-of-sample to detect overfitting.

Monte Carlo and bootstrapping: shuffle trade returns or randomly vary slippage/commission to test sensitivity. Scenario test extreme events (e.g., 5x volatility days) to estimate tail risk.

Step 7 — Watch for common strategy backtesting mistakes

  • Look-ahead bias: never use future information to create signals. If you compute indicators using future close values, results are invalid.
  • Data-snooping/overfitting: testing many parameter combinations will almost always find a winner that fails forward. Prefer simpler rules and validate on out-of-sample data.
  • Survivorship bias: using only currently listed stocks inflates returns. Use historical constituent lists when possible.
  • Ignoring execution costs: tight spreads and unrealistic fills overstate performance.
  • Incorrect slippage or execution modeling for illiquid instruments.

Interpreting results and next steps

A good backtest is a filter, not proof. Look for robustness across parameter ranges and market regimes, reasonable trade frequency, and acceptable drawdown. If a model performs well historically but relies on very precise parameter values or a tiny number of trades, treat results skeptically.

Practice risk-free: if you want a place to run paper simulations and learn execution without real money, try AIYUG's weekly paper-trading race at https://aiyug.trading/race.

Remember: backtests are tools to learn and iterate, not guarantees of future profit. They help you understand sensitivities, likely drawdowns, and realistic expectations before deploying capital.

FAQ

How much historical data do I need for backtesting?

There's no one-size-fits-all. For daily strategies, 3–10 years across different market regimes is common; for intraday, many months of tick or minute data may be required. Ensure you cover bull, bear, and volatile periods relevant to your strategy's timeframe.

Can I trust backtest performance metrics like Sharpe ratio?

Backtest metrics are informative but conditional on your assumptions (data quality, execution costs, parameter choices). They should be combined with out-of-sample tests, walk-forward validation, and sensitivity analysis before forming expectations.

What is overfitting and how do I avoid it?

Overfitting occurs when a model captures noise rather than signal, typically by excessive parameter tuning. Avoid it by minimizing parameter complexity, reserving out-of-sample data, using cross-validation (walk-forward), and checking that small parameter changes don't collapse performance.

StrategyBacktesting BasicsBacktest Walkthrough

Put it into practice — free

Join this week’s AIYUG race: virtual capital, real market data, real recognition from investors. No deposit, no KYC.

Keep reading
Strategy · 28 Sept 2026 · 7 min

Stop-Loss Strategies Explained: Hard, Mental & Trailing

Clear stop-loss strategies explained with formulas, examples and a step-by-step walkthrough — hard stops, mental stops and trailing stop loss techniques for retail traders.

Strategy · 27 Sept 2026 · 6 min

How to Calculate Risk-Reward Ratio for Every Trade

Step-by-step guide to computing risk-reward ratio, stop loss/take profit placement, formulas and a worked example for practical trade sizing.

Strategy · 26 Sept 2026 · 6 min

Position Sizing and Risk Management in Trading

Concrete rules and formulas for position sizing, including the 1 percent risk rule and a step-by-step worked example to decide how much to risk per trade.