Process of Backtesting
After finalizing the decisions mentioned above, we can move ahead and create a trading strategy to be tested on historical data. For Backtesting, we can use various methods available including using platforms and simulators to test their strategy.
One can also build a model using Excel VBA and test it later with Python. Apart from this, testing on a simulator can give insight into the problems faced during the execution of a strategy. Simulator behaves like an exchange which can be configured for various market conditions. For simulator testing, the implementation of the testing system would require additional knowledge for Python/C++/java.
We have a large number of vendor-developed backtesting platforms available in the market which can be very efficient in backtesting automated strategies, but to decide which ones will suit your requirements, needs some research.
Types of Backtesters
Ideally, custom development of a backtesting environment within a first-class programming language provides the most flexibility and third-party platforms might make a number of assumptions. Despite this, the choice of available programming languages is large and diverse, which can often be overwhelming. When automating a strategy into systematic rules; the trader must be confident that its future performance will be reflective of its past performance. There are broadly two forms of backtesting system that are utilised to test this hypothesis; research back testers and event-driven back testers. Let’s go through them in detail now.
Research Backtesters
These tools do not fully simulate all aspects of market interaction but make approximations to provide a rapid determination of potential strategy performance. While these tools are frequently used for backtesting and execution, they are not suitable for strategies that approach intraday trading at higher frequencies. They are widely used within the professional quantitative trading industry to get the “first draft” for all strategy ideas before going for a rigorous backtest in a more realistic environment.
Event-Driven Backtesting
In event-driven backtesting, the automated trading strategy is connected to a real-time market feed and a broker, such that the system receives new market information which will be sent to a system which triggers an event to generate a new trading signal. These systems run in a continuous loop and can have sub-components such as historic data handler and brokerage simulator; allowing backtesting very similar to live execution. The only drawback is that these systems have a complicated design and are more prone to bugs.