Algorithm permutations testing

Discussion in 'Automated Trading' started by xbuster, Feb 17, 2010.

  1. xbuster



    I've a question. I've developed number of quantitative trading algorithms and now looking for the way to optimize input parameters.

    I've decided to "run" the algorithms with various permutations of input parameters and the store historic trades in database.

    Now what I'm looking is easy way to compare between all results that created by all permutation runs and be able according to rules I define to find the best choice.

    I had in mind some library that I can use codding let's say in C# to get some results like: gain, sharpe ratio, maximum drawdown etc and then I can build some function that will choose the best permutation.

    Please let me know if I'm thinking right. Please advise on some tools, libraries, batch processes that I can use.

    Thanks in advance!
  2. Corey


    Look up Numerical Optimizations, and define your 'fitness' function to be whatever combination of data you want. I just use GSL's simplex method the majority of the time for simple optimizations (like finding implied volatility), and genetic algorithms for more advanced ones.
  3. dloyer


    Consider using AmiBroker for system design. (Not execution)

    Good backtester and built in search/optimization/walkforward functions. Reasonable cost.
  4. Are you looking for the optimal money-losing function?
  5. xbuster


    Thank you all for your replys!

    I think I didn't explain myself properly. What I'm looking for is a "Tool" or "Library" that can take as input trading log and will allow me easyly calculate various statistics like maximum drawdown, sharpe ratio etc. (I don't want to create code for implement statistical functions by myself). It's very important that I can use code to run that "Tool" or "Library" in order to programmaticaly calculate statistical indicators that I choose.

    After I'll have such tool my goal is to construct function "F" from various statistical indicators according to weight I choose for each and then look for maximum "F" value in permutations of runs of my algorithm.