What type of drawdowns do you go through with your system

Discussion in 'Automated Trading' started by trackstar, Jan 28, 2009.

  1. I have attached a few pictures of a system that I have automated and runs via tradestation (this is NOT compounded). It looks for 1 pattern that happens in many markets and exits by the end of the day. It does best in the ES/NQ/YM/ER but it has had, in my opinion, significant drawdowns.

    For a similar return what drawdown should be expected. Or what expectations do other here have of drawdowns?



  2. Does your system take any parameters? If so, how many? is the equity curve you posted based on an optimization?

  3. No optimization now(it used to before I figured out a way to code in an adaption to volatility), but yes there are parameters that can be changed. Most are attributed to the stop since that is what required the most attention when building the system.
  4. If the only parameters you use are for managing trades you have already entered, then I would say this strategy has a lot of promise.

    Any strategy that requires numeric definition of setup and entry, based on input parameters, should be treated with care. Not to say that such systems don't work, but just looking at the results of a single-shot optimization are completely deficient for assessing the viability of the trading system.

    If you system does not need to be numerically fit to each individual market, a good litmus test is to apply the strat to multiple markets (i.e. ES, YM, NQ, and TF), and use only one set of parameter values, applied to all markets. If you can produce an aggregate equity curve that resembles the one you've posted, you have one hell of a system.

    In any case, it would be prudent to perform a walk-forward analysis of the system if ANY optimization is involved.

  5. One other issue I have is with the tradestation performance report. What I don't like specifically is that the performance metrics are not calculated at even time intervals, only on a trade basis.

    For day-trading systems, it means metrics are calculated too frequently. For long-term systems, too infrequently.

    Futures are always marked-to-market on a daily basis, and it in turn makes sense to base all fitness calculations using the daily time interval.

    The best way to do this is to calculate NetProfit + OpenPositionProfit at the close of the session, or on the first 5m bar of the following session. Once you record each session's PNL to file, you can post-process the results to calculate any fitness metric you like.

    Let's say parameter set A produces 1/2 the number of trades that parameter set B does. If you perfrom fitness calculations on a trade-by-trade basis, the results will be meaningless. Only when you normalize the calculations to a fixed time interval can you make apples-to-apples comparisons in the performance of parameter values.

  6. Yes it can with no values changed at all. But it would potentially to better with a little tweaking for every market. Ill post one up for gold since its a market that is less correlated.
  7. [​IMG]


    The oil mini contract is the only oil I have a data feed for and I only have from 04/23/08 but its still a fairly nice curve.
  8. Makes a lot of sense. This strategy is limited to entering 3 time per day in any market but rarely ever will it do that. Thank you for your suggestions Rough.
  9. Not really sure how you get 5 months of trading from 100 trades. It can POTENTIALLY trade 3 times per day.

    It is never exposed to the market more than 3 hours a day.
  10. Corelio


    The acceptable range of drawdowns on an automated strategy can be determined from the drawdowns found during your testing.

    There are several metrics that you can use to gauge the real-time performance of your system in relation to the simulated results. Average losing trade, max. drawdown, consecutive losing trades and so on. Real time trading results should be monitored against these benchmarks in order to determine if the system is performing accordingly.

    Walk forward optimization is a best way not only to optimize, but also to evaluate "forward-looking" performance of your system. The out-of-sample testing gives a better feel of system robustness and performance.
    #10     Jan 29, 2009