Which software to use for backtesting?

Discussion in 'Trading Software' started by benwm, Feb 14, 2011.

  1. benwm


    I am new to backtesting, but wanted to test some hunches of mine. I suggest we start a thread discussing the software options for backtesting potential trading systems using historical data.

    In particular,
    - Which software have you have used and how much did it cost?
    - How was it? Ease of use, functionality, etc...
    - Where did you get your data? Did the software provider add historical data with the software or did the data come from someone else?
    - Did the time and money investment in backtesting pay off? Do you still backtest on a regular basis? Or did you try it, hit a dead end, and bin the project?

    Screenshots are welcome.

    Perhaps there are already some other threads discussing the options, if so, please kindly share?

    Thanks everyone in advance...
  2. It really depends on the time frame that you want to backtest and if you will be combining multiple time frames.

    I wanted to backtest day trading ideas and found that not very many software packages available could do the following:

    Mix daily and intraday timeframes with ease.
    Back-test multiple symbols at the same time.
    Back-test any single date or range of dates simultaneously on any symbol.
    Have a solution for continuous backtesting of multiple strategies, symbols, timeframes.
    The ability to mine data and find high probability trades.

    All this was what I was looking for and I had to develop it on my own.
  3. benwm


    Thank trhudson for you reply. Which data source do you use?

    And though I'm unlikely to build something from scratch (only as a last resort), which programming language?
  4. I used data from a few sources and I extract my high /low from the data that I get on my own. Trying to combine multiple data sources is extremely difficult (for some reason).

    My program does it totally different than most, I slice the data into individual days and process it all at the same time.

    C#, C++ are good and I would most likely opt for C#. I hired a few programmers to code my project and it is a fully automated trading system, backtester, with simulated trading, and the ability to create your own systems.

    However, if you are just looking to backtest, you don't need to get all crazy. I develop strategies in PHP before I have them coded for my system. PHP is extremely easy and you could develop a backtesting platform rapidly with it. It can reside on your computer or on the internet. I included all the same calculations that you will find in the commercial applications and it takes only a few seconds to backtest quite a bit of data.

    What time frame will you be using?
    How much data do you need to backtest (years)?
    Day trading? Swing Trading?

    If you use daily data, you could easily store the data in a database or it could be read from the file. I prefer the database.

    If you are using intraday data, just leave it in the file.

  5. benwm


    1 1 min data is fine - ideally 5-15 sec bars but I'm just trying to get an idea of where I would have got fills on a possible strategy

    2 Most recent 2 years would be a good start. Then I suppose I would want to also test further back. I would like to backtest on a specific subset of the dataset ( I select the days to test)

    3 Positions held from a few minutes to a couple of hours
  6. What will you be trading Stocks / Futures?
  7. benwm


    All futures, especially interest rate (ZN, GBL, L, I) and indices (ES, FESX)
    But initially I am looking to test out some ideas in ES.
  8. To get your basic trading ideas tested, there are a number of platforms. NinjaTrader is popular and C# based. If you want to test multiple time-frames, then set the chart at the finer timeframe and then build your logic around aggregating bigger bars.
  9. You may want to check out tradelink for backtesting.

    for backtesting, TradeLink :
    * is free and open source
    * supports bar and tick-based backtesting
    * supports level 1 and level 2 quotes
    * plays back ticks at 250,000-800,000 ticks/second
    * can record ticks from any of 15 brokers or feed providers
    * can import ticks from esignal, cqg, euronext and many more : http://code.google.com/p/tradelink/wiki/DataSupport
  10. benwm


    #10     Feb 14, 2011