Backtesting Strategies Using Tick Data

  1. Robust backtesting can give useful insights on how a trading strategy might perform in the future.
  2. The use of tick data for backtesting covers many different strategies, whether they are high frequency, intraday or daily trading rules. It is possible to perform sensitivity analysis to obtain an understanding of how the trading strategy would perform at different points in time.
  3. Refinitiv has an extensive collection of tick data types across all asset classes to help understand the different ways to execute your trades.

Saeed Amen, Cuemacro.

Backtesting involves looking at historical data to see how a trading or investment strategy would have performed in the past. A good backtest won’t necessarily tell us a strategy will do well in the future, but it can give us many useful insights.

If a strategy performs very poorly in a backtest, we might have second thoughts after running it live. And if the distribution of live returns deviates significantly from historical backtested returns, it can suggest that the strategy is not behaving as we might expect.

Whilst it can be difficult to know if a strategy has ‘broken’, this type of deviation is often an important sign of a breakdown and something you would want to avoid through a thorough backtesting.

Mistakes in backtesting

Doing a backtest properly can be fraught with difficulty.

We need to brainstorm ideas of what trading strategy we would like to test. The next step is to gather all the appropriate data to do the backtesting.

This involves sourcing data for the assets we wish to trade in order to calculate total returns. We also need to have data to generate the signals. Exciting new alternative datasets can be part of what we look to source.

As well as ensuring we have not excessively data mined our trading signal, we need to check that the simulation of the backtested historical returns is realistic. If not, it is unlikely that a backtest will be that useful.

One common mistake is starting off the backtest using incorrect assumptions. This could be due to a poor understanding of the market liquidity or issues with timestamps among other reasons.

Getting the timing right

The frequency of the historical data can restrict the outputs and quality of your backtesting strategy. In the absence of tick by tick data, we would typically be restricted to backtesting using daily data snapped at market close.

In practice, we might not wish to trade at the close. In developed FX markets, for example, most daily datasets use a cut-off point at New York close, which is a quite illiquid time of day.

It is unlikely that we would actively seek to trade at such a time of day, unless we had a particularly good reason.

In addition to this, ‘market close’ can be different and it isn’t always simply at the New York close, which can cause problems when trading various assets across different timezones.

With tick data, we have the granularity that allows us to perform sensitivity analysis across different times of the day and enables us to understand how our strategy will perform if we execute it at different points in time.

If results reflect significant differences in our return, we can perform further analysis to understand the underlying reasons for this. If this results in a significant difference to our returns, we need to understand why.

If there aren’t large differences in returns, the same trading strategy can be run several times a day to reduce the trade sizes and potential market impact. We can also simulate any lags between generating a signal and execution.

Tick data for backtesting

It is important to note there are many types of tick data. This includes both executed and indicate trades as well as derived data. We can also have tick data derived from executable quotes, as well as actual trades executed.

Tick data with market depth information is also available, providing visibility of the full order book.

You might potentially get different results using indicative versus tradable tick data, depending on the nature of the strategy you are testing. Refinitiv carries different data types across many asset classes with extensive global venue coverage.

Tick data also gives us more options around simulating how each trade in the backtest is executed. The simple way is to assume we execute everything in one clip and then we factor in an arbitrary amount for transaction costs.

In practice, we might wish to see whether historically we could have used an execution algorithm such as volume weighted average price to execute every backtested trade.

We can also create more elaborate models for estimating transaction costs and model a risk transfer price in our backtest.

Benefit for trading strategies

If we only expect to execute small amounts for this strategy this might seem like overkill. However, understanding execution and ensuring the strategy is fully backtested with quality data is incredibly important. This is especially relevant for large funds, considering the market impact these transactions will have and the transaction costs for large notional sizes.

Tick data isn’t simply a tool for backtesting high frequency trading strategies. It can be useful for backtesting many different strategies, whether they are high frequency, intraday or daily trading rules.

Tick data can give us more control in how we do our historical backtest. It can prevent us from having unexpected and expensive surprises when bringing these strategies into production.

This article was written by Saeed Amen Founder of Cuemacro. It was first distributed via Refinitiv.

The views represented in this commentary are those of its author and do not reflect the opinion of Traders Magazine, Markets Media Group or its staff. Traders Magazine welcomes reader feedback on this column and on all issues relevant to the institutional trading community.