Scan vs Exploration vs Backtest - summary of differences

INTRO

The post summarizes in tabular form the differences between different Analysis modes namely: Scan, Exploration and Backtest.

First and foremost thing to understand is that these three modes serve different and distinct purposes and they by their nature are meant to display different things.

SCAN

The Scan is meant as a quick tool to show raw, unprocessed, non-delayed signals as they are present in Buy/Sell/Short/Cover arrays. Scan does not do ANY processing. Output of scan is not customizable. It merely displays cells/bars where buy/sell/short/cover signals occur.

EXPLORATION

The Exploration is meant as generator of fully user-customizable tables, or Excel-like tabular reports. It does NOT use Buy/Sell/Short/Cover variables. It only uses Filter variable to decide which data rows to display.
You can customize Exploration layout freely. You can define your own columns and content of data displayed. It does NOT do any extra (hidden) processing to displayed data.

BACKTEST

The Backtester is a tool to perform trading system performance testing on historical data. It performs a LOT of internal processing, including trade delays, removing redundant signals, position sizing, applying portfolio-level constraints, etc.

SUMMARY OF MAIN DIFFERENCES

Scan Exploration Backtest
Uses Buy/Sell/Short/Cover arrays Yes No1 Yes
Uses Filter array No Yes No
Uses trade delays set in the settings/ SetTradeDelays() calls No No Yes
Evaluates stops as set in the settings / ApplyStop() calls No No Yes
Removes redundant/repetitive signals No No Yes2
Ranking
PositionScore variable
Ignored Ignored Used
Position sizing
PositionSize var / SetPositionSize()
Ignored Ignored Used
Portfolio-level constraints like limited cash, min/max pos size, min/max shares Ignored Ignored Used
Other backtesting-only features (HoldMinBars, multiple currencies) No No Yes
Custom columns No Yes (via AddColumn) Yes (via custom metrics)

1 Buy/Sell/Short/Cover arrays are ignored by Exploration mode unless of course you specifically use those to create Filter variable.
2 How signals are processed depends on selected backtest mode, various modes offer different processing

MORE INFORMATION

For more information on portfolio backtesting, see Portfolio-level back testing

For more information about exploration: How to create your own exploration

As you can see these three modes are fundamentally different, meant to serve different purposes and produce different results. If anything is unclear, or needs extra explanation please comment below.

33 Likes

This topic was automatically closed 100 days after the last reply. New replies are no longer allowed.