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.

swansjr

System Development - Step 1

Recommended Posts

Step One - Testing Your Key Concept

 

One of the very first steps I perform when developing an automated intraday trading system is to test which market session will likely produce the best results. We are all aware that different sessions exist for any market. For example, when dealing with the emini S&P we have a pre-market session, the morning session, lunch time session and an afternoon session. Often you can see distinct characteristics within each session. So, when I have a new idea I don't want to develop it to blindly trade during every session. I want to be more targeted in my approach.

 

When designing an automated system there is basically two methods to trade. Trend Following or Trend Fading. It makes sense that a trend following system would work best when the markets tend to trend, right? Likewise, a trend fading strategy would work best when a market is trendless or choppy. For this example let's create a simple a trend fading strategy for the S&P (ES) market on a 5-minute chart. We'll use a extreme readings on the RSI indicator as our signal. That is, short at the oversold region (70) and go long at the lower region (30). If you code this basic concept up and test it from 8:30am to 3:00pm on the ES market what do you think you'll get? That's right, a losing concept. So, what market session is best for this RSI trend fading system? Or are all market sessions hopeless for this simple trading concept? Lets find out.

 

After I've come up with a simple concept for a trading idea (in this case our RSI fading idea) I will test it upon the various sessions to see which session (if any) holds the most potential. This is where my "Session Testing" code comes into play. Session Testing is an EasyLanguge Strategy that I wrote to help me in this task of testing various intraday sessions (See attached: SESSION_TEST.ELD). Using TradeStation's optimizer I can test my idea across 10 sessions that I defined. Here are the sessions:

 

1. "Pre-Market" Between 530 and 830

2. "Morning" Between 830 and 1030

3. "Lunch" Between 1030 and 1230

4. "Afternoon" Between 1230 and 1500

5. "Post-Market" Between 1500 and 1800

6. "Night" Between 1800 and 530

7. "Morning & Lunch" Between 830 and 1230

8. "Lunch & Afternoon" Between 1030 and 1500

9. "Daily" Between 830 and 1500

10. "Night & Pre-Market" Between 1800 and 830

 

The 10 different sessions I came up may not please everyone. Perhaps you have a different idea on how to break the different session up and with the code provided you can simply change them to your liking.

 

Within in the code you'll find a location to put your key trading idea. This is where I placed the RSI rules. I picked a value of nine for the RSI computation because I wanted it to be more sensitive than the default 14 that is often used (The value of nine really has no significance. It was not optimized and I could have very well picked seven or ten. I just simply picked it). Also notice I have no stops or targets within my test code. Instead the strategy simply alternates between long and short trades based on the RSI reading. The only other exit is to liquidate all positions at the close of the session. That's it. Remember, I'm not testing a trading strategy. I'm testing a key concept vs. different market sessions. Our goal is to locate the best possible market session(s) for my key concept. Only then will I continue to develop a complete strategy (containing stops, targets and other rules) tailored to the top session(s).

 

Next lets see what happens when I run TradeStation's optimizer over each of the sessions. In doing so TradeStation will execute my key trading strategy systematically over each market session and record the trading results. After all the sessions have been analyzed I will have a graph representing the P&L for each session. Below is the Net Profit graph which depicts the total net profit from our testing. By the way we were testing this strategy from January 1, 2009 to July 31, 2009.

 

Net Profit For Each Session

Optimization_Graph_Net_Profit.png.6f728ea03ec1d9c47b1053f6874db05d.png

 

Notice that sessions one ("Pre-Market") and ten ("Night & Pre-Market") are clearly the best performers. Session ten is the best with $11,000 in profit, right? Wrong. Most people would pick session because it has the best net profit. But another statistic is even more important in my opinion: Net profit per trade.

 

Net Profit Per Trade For Each Session

Optimization_Graph_Net_Per_Trade.png.4a7accc89e3603953e2fb882f46e5f46.png

 

In session one you have a net $56 per trade while session ten has a net profit just above $20 per trade. Session one produces more net profit per trade. It produces few trades. A net profit of $56 per trade is more likely to cover the cost of slippage and commissions. In short, session one more efficiently produces money. Oh speaking of slippage, the RSI code I'm testing reverses between long and short with limit orders. Only the exit at the close of the session is a market order. This will help reduce slippage.

 

Equity Curve For Session 1

 

Equity_Curve.png.11dd3dc70cc0b144006f902ace8d0a9a.png

 

There is no optimization here. The code simply trades based off un-optimized RSI signals and the results look promising.

 

Here is the Trade Summary Report

 

TradeStation_Report_Session1.thumb.png.a40bc51512ba93a3ce74b2aadd4f2cbe.png

 

There you have it. This type of RSI trend fading concept should be developed for the Pre-Market sessions. This makes sense. The big volume and big trends often appear during the "normal" trading hours. But in the quiet of the pre-market hours trends don't often take hold. In fact, fading those moves seems to produce a profitable edge.

 

What's next? First I would expand the backtesting for about another six months. In other words, back test for a year. Then I would see what it looked like through the month of August 2009. Did you notice how I left August out of our original test? This was done so I could do a quick "walk-forward" test to see if the equity curve held up for the given session. After I'm satisfied my key concept held up for a year in session one I would start to develop this into a tradable system by using the basic session test we just created as a baseline. I would test the impact of a a hard stop. Then test various entry methods. Finally, I would test various exit methods.

 

Summary:

 

1. This simple trend fading concept appears to have potential if executed on the correct market session.

2. This is not a trading system but a proof-of-concept. Further research and development is needed for a final system.

3. When choosing a session, look for best net profit per trade - not simply total net profit.

 

Many people will try to develop an intraday system without taking into account the different market sessions. However, if you test your key trading idea across all market sessions and narrow it down to the most productive sessions, I think this will help jump start your development of a profitable system.

 

If you like this article please let me know and I will post follow-ups on how I develop trading systems. In fact, we can continue with this one and see what we can develop. Oh, I've recently started a blog where I will also be writing about my system development and other market related items.

 

Enjoy.

 

P.S. Since I wrote this I added another session to the EL code. So, now it goes to 11.

Share this post


Link to post
Share on other sites
Just wondering what time frame session 11 represents?

 

Session #11 is the morning session and the afternoon session. In other words, skip lunch.

 

I probably also failed to mention that I tested the RSI key concept on a 5-minute chart.

Share this post


Link to post
Share on other sites

Brilliant - you saved me a bit of coding, because I was going to do pretty much the same thing tomorrow.

 

I was looking at breaking it down to a lower level e.g. 15 mins and look for stats on patterns of price action throughout the session but analysed by 15 min sections.

 

I will be following closely what you are doing and hope to add some of my own analysis, but not tonight on account of too much medoc !!!

 

Charlton

Share this post


Link to post
Share on other sites

Per the test results posted, the profit factor of short trades is 2.4 times that of long trades, with no meaningful loss of incidence rates, as compared to long trades.

 

Per the results, 79 short trades, divided into an approx 7 month period, or about 157 trading days, short trades trigger about every other day.

Share this post


Link to post
Share on other sites
Per the test results posted, the profit factor of short trades is 2.4 times that of long trades, with no meaningful loss of incidence rates, as compared to long trades.

 

Per the results, 79 short trades, divided into an approx 7 month period, or about 157 trading days, short trades trigger about every other day.

 

That is an interesting observation. I'll have to run the test from July 31, to today and see how that holds up. I'm all for knowing when NOT to trade so, is ignoring long signals the way to go? Or do we adjust the RSI for longs? These are ideas to keep in mind.

 

Thanks.

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.