Backtesting speed

Discussion in 'Automated Trading' started by thimel, Jul 19, 2007.

  1. thimel


    I'm looking for the right platform to backtest a system. While there is a lot of information in the forum and on the web about program features, there is very little quantitative information on speed.

    Could people run a simple bench mark on a platform that they own and report the time it takes to run here.

    For simplicity, the system would be a moving average crossover with lengths of 20 and 100 bars, run on daily bars for the past 10 years on the 500 stocks in the S&P 500. If the system has to download data and caches it locally, then run it twice, recording the second time. Include your CPU type and clock rate and amount of memory in your report.

    I'm particularly interested in data from AmiBroker, TradersStudio, and TradeStation+PortfolioStream

  2. Custom made Java-based ATS with the back testing and optimization capabilities. On a Windows XP with a 2Ghz CPU, a typical back test runs at the speed of about 250,000 bars per second.
  3. In your case all quotes can easily fit in computer memory (RAM).

    Modern RAM moves data at a speed ~1 GB/second.
    Say your bar size is 20 bytes -> theoretical limit should be in the range of 50 mln bars/second.
  4. MGJ


  5. Wow, I must be running slow because amibroker on a 2gig pc handles 5000 stocks * 20 years data * 255 days = about 2 minutes to backtest a basic strategy without too many for loops...
  6. On a 2.4 GHz machine with 1 Gig of RAM, Stratasearch ran a 13 year backtest on the SP 500 in ten seconds.
  7. onelot


    if you don't mention number of data points, your benchmarks are meaningless.
  8. You are correct, plus my prior test was done with an hourglass and not with the formulas mentioned in the original post. Using the prescribed process, Stratasearch ran about 320,000 bars per second.