Anyone tried Genetic Sytem Builder software?

Discussion in 'Automated Trading' started by ssp729, Apr 21, 2019.

  1. NinjaTrader_Ray

    NinjaTrader_Ray ET Sponsor

    #11     Jul 4, 2019
    SimpleMeLike and shatteredx like this.
  2. #12     Jul 4, 2019
    fan27 likes this.
  3. fan27

    fan27

    Indeed it Is! :)
     
    #13     Jul 4, 2019
  4. ssp729

    ssp729

    #14     Jul 4, 2019
  5. ssp729

    ssp729

    Have you used GSB to generate forex trading systems? Or just works with commodity and indices?
     
    #15     Jul 21, 2019
  6. ph1l

    ph1l

    I looked at Genetic System Builder a little mostly because I wanted to see what the nature of its generated code looks like.

    Here are some notes I took:

    https://trademaid.info/sysbuilder.htm
    There are 38 built in indicators, with support for unlimited custom indicators. Even TS/MC locked code can be used.

    https://trademaid.info/gsbhelp/Builtinindicators.html
    The over simplified GSB system structure is.

    result=indicator1*weight*indicator2*indicator3;
    SecondaryFilter=Close >PreviousDailyClose; {for buy} There are other options here to. See secondary filter mode two topics below this one.

    If secondary Filter=true and result>0 then buy;

    If secondary Filter=true and result<0 then sell;

    https://trademaid.info/gsbhelp/Training.html
    It is very important NOT to use the highly volatile 2007 - 2008 period in training. This would lead to systems that perform poorly in lower volatility periods.

    https://trademaid.info/gsbhelp/Nthday.html
    Temporarily Pause trading every nTh days. A much better option than using trading periods for out of sample testing is Nth day.

    The reason for this is some years are just very hard to trade, and you don't know if a system failed to make money due to poor market conditions, or being a poor system.

    https://trademaid.info/gsbhelp/General.html
    Fitness Criteria

    This is what GSB looks to maximize in its training period. Default is netprofit * average trade.

    Speed is22,104 systems per minute.

    https://trademaid.info/gsbhelp/ofindicators.html
    You can have 1 to 5 indicators + secondary filters in GSB systems. 2 to 5 are recommended.

    result=indicator1*weight*indicator2*indicator3;

    SecondaryFilter=Close >PreviousDailyClose; {for buy} There are other options here to. See secondary filter mode two topics below this one.

    If secondary Filter=true and result>0 then buy;

    If secondary Filter=true and result<0 then sell

    https://trademaid.info/gsbhelp/Operators1.html
    "+ brackets" has been added in version 52.06. This overcomes the issue with "+" described below.

    + brackets will do the following.

    Result=(indicator1*w1+indicator2*w2)*indicator3*w3

    Indicators can use the following operators. * / + and + brackets.

    Architectural problem with "+".
    Do not use + with * or /. The reason is any value will tend to be tiny compared to indicators multiplied together. This will likely result in redundant code.

    The default GSB code over simplified looks like this.

    Result=indicator1*w1*indicator2*w2*indicator3*w3

    w1 default = -1 to 1 step 2. w2 defaults are 1.

    If operator + is used, then change all the weights to -100 to 100 step2

    https://trademaid.info/gsbhelp/NormalizationModes.html
    Normalization Modes
    Leave these all true by default. GSB indicator data is normalized to be in the range of -100 to 100 over a normalization length of 100 bars.



    At 02:56, the video shows some sample code generated for TradeStation:
    upload_2019-7-21_22-28-21.png
     
    #16     Jul 21, 2019
  7. Good feature but over-fitting is a serious issue. I have been using a program that works only with price patterns called DLPAL S and that generates systems for NT7 and NT8. Over-fitting is lower due to no parameters and no indicators. I'm very satisfied with it but I'll be trying a genetic layer on top of the results soon. You see just feeding a genetic engine with indicators won't be profitable unless those indicators are to start with. I think you should consider adding some of the capability of DLPAL S in Ninja as it will be very useful and would be great if there was some integration.
     
    #17     Jul 25, 2019
  8. NinjaTrader_Ray

    NinjaTrader_Ray ET Sponsor

    Thanks for the feedback.
     
    #18     Jul 25, 2019
  9. shatteredx

    shatteredx


    I played with this over the weekend a little bit. It's promising, but it has a fatal flaw at the moment.

    You're only allowed to optimize based on the "Max Strength" fitness function. Unfortunately, this fitness function very often will choose strategies that are only 1 trade with 0 drawdown. Obviously, a trading strategy that is only 1 cherry-picked trade over 10 years is overly curve-fit to the extreme.

    I've already requested in the NT forums to allow optimization based on any fitness function so I will await that in a future update.

    (Another solution would be for NT to modify the max strength fitness function by subtracting the biggest winning trade and also the biggest win streak, something Robert Pardo suggests in his book.)
     
    #19     Jul 28, 2019
  10. ph1l

    ph1l

    https://ninjatrader.com/support/hel..._fitness_metrics.htm#UnderstandingMaxStrength
    upload_2019-7-28_22-52-56.png

    I guess they aren't kidding with "Work in progress."

    A genetic programming rule generator I wrote usually uses a fitness function that's a variation of the Ulcer Performance Index (http://www.tangotools.com/ui/ui.htm) multiplied by the number of winning trades and divided by the number of training samples. Fitness is then higher for a combination of a smooth equity curve and a greater number of winning trades. That almost sounds like how the Max Strength fitness metric is described.
     
    #20     Jul 29, 2019