Backtesting is a term used in modeling to refer to testing a predictive model on historical data. Backtesting is a type of retrodiction, and a special type of cross-validation applied to previous time period(s).
In the economic and financial field, backtesting seeks to estimate the performance of a strategy or model if it had been employed during a past period. This requires simulating past conditions with sufficient detail, making one limitation of backtesting the need for detailed historical data. A second limitation is the inability to model strategies that would affect historic prices. Finally, backtesting, like other modeling, is limited by potential overfitting. That is, it is often possible to find a strategy that would have worked well in the past, but will not work well in the future.[1] Despite these limitations, backtesting provides information not available when models and strategies are tested on synthetic data.
Backtesting has historically only been performed by large institutions and professional money managers due to the expense of obtaining and using detailed datasets. However, backtesting is increasingly used on a wider basis, and independent web-based backtesting platforms have emerged. Although the technique is widely used, it is prone to weaknesses.[2] Basel financial regulations require large financial institutions to backtest certain risk models.
For a Value at Risk 1-day at 99% backtested 250 days in a row, the test is considered green (0-95%), orange (95-99.99%) or red (99.99-100%) depending on the following table:[3]
- ! scope="col" | Zone ! scope="col" | Number exceptions ! scope="col" | Probability ! scope="col" | Cumul | - | Green | 0 | 8.11% | 8.11% | - ! scope="row" | 1 | 20.47% | 28.58% | - ! scope="row" | 2 | 25.74% | 54.32% | - ! scope="row" | 3 | 21.49% | 75.81% | - ! scope="row" | 4 | 13.41% | 89.22% | - | Orange | 5 | 6.66% | 95.88% | - ! scope="row" | 6 | 2.75% | 98.63% | - ! scope="row" | 7 | 0.97% | 99.60% | - ! scope="row" | 8 | 0.30% | 99.89% | - ! scope="row" | 9 | 0.08% | 99.97% | - | Red | 10 | 0.02% | 99.99% | - ! scope="row" | 11 | 0.00% | 100.00% | - ! scope="row" | ... | ... | ... |
---|
- ! scope="col" | Zone ! scope="col" | Number exceptions ! scope="col" | Probability ! scope="col" | Cumul | - | Green | 0 | 36.02% | 36.02% | - ! scope="row" | 1 | 15.99% | 52.01% | - ! scope="row" | 2 | 11.58% | 63.59% | - ! scope="row" | 3 | 8.90% | 72.49% | - ! scope="row" | 4 | 6.96% | 79.44% | - ! scope="row" | 5 | 5.33% | 84.78% | - ! scope="row" | 6 | 4.07% | 88.85% | - ! scope="row" | 7 | 3.05% | 79.44% | - ! scope="row" | 8 | 2.28% | 94.17% | - | Orange | 9 | 1.74% | 95.91% | - ! scope="row" | ... | ... | ... | - ! scope="row" | 24 | 0.01% | 99.99% | - | Red | 25 | 0.00% | 99.99% | - ! scope="row" | ... | ... | ... |
---|
In oceanography[4] and meteorology,[5] backtesting is also known as hindcasting: a hindcast is a way of testing a mathematical model; researchers enter known or closely estimated inputs for past events into the model to see how well the output matches the known results.
Hindcasting usually refers to a numerical-model integration of a historical period where no observations have been assimilated. This distinguishes a hindcast run from a reanalysis. Oceanographic observations of salinity and temperature as well as observations of surface-wave parameters such as the significant wave height are much scarcer than meteorological observations, making hindcasting more common in oceanography than in meteorology. Also, since surface waves represent a forced system where the wind is the only generating force, wave hindcasting is often considered adequate for generating a reasonable representation of the wave climate with little need for a full reanalysis. Hydrologists use hindcasting for model stream flows.[6]
An example of hindcasting would be entering climate forcings (events that force change) into a climate model. If the hindcast showed reasonably-accurate climate response, the model would be considered successful.
The ECMWF re-analysis is an example of a combined atmospheric reanalysis coupled with a wave-model integration where no wave parameters were assimilated, making the wave part a hindcast run.