Case studies

Case study: Index basket backtest

The team had tested each index alone; combining them could either worsen drawdown or make it look artificially small.

  • US30 / NAS100Market
  • M15TF
  • MT5Platform
  • 9 weeksDelivery window
  • 5Deliverables
Backtest and forward test method

The client's idea

Navid Investment Team works US30 / NAS100 on M15; the opening brief was: I have single-symbol results; I want to see how a two-index basket actually behaves.

Project and starting point

The team had tested each index alone; combining them could either worsen drawdown or make it look artificially small.

Solution architecture

A basket backtest with configurable weights, correlation measurement, and drawdown evaluated at basket level rather than per symbol.

The headline number in the report is basket-level drawdown: single-symbol figures were misleading. It matches how US30 / NAS100 is actually traded and can be tested against the data already available.

Why this design

The headline number in the report is basket-level drawdown: single-symbol figures were misleading. It matches how US30 / NAS100 is actually traded and can be tested against the data already available.

Implemented capabilities

Modules and components built: Weight allocation + exposure control.

Delivered output:
Index basket backtest — US30 / NAS100 (M15)
Specification document and the rule-to-code mapping table
Full MQL5 source, commented
Test report: Three basket weightings
Parameter document and install guide (9 weeks)

Safeguards and risk control

No parameter was optimized on the whole set: part of the data was held back for out-of-sample testing.

Backtest and forward test method

Test method: Three basket weightings.

Testing runs in three stages: a backtest on historical data, limited optimisation inside the contract's scope, and a forward run with the parameters frozen.

Tools and stack: MQL5, analysis scripts, a basket report.

Every figure from this project is published together with its measurement conditions: the data window, the tick model, the spread, the commission and the build of the executable. Without them a number cannot be compared with anything.

Publishable results

The result pointed to a lighter weighting for better risk-adjusted returns, and the team paper-tested it before touching an account.

Limitations and cautions

No parameter was optimized on the whole set: part of the data was held back for out-of-sample testing.

Every test result depends on the quality of the historical data, the broker's spread and market conditions, and none of it is a promise about the future. Through a severe price gap or a broker disconnection a stop loss cannot be guaranteed, so behaviour in those conditions must be reviewed separately.

Our next-step proposal

The next step is running the selected build on demo and reviewing weekly deviation from the test.

Portfolio

Measured results

These are the figures the test produced — not a promise about future performance.

  • 4 years Test window
  • 13.9 % Max drawdown in test
  • 2 Symbols covered
  • 10 scenarios Scenario test coverage