Frosty Strategy Development

Discussion in 'Strategy Building' started by frostengine, Aug 3, 2007.

  1. Many of you may have followed my previous 2 real money auto trading journals. For those of you who haven't, the end result both times was my bot experiencing a huge draw down over the course of a month of two which forced me to shut it down.

    Before going live again, I want to work on developing some new strategies. I am trying to get back to basics... I have not sat down and started from scratch developing a strategy in about 2 years... all of my strategies over the past 2 years were all based off of another strategy.. Now I am trying to start completely fresh.

    Even my procedure for developing strategies, I want to revamp all of it.

    I will be using a modified version of JSystemTrader for all of my backtesting needs.

    I have always found it "easy" to find good entries. Well at least the entries seem fine. It is the exits that do me in.

    To overcome this issue with exits, I have normally employed a stop and reverse exit.

    With this, its not very dificult to find strategies that "work". However, the problem comes in the form of draw downs and massive losses. I do not have the stomach for this type of strategy.

    The next typical type of exit is to use a simple stop loss. I have never had good results with this. Perhaps my entries are just not good enough... or something. However, I believe my issue is, although I'm setting a stop loss.... I still do not exit well when I have a profit.

    I have tried using traililng stops, however I find on a small time interval such as what I typically trade, the profit margin isn't big enough. Meaning that the trailing stop ends up giving back too much of the profit causing it to be very dificult to turn a profit over the long run..

    with all that mumbling said, let me try to get this on the first topic I would like to discuss.

    The type of strategy i am going to try and develop will be a 1 minute strategy trading ES. Always flat by end of day.

    I believe that the entries I make are "good"... but what is a way to determine this. Since every trade has 2 parts, both an entry and an exit, how can you simply focus on an entry to determine if its a good entry?

    The thougth I am thinking of employing is, to set a tight profit target and stop loss. So basically for every entry imediatly set a stop at 2 ATR and a PT at 2 ATR.

    2 ATR is a very small window. So my thought is, if an entry is able to generate a profit over 1000 trades taking into account both slipage and commision, then that entry probably has at least a slight edge...

    Would anyone disagree with this basic premise?

    The way I look at it is, if I can find an edge for sure in the entry, then I can spend time working on improving the exit.


    I know I rambled a lot.. hopefully something in here makes sense and we can get a good thread going about system development.

    Thoughts?
     
  2. MGJ

    MGJ

    Measuring the benefits of an Entry signal, in isolation.

    Chuck LeBeau suggests making a "system" with your entry signal and a time-based exit. Exit the position at market on the open, N bars after entry. Then simply measure the Winning Percentage. Coin flipping will give Winning Percentage = 50%, so you are looking for an entry with >50% Winners. That is, you are looking for an entry which is profitable N bars later, more than half the time. Vary the value of "N"; try 5 bars later, 10 bars later, 15 bars later, etc. According to the timeframe of trades you hope to implement. LeBeau suggests you want to find entries which lead to profits N days later, more than 55% of the time. Less than that is practically indistinguishable from coinflipping.

    RINA Systems has an "Entry Efficiency" measure which equals (for long trades)
    ((Highest High during trade) - Entry Price) / ((Highest High during trade) - (Lowest Low during trade))
    This assumes some sort of an exit is married to the Entry. Could be an N-bar hold if you like.

    Curtis Faith's book Way Of The Turtle presents an Edge Ratio that lets you measure the edge (benefit above trading-at-random) of an entry. It's volatility-normalized-MFE divided by volatility-normalized-MAE, measured in an N-bar holding period, see the book for nitty gritty details. Random trades will have MFE approximately equal to MAE, thus random trading will have Faith's Edge Ratio ~=~ 1.0. Better than random entries will have MFE > MAE, thus a Faith's Edge Ratio > 1.0. Worst than random entries will have Faith's Edge Ratio < 1.0.
     
  3. 2 * ATR: How do you compute ATR?
    Will this be "trend following," too?
    Depending on how ATR is calculated, stop or profit at 2 * ATR may mean that the bot stays in a trade until end of day. ES trends can be short lived.

    In general, what changes did you make to JSystemTrader? Tick data? Place orders other than market?
     
  4. I like the idea of using a time stop to judge entry quality. So, I will be trying to find a strategy that when using a 10 bar time exit, it is profitiable over 1000 trades taking into account slippage and commision
     
  5. In order to know how well a strategy performs compared to random, I made it randomly decide to enter and then hold for x bars before selling. This is on about 2 years of 1 minute ES data. Currently testing LONG only trades. All trades are with slippage and commissions.

    Hold Period 5 bars:

    Run #1: Trades: 5894 PL: -990 PTS Win% 58
    Run #2: Trades: 2512 PL: -365 WIN% 52
    Run #3: Trades: 2820 PL: -391 PTS WIN% 53
    Run #4: Trades: 4572 PL: -703 pts WIN% 57
    Run #5: Trades: 9306 PL: -1,529 WIN% 45
    Run #6: Trades: 832 PL: -93 WIN% 26
    Run #7: Trades: 1284 -170 % 39
    Run #8: Trades: 1494 -193 % 41
    Run #9: Trades: 1908 -297 % 46
    Run #10: Trades: 1634 -217 %44



    Hold Period 10 Bars:

    Run #1: Trades: 6140 -1055 %61
    Run #2: Trades: 1656 -215 %47
    Run #3: Trades: 1404 -169 %44
    Run #4: Trades: 2158 -258 %53
    Run #5: Trades: 1566 -203 %47
    Run #6: Trades: 1535 -168 %46
    Run #7: Trades: 1529 -151 %43
    Run #8: Trades: 2418 -361 %53
    Run #9: Trades: 1294 -184 %41
    Run #10: Trades: 2212 -326 %52



    So what does all this show? Don't really know yet... but I figure it should be useful when I compare my entries to it. One thing that is very aparent is none of the random strategies are even close to being positive with the commissions and slipage included.

    Any suggestions on what else I should do?
     
  6. frosty, i would be hesitant to use 1 minute bars. why not try volume bars or tick?

    the benefit would be having continuous charts. you could w/ 1 minute bars, but after hours would be unrealistic. (i know you prefer not to hold overnight). but think.. your developing a trend following system i assume. whats the strength of trending systems? the big wins.. you wouldn't be forced to exit a potential home-run trade at MOC. also, it's so much simpler to develop and test a system on a single data set vs dividing the data by each trading day. ok sorry, i admit i've not done this..so i assume this to be true. just a thought..
    :)
     
  7. Well concerning volume bars, i'm under the impression that the volume data you get is not accurate.. I could be wrong, but i'm pretty sure I read a thread about this a while back here on ET.

    EDIT

    Also, I do not know of any good places to purchase the data needed to build these volume or tick based bars for backtesting....
     
  8. the data problem..
    yes, you got me there i guess.
    i considered purchasing data a while back but didn't. i was concerned that i might develop a system on the purchased data that wouldn't perform the same w/ IB's.
    so.. i have just worked with data i've captured from IB. i can create volume, tick or time-based charts. i just assumed you could as well. the accuracy of volume bars is dependent on the charting software.(correct me if i'm in error here)
     
  9. Well I have about right at 1 year of data captured from IB in a format where I can put it into any type of bar I want. However, that 1 year of data I now have serious doubts if it is enough. Also the majority of that data was captured on the sim account, which I now know to be very error prone data.

    For this next system, I want to test on a MINIMUM of 4 years of 1 minute ES data. Which I have all 4 years, but only testing on 2 right now, the other 2 is reserved for forward testing.

    I feel after two failed attempts, I got to be extra careful, and I really believe my data caused a lot of my problems last time.
     
  10. You're starting off wrong. The actual system/model like entry... exit... stops... position sizing risk management... etc. etc. comes in a lot later.

    Hint: Which contract/symbol(s) are you going to be trading? Why is choice of contract/symbol(s) "favorable" for you to be trading it?

    TEST EVERYTHING.
     
    #10     Aug 4, 2007