Jump to content

Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

  • Welcome Guests

    Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.

Do Or Die

Three Steps in Trading System Design

Recommended Posts

Hi,

 

My trading is yet mostly discretionary. I have been trying to automate my strategies since several years. I tried a lot of 'system design' books and tools but was never really able to code a satisfactory system. Recently I had success in automating one of my intraday strategies and it is trading live profitably. It has shifted my perception that system design may not necessarily be a complicated process. On the higher level it can be broken down into three steps.

 

 

Step 1: Start with a set of premise

A premise is just an observation about market behavior, for example: http://www.traderslaboratory.com/forums/technical-analysis/10620-technical-trading-axioms-candidates-approval.html

It can be very hard to discover a premise through backtesting. People who have been trading long enough will have set of premise as a 'just know' thing, without requiring any proof whatsoever. Any profitable trader is likely to have more than 10 premise. There is no recipe for discovering a profitable premise, however, a lot of real time observations and interaction with experienced traders can help.

 

 

Step 2: Take your premise to market

This is the step in which backtesting will be useful.

- Turn your (set of) premise into an indicator/model. Define it mathematically.

- Test exception market conditions in which the premise will not work.

- Frame entry and exit rules around the (set of) premise.

- Be careful not to rely on backtest results on data history where there have been regime shifts

 

 

Step 3: Create a Trading System with the strategy

- Analyze performance metrics such as Losers vs Winners, Exposure %, Drawdowns..

- Validate for implementation errors. This will be a tedious process to manually go through a lot of trades to assure that the system is trading as expected.

- Modify, but do not optimize. Improve your strategy by finding more stable parameters, scaling in/out, positions sizing, diversifying. Improving a system is always an on-going process.

- Perform sensitivity analysis with the set of conditions. For example, a change in exit strategy by scaling out may generate totally different set of results. Play around with system code and parameters but 'respect' the original set of premise; finding a new system by hit and trial will likely not as robust as the 'original' code.

- Validate again using your common sense and trading acumen. For example, a particular modification which significantly reduces the no. of losing trades while keeping the Avg Proft/ Avg Loss the same may not be robust.

 

I know a guy who was doing a PhD in quantitative finance. He developed a system using neural nets and support vector machines (SVM). What the program actually did was backtest all possible combinations of over a 100 technical indicators, again with all possible parameters and trade using the ones which are most stable. He showed me rolling backtests results and they looked very impressive. However, when he executed the system live it kept losing consistently. I do not have the technical know-how to comment on what was lacking in his system, but I did not like that he had no previous experience in trading, and hence no observations about market functioning prior to trading system development.

 

Good luck!

Share this post


Link to post
Share on other sites

For the third step, I will recommending skimming through these books to pick up information relevant to your strategy:

New Trading Systems and Methods by Perry J. Kaufman

Trading Systems- A new approach to system development by Emilio Tomasini

Evaluation and Optimization of Trading Strategies by Robert Pardo

Share this post


Link to post
Share on other sites

 

I know a guy who was doing a PhD in quantitative finance. He developed a system using neural nets and support vector machines (SVM). What the program actually did was backtest all possible combinations of over a 100 technical indicators, again with all possible parameters and trade using the ones which are most stable. He showed me rolling backtests results and they looked very impressive. However, when he executed the system live it kept losing consistently. I do not have the technical know-how to comment on what was lacking in his system, but I did not like that he had no previous experience in trading, and hence no observations about market functioning prior to trading system development.

 

 

This sounds quite much like the definition of overfitting.

 

Thanks for your articles!

Share this post


Link to post
Share on other sites

That guy showed me results from rolling backtests.

 

Rolling backtests are a good way to validate a system. What you actually do is use 'rolling window' of historical data to backtest your strategy. If you are statistically inclined, see here: http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=9&ved=0CGMQFjAI&url=http%3A%2F%2Fwww.springer.com%2Fcda%2Fcontent%2Fdocument%2Fcda_downloaddocument%2F9780387279657-c1.pdf%3FSGWID%3D0-0-45-169676-p59330694&ei=VUa5TvD3Dor5rQfu8NS3Bg&usg=AFQjCNHuLVAqKa47aNk-uZpjcwfXYqUd2w&sig2=p_wn8IGABohigtxEnswenQ

 

I think he is pretty sharp in machine learning, he won some contests in college.

Share this post


Link to post
Share on other sites
Hi,

 

My trading is yet mostly discretionary. I have been trying to automate my strategies since several years. I tried a lot of 'system design' books and tools but was never really able to code a satisfactory system. Recently I had success in automating one of my intraday strategies and it is trading live profitably. It has shifted my perception that system design may not necessarily be a complicated process. On the higher level it can be broken down into three steps.

 

 

Step 1: Start with a set of premise

A premise is just an observation about market behavior, for example: http://www.traderslaboratory.com/forums/technical-analysis/10620-technical-trading-axioms-candidates-approval.html

It can be very hard to discover a premise through backtesting. People who have been trading long enough will have set of premise as a 'just know' thing, without requiring any proof whatsoever. Any profitable trader is likely to have more than 10 premise. There is no recipe for discovering a profitable premise, however, a lot of real time observations and interaction with experienced traders can help.

 

Glad to see you took the first step towards automation. It seems you clearly see the benefits of automating repetitive tasks that frees your time up to oversee your system. You cannot do this glued to a bunch of charts and having to manually pull triggers. Automating the triggers helps greatly in making the user manage systems, instead of being a worker.

 

The first step is to have the fundamentals of market movement in place.

Step 2: Take your premise to market

This is the step in which backtesting will be useful.

- Turn your (set of) premise into an indicator/model. Define it mathematically.

- Test exception market conditions in which the premise will not work.

- Frame entry and exit rules around the (set of) premise.

- Be careful not to rely on backtest results on data history where there have been regime shifts

 

Step 3: Create a Trading System with the strategy

- Analyze performance metrics such as Losers vs Winners, Exposure %, Drawdowns..

- Validate for implementation errors. This will be a tedious process to manually go through a lot of trades to assure that the system is trading as expected.

- Modify, but do not optimize. Improve your strategy by finding more stable parameters, scaling in/out, positions sizing, diversifying. Improving a system is always an on-going process.

- Perform sensitivity analysis with the set of conditions. For example, a change in exit strategy by scaling out may generate totally different set of results. Play around with system code and parameters but 'respect' the original set of premise; finding a new system by hit and trial will likely not as robust as the 'original' code.

- Validate again using your common sense and trading acumen. For example, a particular modification which significantly reduces the no. of losing trades while keeping the Avg Proft/ Avg Loss the same may not be robust.

The biggest hurdle is the frustration that comes with building your system, whether yourself or using a programmer. In the validation process, it helps to record desktop for several hours. The good news is that despite having hours of video, you can skip through many of the videos quickly and focus only on the relevent footage using a decent player like VLC player.

 

There is a video here that assists in setting up recording remote desktops This is important because many automated trading programs will be running in the cloud for maximum uptime. I usually use BSR screen recorder.

[ame=http://www.youtube.com/watch?v=SoybUfW0VdY]Live broadcast your remote desktop screen unattended - YouTube[/ame]

I know a guy who was doing a PhD in quantitative finance. He developed a system using neural nets and support vector machines (SVM). What the program actually did was backtest all possible combinations of over a 100 technical indicators, again with all possible parameters and trade using the ones which are most stable. He showed me rolling backtests results and they looked very impressive. However, when he executed the system live it kept losing consistently. I do not have the technical know-how to comment on what was lacking in his system, but I did not like that he had no previous experience in trading, and hence no observations about market functioning prior to trading system development.

 

Good luck!

 

From my point of view, the core problem of his systems approach is that he did not follow steps 1 or 2 from your approach. If he did, he would have the core aspects of the trading system (determining factors for entry/exit, and the physical entry/exit). From your article, it looks like your friend was seeking to accomplish finding the core aspects by chasing the secondary characterists (indicators, et al). In other words, he sophisticated-ly managed to combine needless inputs bullsh** that ended up confusing himself.

 

As you mentioned before, backtesting [with tick data] is good for helping to establish that your system logic is feasible. That is "works" in the sense of whether mechanically all of the gears turn correctly. Profitability comes second. Big second, of course, but we must make sure our plane has LIFT before we worry about a stronger engine.

 

Once the fundamentals are in place, then you take action. And a systems approach allows for repetition in action and scalability; two important features that are impossible to implement manually on a rapid basis. The conceptual aspect of a system should not be difficult to explain. After all, price only has two directions to go. Up or down. One of the biggest ironies of this automation business is that it does not take complex algorithims to make it work. If you read the interviews of metaquotes Automated Trading Championship of the top 10 contestants, the majority of them mention that it wasn't a complex system that allowed them to win. Other type of trading championships if you look at their trading strategies, the majority of them use position sizing (e.g. bet it all in) and took their chances.

Share this post


Link to post
Share on other sites
You sound experienced. Welcome to TL! which markets do you trade?

 

Right now i am focused on forex, due to higher leverage and easier ability to position size. i will most likely be releasing an indicator that will help chartist remove time and focus exclusively on price action. This is difficult to do and take advantage of without the use of a script of some sort.

Share this post


Link to post
Share on other sites

Walk forward testing, as suggested by the paper and the Pardo book, is a great method to avoid curve fitting. However, it is very time intensive. Tradestation recently rolled out a genetic walk forward optimizer. I have yet to take it for a spin, but anything that helps with this process is very much welcome!

Share this post


Link to post
Share on other sites
Walk forward testing, as suggested by the paper and the Pardo book, is a great method to avoid curve fitting. However, it is very time intensive. Tradestation recently rolled out a genetic walk forward optimizer. I have yet to take it for a spin, but anything that helps with this process is very much welcome!

 

I've been using Amibroker's CMAE engine for rolling backtests and walk forward optimization for over a year now. It's way faster than anything I've seen. The cmae algo 'converges' very fast, and may take 1/50th of the time of an normal exhaustive optimization.

Share this post


Link to post
Share on other sites
Tradestation recently rolled out a genetic walk forward optimizer. I have yet to take it for a spin, but anything that helps with this process is very much welcome!

 

TS's new walk forward system was based on their acquisition of The Grail - a product that had been purchased by a hedge fund several years ago and then the new owners stopped releasing it for new retail customers. It may prove to be a great advantage to system designers now that it is back in the public domain.

 

From my experience, the only automated (day trading only) strategies that I have written (and I have well over 1000 of them) are based on longer time frame charts like 15 min or 30m. Anything shorter time frame including advanced bar type have not stood up over time. The lack of automated success over th epast 3 years suggests that either I have no idea what I am doing (probable) or it's not that easy to develop a robust strategy (even more probable), or both. I just find it easier to be profitable on a discretionary basis than relying on my automated strategies. There are many pitfalls besides curve fitting.

 

I would like to know

1. what timeframe the original poster is having success with and

2. whether his original premise is market price action based or indicator based.

 

Good luck with your trading.

Share this post


Link to post
Share on other sites
TS's new walk forward system was based on their acquisition of The Grail - a product that had been purchased by a hedge fund several years ago and then the new owners stopped releasing it for new retail customers. It may prove to be a great advantage to system designers now that it is back in the public domain.

 

From my experience, the only automated (day trading only) strategies that I have written (and I have well over 1000 of them) are based on longer time frame charts like 15 min or 30m. Anything shorter time frame including advanced bar type have not stood up over time. The lack of automated success over th epast 3 years suggests that either I have no idea what I am doing (probable) or it's not that easy to develop a robust strategy (even more probable), or both. I just find it easier to be profitable on a discretionary basis than relying on my automated strategies. There are many pitfalls besides curve fitting.

 

I would like to know

1. what timeframe the original poster is having success with and

2. whether his original premise is market price action based or indicator based.

 

Good luck with your trading.

 

i'm sure the original premise is market price action-based. Indicators are secondary consideration. if the foundational aspect of the system is not adequate, the system will fail instantly. Time should not be a factor. You must look beyond the time differences to see what core factors allowed the system to win or lose.

Share this post


Link to post
Share on other sites

I would like to know

1. what timeframe the original poster is having success with and

2-minute

 

2. whether his original premise is market price action based or indicator based.

 

What I mean by premise is "an observation about market behavior". So by default it cannot be indicator based.

 

For example, "Buying on bullish divergence with RSI" is not a premise.

The fundamental premise is "Buy when the internal relative strength of a stock increases even though the prices keep touching lows." See this thread for even a more detailed discussion.

In Step 2 when you mathematically define this premise it becomes a model or an indicator. (this is reverse how most people learn). In Step 1 there is nothing but plain English.

Share this post


Link to post
Share on other sites
Walk forward testing, as suggested by the paper and the Pardo book, is a great method to avoid curve fitting. However, it is very time intensive. Tradestation recently rolled out a genetic walk forward optimizer. I have yet to take it for a spin, but anything that helps with this process is very much welcome!

 

Walk forward is essential to system design. In addition to Tradestation, AmiBroker has an excellent walk forward optimizer. A system developed with "in-sample" data does not necessarily produce good results with "out-of-sample" data. I would not trust any system that has not been subjected to walk forward evaluation in a variety of market environments. More important than testing hundreds of indicators and their parameters with only "in-sample" data.

Share this post


Link to post
Share on other sites

I have been using the Tradestation Walk Forward testing for about a month now and have been running some of my dozens of previously written systems through it to test for robustness.

 

The key to robustness seems to lie in overall simplicity of the system. For example, none of my systems with more than 2 inputs will walk forward test well. Those with 0 to 2 inputs generally forward test with robustness.

 

My preferred style of systems are always in, flip flop, reversal systems using minute based charts and no indicators. I love breakouts from a market occurance, time reset systems and variable opening range breakout systems, as they have proven to me to be best at catching enough of the major market movement to be profitable, and in general, usually test and trade with more total profit than In-0ut-Target-Stop systems.

 

What I mean by two inputs or less is, for example, an oscillator like RSI, requires (1) a length input and 2 stationary lines (2 and 3) for a total of 3 inputs, which walk forward testing seems to frown upon.

 

Something like a time of day (1) and a dollar amount above and below the close at that time of day (2) would only be two inputs.

 

Just my two cents,

 

MomentumChaser Steve in San Diego

Share this post


Link to post
Share on other sites
My preferred style of systems are always in, flip flop, reversal systems using minute based charts and no indicators.

 

Although it's always in, do you still hav a drop dead stoploss in case it gets wacked?

Share this post


Link to post
Share on other sites
I know a guy who was doing a PhD in quantitative finance. He developed a system using neural nets and support vector machines (SVM). What the program actually did was backtest all possible combinations of over a 100 technical indicators, again with all possible parameters and trade using the ones which are most stable. He showed me rolling backtests results and they looked very impressive. However, when he executed the system live it kept losing consistently. I do not have the technical know-how to comment on what was lacking in his system, but I did not like that he had no previous experience in trading, and hence no observations about market functioning prior to trading system development.

 

Good story, probably one of thousands. The PhD fell victim of data-mining bias. His systems were spurious by virtue of the fact that he reused the data millions of times until he got something he liked. But the market did not like what he liked. This blog explains it all.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.