Faster Processing For Backtesting?

Discussion in 'Automated Trading' started by Norm, Dec 19, 2005.

  1. Norm



    I am new to using TradeStation for backtesting. Yesterday I ran an optimization that took about 20 hours to complete. I can foresee much longer optimization later.

    I have a dual core Pentium D machine with 2 gigs of RAM. While running, I noticed that one process was 30% busy and the other was 60%.

    Can I make the computer work harder, i.e., 100% on both processors, to speed up the test?

    Does anyone make a RAM drive, so that I can eliminate disk accesses to gain more speed?


  2. I don't think a ramdrive will help much -- from what I can tell (and I'm just guessing) it seems as if TS loads the data then runs the optimization with the data in memory....that's how I'd write it and how I would hope they did.....

    That program looks interesting....
  3. mmillar


    How long your optimizations take will depend on

    1. how much data you're processing
    2. how many optimization iterations you are going through
    3. how well your code is written

    If you're processing on 1 min data, can you move to 5 min? Your optimization will be 5 times faster. Then if it looks good you can move down to 2 mins, 1 min etc.

    If you're optimizing from 1 to 100 with 1 point steps then can you just do 5 point steps? Again, it will dramatically increase optimization speed. If you are doing enormous numbers of iterations then you will probably need a genetic optimizer.

    How your code is written can make a big difference. Changing BarNumber to CurrentBar for instance will save about 10%.

  4. jdollarr

    jdollarr Guest

    first, demo optimax.

    second, TS optimize engine is not multi processor/core capable. While the charting portion is multi process/core capable, optimize is not. This is talked about extensively in the TS forums.
  5. Norm


    jdollarr states that:
    "TS optimize engine is not multi processor/core capable".

    When I am only running a TS optimization on my dual core machine, something is using 30% of one processor and 60% of the other. These numbers do not seem consistant with normal house keeping chores and no other applications are running, so it at least looks like the TS optimization is using both processors.

    Anyway, I have been told that it is possible to increase the amount of time (processing power) that a processor will dedicate to an application. Thus, it seems like there is a way to force the computer to run a TS optimization at closer to 100% of processing power.

    If anyone can explain how this is done, I am certain that many of us will benefit.

  6. You're going about the whole process wrong. You must be testing every combination under the sun? Not efficient at all!

  7. If there are spare cycles (less then 100% cpu util) then the OS will give it to any process that needs it. If you are running at less than 100% cpu util then you are not cpu bound - you need to find the bottleneck and fix that.

    Here is a review of a solid state (RAM) drive, they are pricey but much cheaper than they used to be:

    Note that you can also make a RAM drive out of free system memory with the appropriate software (not that I am recommending that approach).
  8. in my experience benchmarking identical TS optimizations on a 1.7 Pentium M laptop with 1G ram, and 3.2 Pentium D with 3G ram, the laptop is actually a little faster. I don't use it enough that the time savings is important, but I was surprised that the desktop was actually slower.
  9. skepticaltrader

    skepticaltrader Guest

    You can always speed your optimization up by using a Cray Super computer.
    #10     Dec 20, 2005