With advances in technology, a wide range of trading system backtesting software is available. The benefits obtained from backtesting software cannot be underestimated. It will save you time and provide an endless opportunity to fine tune and test variations of your ideas.
A small outlay in capital to purchase good backtesting software will potentially save you thousands in the market if you have not backtested your ideas properly, it's a very wise investment if you are considering designing a mechanical trading system.
This is a quick guide to highlight some of the items which you should keep in mind when searching for backtesting software.
What backtesting methodology does it employ?
Sounds like a really complicated question, but it's not. Always remember that backtesting software should represent real life as closely as possible when it performs the test.
This way, you will have more confidence in the results. Never forget it will be your hard earned money on the line when you start trading for real!
"Real life" simply means that as we trade in our everyday lives we can make trades as much as our capital will allow.
For example, suppose you have two backtesting software applications, one of them performed the backtest by going back in time and starting from the start of the data moving forward one day at a time. The other started from today and worked its way backwards.
Which one of these represents real life the closest? Of course the first one is the obvious choice.
You should always ask the following questions about the backtesting methodology which the software employs:
1. Does the test move forward from the start of the data and step through each period of that data?
2. Does the backtest software monitor my money available for each trade and not trade if there is no money?
3. Does the software stop the test when I run out of money? In other terms does the test continue after you experienced negative equity. Remember in real life you cannot continue to trade if you have no money left.
Is the backtest software dependant upon any other software?
You need to find out if the backtesting software is dependent upon you owning another piece of software in order for it to run.
This is not necessarily a bad thing as the software may be utilising functionality from another piece of software which is superior in the industry. It is not necessarily a bad thing for the backtesting software to rely upon another piece of software, in fact, it may make the backtesting software better as the programmers and designers have had more time to concentrate on the backtesting functionality of their program with minimal time needed to be spent on the functions which the other software performs.
If you are required to own another piece of software you will be best advised to investigate that software application first.
What kind of data does it accept?
All backtesting software will require the use of data in order for it to perform its backtest.
Even when the data only consists of open, high, low, close and volume information, the software application may rely upon a certain format. Make sure the data you have or are wishing to obtain is fully compatible with the backtesting software.
Will it backtest leveraged instruments?
People will design and create mechanical trading systems for all types of instruments. The most common will be a normal share.
What if you designed a mechanical trading system for a leveraged instrument? You will need to backtest your idea using the correct leverage settings for the instrument.
If you think you will be in a position to design a trading system for leveraged instruments then you need to make sure the backtesting software caters for those instruments.
Is there a limit to the number of instruments that can be backtested?
If you design a trading system for a universe of 1,000 stocks you will need to make sure the backtesting software can cater for the large number of stocks (items) required for the backtest.
We have known some backtesting software to be limited to a maximum number of items, this is an area for concern as it puts a caveat on the backtest results and on the design of the mechanical trading system.
Make sure you can run the backtest on a limitless number of items.
Backtest results, what should I expect?
Once you have performed a backtest you will begin to analyse the results. The results you obtain from the backtesting software should be comprehensive enough to give you a clear indication of the potential of your system.
Expect nothing more than an absolute abundance of statistics and graphs to illustrate the results of your trading system.
When it comes to trading system performance data, the more the better. The more statistics and graphs you can analyse will enable you to tune and tweak you trading system enabling you to create a more powerful system which you can have confidence trading in real life.
In addition to backtesting results you will need to have the same level of detail and sophistication when you start trading your system in real life, this is where Stator - Advanced Finance Management takes over.
Remember, the more statistics the better.
Make sure the backtest recognises your account capital as it moves forward in time.
In real life you start trading with a set amount of money (capital).
If you trade this amount of capital and run out of money after one year, you can't continue. It's a simple equation, running out of money means you can't continue trading.
Make sure the backtest follows this same real life scenario, as it will be no use having ten years worth of results when your account capital reached negative figures after only one year.
In real life this event would have forced you to stop trading.
Make sure the backtest allows the use of money management.
Make sure you can play around with various money management (position sizing) models when performing the backtest.
Money management can dramatically change the results of any trading system. Having the ability to adjust your position size based upon risk is a very powerful concept which can dramatically improve the results of any trading system.
We highly recommend being able to adjust position sizing when performing a backtest.
For more information about various money management models and position sizing click here.
Understand what language the backtesting software speaks.
Computers do only what humans instruct them to do.
When you design a trading system, you want to have no limitations on the ideas which you can test. Any good backtesting software will be controlled by some programming language, make sure this language is as flexible as possible.
You will find some backtesting software uses established programming languages and others have their own programming language, either way make sure this language offers a wide range of options and flexibility.
The more flexible the programming language, the more creative your trading system can be. |