System Design & Testing
True Portfolio-Level Backtesting
Test your trading system on multiple securities using realistic account constraints and common portfolio equity. Trade portfolios to decrease risk/reward ratio. Find out how changing the number of simultaneous positions and using different money management affects your trading system performance.
Dynamic portfolio-level position sizing
Use current portfolio equity (sum of cash and all simultaneously opened positions value) to calculate new trade size, or use any other position sizing method by specifying dollar value or number of contracts/shares. Position size can be constant or changing trade-by-trade.
Blazing fast speed
Nasdaq 100 symbol backtest of simple MACD system, covering 10 years end-of-day data takes below one second
Multiple symbol data access
Trading rules can use other symbols data - this allows creation of spread strategies, global market timing signals, pair trading, etc.
Multiple time-frames and multiple currencies in one system
Systems can use multiple time frames at once and symbols denominated in different currencies
Scaling in/out (pyramiding) and rebalancing
You can test systems that scale and/or rebalance open positions in user-defined moments
Everything is customizable
You can change built-in report charts, create your own equity, drawdown charts, create own tables in the report, add custom metrics
Custom backtest procedure
Even the backtest process itself can be modified by the user allowing non-standard handling of every signal, every trade. It also allows to create custom metrics, implement Monte-Carlo driven optimization and whatever you can dream about
Scoring & ranking
If multiple entry signals occur on the same bar and you run out of buying power, AmiBroker performs bar-by-bar sorting and ranking based on user-definable position score to find preferrable trade.
Rotational trading
A dedicated mode for sector rotation trading algorithms using user-definable score to switch between preferred stocks/funds/sectors
Flexible built-in stops
All stops are user definable and can be fixed or dynamic (changing stop amount during the trade). Built-in stop types include maximum loss, profit target, trailing stop (incl. Chandelier), N-bar (timed) all with customizable re-entry delay, activation delay and validity limit
Lots of other goodies
There is just too many things left to mention, including
- Mutual fund support (early redemption fee, early exit restrictions)
- Futures mode (margin/point value support)
- Custom commissions
- Full trade price control (can emulate slippage) and trade delays
- Support for constraints like round lot size, tick size, minimum trade size, maximum trade value as percent of bar volume
- Detailed reports for all, long-only, short-only trades with 42 built-in metrics including Sharpe ratio, Ulcer Index, CAR/MDD and many others
- Profit distribution chart, Maximum Favourable Excursion chart, Maximum Adverse Excursion chart
- Automatic storage, maintenance and viewing of all historical tests conducted via the Report Explorer
- Support for all intervals (daily and intraday) and all instrument classes
- No limit on number of symbols under test (capable of handling enitre US stock universe)