Historical Strategy Backtesting, Performance Analysis, and Parameter Search
Summary
This guide explains a workflow for researching CTA strategies with historical market data. It covers obtaining and storing data, configuring a backtest with a strategy, date range, slippage, fees, contract multiplier, tick size, and starting capital, then reviewing the resulting equity, drawdown, daily profit and loss, and daily profit distribution charts. It also describes summary statistics and detailed order, trade, and daily profit and loss records. Daily results use mark to market accounting, separating the unrealized result on carried positions from intraday trades and deducting fees and slippage to calculate net profit and loss.
For parameter search, the guide describes exhaustive enumeration of parameter combinations, which can be parallelized, and a genetic algorithm that evaluates, selects, recombines, and mutates candidate settings. Exhaustive search evaluates every configured combination; genetic search reports a Pareto set and may not cover the full search space. These are research tools, not proof of future performance. Results depend on data quality, assumptions about execution and costs, chosen objectives, and the tested date range; the guide provides no independent strategy performance evidence.
Key ideas
- Backtests require historical data and explicit settings for trading costs and contract characteristics.
- Equity, drawdown, and daily profit and loss charts complement summary performance statistics.
- Daily mark to market reporting distinguishes carried positions from intraday trades and deducts costs for net results.
- Exhaustive optimization evaluates every combination in the specified parameter ranges.
- Genetic optimization searches iteratively and returns a Pareto set rather than every possible combination.
- Parameter optimization results depend on the data, cost assumptions, and objective selected.
Tags
From a private course collection; the original is not published.