System Feedback

Discussion in 'Strategy Building' started by Murray Ruggiero, Sep 26, 2005.

Is system recent performance predictive of future performance

  1. Yes

    4 vote(s)
  2. No

    4 vote(s)
  3. Don't know, too hard to test

    3 vote(s)
  1. Murray Ruggiero

    Murray Ruggiero Sponsor

    In this thread let's discuss the concept of trading a filtered version of a system which is filtered using the raw performance of the system. The turtles did some of this type of work in their system with there past trade filters.

    I orginally wrote about equity curve feedback in Cybernetic Trading. The problem with this type of research is that it is not easy to create code to simulate many trading strategies , in effect create a second channel for backtest in code. Bill Brower has done this for channel breakout in a old Inside Edge system newsletter for Tradestation, I don't remember each one it his monthly coding contest. The problem is if we test another system, we need to alway write this code custom for each strategy.

    Since I like this area of research I added these features to TradersStudio. Here is the code for a channel breakout which requires the last trade to be a losing one.

    ' Channel Breakout Filtered by Equity of Channel Breakout
    ' This system trades a virtual channel breakout which takes all trades and filters the
    ' performance of the actual live system. It only takes a trade if the previous trade
    ' for the virtual system lost money
    ' TradersStudio(r) 2004 , All rights reserved
    Sub ChannelWithFilters(SLen as integer)
    Dim MinMove
    Dim TrProfit
    Dim LowPrice as double
    Dim HighPrice as double
    ' Take a trade for the virtual system
    VirtualBuy("ChanBuy",1,HighPrice+MinMove ,STOP,DAY)
    ' If the virtual system has at least two trades
    if VirLiveTradeCount()>2 then
    ' Trade 0 is the last completed trade, Trade 1 would be two closed trades ago
    ' If last trade in virtual system lost money then trade a real trade
    if TrProfit<0 then
    Buy("ChanBuy",1,HighPrice+MinMove ,STOP,DAY)
    ' Just exit the old trade and don't start a new one
    end if
    end if
    end Sub

    We have a second set of Buy, Sell, Exitlong, Exitshort, which have the word Virtual in front of them. We also have a set of functions to retrieve their performance.

    We are using this system for part of a Free E-Mail course for registered members of our site. I will put some results about this system performance here in this forum, but the E-Mail course with the results, the portfolio’s, optimization and money management is 10-12 pages, over 4 E-Mail currently. We are working on additional Free E-Mail courses also. The courses are geared toward Beginning and intermediate traders, but I think even advance traders will find value.
    If you want to share some ideas we can test them out in TradersStudio. If you have EasyLanguage code in Text format, just paste it into the post for example. I can translate it using TradersStudio migration tool and share the results with the forum, since TradersStudio can translate 90+ percent of TradeStation systems and functions.

    You can register on TradersStudio by clicking here
  2. Murray Ruggiero

    Murray Ruggiero Sponsor

    The concept that recent past performance of a system is predictive of future performance of a system should be a hot topic. First the recent trade filter concept was used back from the Turtle days. In addition the concept of turning a system on or off based on some type of analysis of the equity curve is an interesting area of research which I first wrote about it in the mid 1990's .

    The big problem with this area of research is that there have not been tools to actually test it, without my complex coding. I added these features to TradersStudio so I could further this research and now anyone who could code even a simple system using TradersStudio can do this same type of Research.
  3. murray, in your experience in the trading system world, do you think sharing exact details to a profitable trading system has an negative effect on its performance because too many people know about it, or is all trading system performance absoultely governed by market conditions? for eg. richard dennis says what worked 20 years ago doesnt work today, is that because too many people know for eg. the turtle method or is it because information nowadays is discounted into price faster resulting in more spike type trends rather than pro-longed 45 degree type trends? also whats your take on volatility? when will we see it come back? thanks.
  4. I know you didn't address this question to me but if you look back over the last 10-20 years, there's been a *huge* change in how people trade. Everyone looks at charts, has fast computers to test, study past price movements, along with fast execution and low transaction costs have made systems used in the old days obsolete. Prices of 10-20-30 years ago trended a LOT because information was MUCH slower getting to people and by the time some smart guy with his HP calculator figured things out, well, it took a while even though there certainly was a more discernible edge for some players compared to today, where it's virtually cutthroat!

    Then consider too that a lot of money is now concentrated among the larger players and that many more strategies (because of automation and fast analysis) are now being employed all at the same time, whereas before it was mainly directional and you get markets that behave way different. Just look at all the discount/online broker offerings and you get a glimpse. Fidelity now promotes wealthlab, tradestation, etc, etc. So, as Joe6Pack gets a bit smarter, the big guys have to work harder to take his money.

  5. Murray Ruggiero

    Murray Ruggiero Sponsor

    Answering your question completely could talk many articles or even a book. I don't think your realize how rich your question really was.

    1) Does too many people trading a system or knowing how it works hurt performance.
    This is not a yes or no answer. One thing it will effect is slippage. If your system pulls 8-10 ticks from the bond market this is a problem. If it's a trend following currency trader with an average trade over 1000.00 then it not a problem as long as the system is working well. If backtested performance averages 1000.00 a trade and real world is 500.00 then losing 200-250 in slippage could be a big problem, where an average of 800.00 a trade is fine.

    Your other question is does a lot of people knowing the rules effect performance. Well that is the deep question and that depends on the system. How robust is it? If I change my entry points a little does it still work. This is important because we want to make sure that system front running which will noise up your entry point will not destroy performance.

    The good thing is that most people can not follow a system. I can give many traders the holy grail and they will find a way to lose money. Taking every trade no matter what is not as easy to do as you think. Most traders will stop trading at the first drawdown, most of the time they quit trading at a point which is only 30%-50% of the maximum drawdowns , if maximum drawdown was $60,000 they would quit at $20,000 to $30,000. Then when the system comes back and hits new equity highs they start trading again, and then because they now lost $20,000 last time a 10,000 drawdown stops them , this time.
    After a few times they are totally out of money even if the system worked as expected and was up $50,000 for this period.

    They never trade though the drawdown and have traded a real max drawdown of 30,000 into a 50,000 loss and bankruptcy because they stop trading and don't go though the recovery period with the system.

    Since less than 10% of traders can trade systems correctly this helps protect many good system unless they are hot right out of the gate and work for several years without a drawdown.

    Short answer
    1) Heavy useable can effect performance, because of slippage
    2) System need to be robust around entry points, so that front running effects are minimal.
    3) The point of when slippage becomes a problem is a function of system performance,drawdown. The bigger drawdowns during regular period the less likely that a large universe of traders follow every signal.

    I will address your volatility issue in a later posting
  6. thanks risktaker and murrary for your comments, also murray, do you think the larger the drawdown and the more sporadic the performance(i.e. the most simple, basic, non-optimized system), the more likely it will have a longer shelf life? do you agree with that?

    also i hear that experienced system traders 'know' the 'shelf life' of a system, what exactly does that mean? does it mean when a system reaches 150% of a monte carlo(simulated) expected max DD? or something like that? or have all the classic systems always worked and always will, just that there can be prolonged drawdown periods?

    would you say the the amount of parameters in a system and its robustness(shelf life) and invertedly correlated? what would you say is the most accurate measure of robustness in a system?

    also if your trading a system over 5 low-correlated contracts, would you do your money management for the whole a/c or for each contract specifically?

    sorry if im picking your brains too much,
    thanks again.
  7. Murray Ruggiero

    Murray Ruggiero Sponsor

    The issues about shelf life and drawdown, is a very deep issue. Many sporadic drawdowns solve the problem of too many people trading it but sporadic drawdowns could indicate that the system is not stable.

    Drawdown number like when a system exceeds 150% of historical drawdowns or using monte carlo simulations can give you valuable information but the most reliable and powerful is looking at the footprint of the system. If we look at the underlying trade distributions and they change drastically we can know that the system is in trouble even before it loses money.
    One tool I use for a quick dirty measure of this is a moving window of optimal f. You might thing that a higher f value would be good for the system, well the truth is I don't want f to differ too much from it's mean.

    Another issue is that how robust a system is partly based on parameters ect ,but what is more important is why it works. The premise of the system is the most important factor in system robustness.