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.

jswanson

S&P Overnight Trading Model

Recommended Posts

I've written several posts on this forum highlighting simple trading models that could be the basis for a profitable trading system on the S&P market. These ideas would be suitable either for the ETF market or the Emini futures market. This article will explore yet another simple trading model. Recently I was inspired by a post at Quantifiable Strategies titled, "How To Make Money From The Close Until Tomorrow’s Open in SPY/S&P 500" by Oddmund Grotte. This brief blog post builds up the work of Rob Hanna at Overnight Edges to test another simple S&P model. I thought I would create the model in EasyLanguage and put it through my own testing.

 

 

The Overnight Edge

The overnight edge is an S&P market edge that I, along with many other people, discovered years ago. I've written about this market edge in a previous article on my website, "The Overnight Edge". This particular model is going to take advantage of that edge by going long at the close of the day and closing the trade at the next day's open. The dominate question we will be answering today is, when should we buy. Obviously buying at the close of every single day is not a realistic strategy. So, we wish to eliminate the unproductive trades in favor of finding the highest probability set-ups. That is, what types of days produce the biggest nightly returns?

 

 

Baseline Model Rules

  1. SPY closes at new 20 day low
  2. Close is above 200 day simple moving average
  3. Go long at the close
  4. Exit at tomorrow’s open

Below is a snapshot of a few trades taken on the daily chart of the S&P Emini.

 

Overnight_Low_Trade_Examples.png

 

 

Testing Environment

I coded the above rules in EasyLanguage and tested it on the E-mini S&P futures market. Before getting into the details of the results let me say this: all the tests within this post are going to use the following assumptions:

  1. Starting account size of $25,000
  2. Dates tested are from September 11, 1997*through December 31, 2012
  3. One contract was traded for each signal
  4. The P&L is not accumulated
  5. $30 was deducted per round-trip for slippage and commissions
  6. There are no stops

 

 

Baseline Results

Below is the equity graph and the performance results of the baseline model.

 

 

Overnight_Low_Baseline_EQ_Curve.png

 

Overnight-Low-Baseline-Results.png

 

 

Testing the Robustness of the Lookback Period

The baseline rules call for a 20-day new low. Is this just an outlier? Or, is this parameter robust for a wide range of values? When looking at a trading model, it's important that the parameters demonstrate robustness across a wide range. That is, the system should remain profitable over many different values.

 

To test the robustness of this input, I will use TradeStation's optimization feature which will allow me to quickly test a range of values. I will test the range 2 - 30. The results of my test are below. The x-axis displays the number of days for the new low while the y-axis displays the net profit.

 

[caption align=aligncenter" width=607]Baseline_New_Low_Lookback_Study_Profit.png Lookback vs. Net Profit[/caption]

 

We can easily see a clear trend. The shorter the lookback period the more profit. Notice that a lookback period of 4*days is probably an outlier. It's enticing to simply pick a small lookback period like 3*or 5, but from experience I know more profit often comes at a price. Often*that price is deep drawdown, larger losing streaks and prolonged periods of no new equity highs.

 

Let's look at these results another way.

 

Another way to look at the results is to compare the profit factor vs. the lookback period. See the bar chart below. The x-axis displays the number of days for the new low while the y-axis displays the profit factor.

 

Baseline_New_Low_Lookback_Study_PF.png

 

We can see that our profit factor has an opposite trend when compared to the new profit bar graph. In other words, as we make more net profit, we do so with less efficiency. Sure we are making more money when we have a lookback period of 3 when compared to a lookback period of 20. But we also have more losing trades. This can be confirmed by the next bar graph.

 

Let's also take a look at the number of trades. See the bar chart below. The x-axis displays the number of days for the new low while the y-axis displays the number of trades.

 

Baseline_New_Low_Lookback_Study_Trades.png

 

Once a again there is a clear trend. There are fewer trading opportunities as you increase the lookback period. This makes sense. The higher the lookback period the less likely you are to experience that new low.

 

So, more profit does come at a cost. It will be up to you to determine what is appropriate for your trading situation. For me, I would like to have fewer trades and less net profit. This comes with, what I consider, the benefit of fewer losing trades, more net profit per trade, and less drawdown. In short, I prefer the quality trades over the quantity of trades. It appears we can improve the*net profit of our model by reducing the lookback period for the new look. More on that later.

 

 

Testing the Robustness of the Regime Filter

The regime filter in this model is a simple moving average. We are using the "standard" 200-day*simple moving average. This is a very common period for daily charts. It's commonly understood that price is generally bullish when it's above this moving average and bearish when below it.*Again, to*test the robustness of this filter*I will use TradeStation's optimization feature.*I will test the range 60*- 250. The results of my test are below. The x-axis displays the number of days for the lookback value*while the y-axis displays the net profit.

 

Baseline_New_Low_Regime_Lookback_Study.png

 

Clearly the longer the lookback period the more net profit we generate. Our "standard" 200-day lookback value performs well, but it's not the best. The best value is 250 in this study. Many values will perform similarly. This gives me confidence the regime filter is not overly optimized and is robust.

 

 

Weak Close Filter

In the original blog post by Oddmund Grotte he introduced a price based filter that required the close of the current bar to be within the lower half of the daily range. If price closes in the lower half of the daily range it is presumed we are looking for a weak close. A strong close would be when the close is the upper half of the daily range.

 

The calculation to determine if the close is within the lower half of the daily range looks like this:

 

Weak Close=(c-l)/(h-l) < 0.5

 

With this additional filter we are confirming weakness before opening a new long position. The results of our trading model with the new filter are below.

 

 

 

Overnight_Low_Baseline_With_Filter_EQ_Curve.png

 

 

 

Overnight-Low-Baseline-With-Filter-Results.pngThe filter did a fantastic job of removing unproductive trades. You can see this because we are making more net profit with fewer trades. This pushes up the average profit per trade. We also reduce our drawdown which increases our profit factor. The only thing concerning is our trade size is small. The baseline had 61 trades, which is not very many trades. With our filter we reduce the trades to 55. But we know how to increase the number of trades by reducing the lookback period of the "new low". We'll do that later. For now, there is one other input value I want to test.

 

 

Testing the Robustness of the Close Filter

Once again let's take a detailed look at the percent range used in the Close Filter. If you will recall, we are looking for a close in the lower half of the daily range. But is this just a fluke value? Will other values produce similar results?

 

The bar graph below depicts taking trades at or above the given x-axis value. For instance, the far left bar*produces a net profit around $4,700. The value on the x-axis at this bar is 0.1. This states that all this profit is accumulated above this value. By the time we reach 0.45 there is no more profit to accumulate. Thus, we can see the accumulated*profitable trades occur when the daily close falls within the lower 40% daily range. Put another way, we want to open a long position when the daily close is within the lower 2/5 of the daily range.

 

Baseline_New_Low_Weak_Close_Study.png

 

 

 

 

Combining Our Findings

Let's now combine a couple of our findings. First, let's increase the number of trades by reducing the lookback period on locating a new low. Let's try to keep the profit factor around 2.0, so we'll use a lookback period of 5*instead of the default 20. I will then change the weak close filter to a value of 0.40 from the default 0.50. I will make no change to the*simple moving average regime filter which is at 200. Below are the results.

 

Overnight_Low_Combined_EQ_Curve.png

 

Overnight-Combined-Results.png

 

 

 

Not too bad for a few lines of code. Remember this model does not have any stops nor does in reinvests profits. In short, this is not a trading system but an interesting model which could evolve into a complete trading system with some work.

 

 

Downloads

 

You can download the EasyLanguage code and TradeStation Workspace for this strategy here.

Share this post


Link to post
Share on other sites

I really like the detail you put in the post. Thanks!

 

One question, you're not a little concerned that the back-test only provided you with 60 trades. I know when I back-test I commonly like to have the system trade 200+ times, especially given the time period that the test is covering.

Share this post


Link to post
Share on other sites
I really like the detail you put in the post. Thanks!

 

One question, you're not a little concerned that the back-test only provided you with 60 trades. I know when I back-test I commonly like to have the system trade 200+ times, especially given the time period that the test is covering.

 

This is really a market study, not necessarily a complete trading system. I would encourage system developers to take this idea and see if they can build it into a complete system. However, you will notice the final strategy code generates a 167 trades which is a good number in my opinion.

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.


  • Topics

  • Posts

    • How's about other crypto exchanges? Are all they banned in your country or only Binance?
    • Be careful who you blame.   I can tell you one thing for sure.   Effective traders don’t blame others when things start to go wrong.   You can hang onto your tendency to play the victim, or the martyr… but if you want to achieve in trading, you have to be prepared to take responsibility.   People assign reasons to outcomes, whether based on internal or external factors.   When traders face losses, it's common for them to blame bad luck, poor advice, or other external factors, rather than reflecting on their own personal attributes like arrogance, fear, or greed.   This is a challenging lesson to grasp in your trading journey, but one that holds immense value.   This is called attribution theory. Taking responsibility for your actions is the key to improving your trading skills. Pause and ask yourself - What role did I play in my financial decisions?   After all, you were the one who listened to that source, and decided to act on that trade based on the rumour. Attributing results solely to external circumstances is what is known as having an ‘external locus of control’.   It's a concept coined by psychologist Julian Rotter in 1954. A trader with an external locus of control might say, "I made a profit because the markets are currently favourable."   Instead, strive to develop an "internal locus of control" and take ownership of your actions.   Assume that all trading results are within your realm of responsibility and actively seek ways to improve your own behaviour.   This is the fastest route to enhancing your trading abilities. A trader with an internal locus of control might proudly state, "My equity curve is rising because I am a disciplined trader who faithfully follows my trading plan." Author: Louise Bedford Source: https://www.tradinggame.com.au/
    • SELF IMPROVEMENT.   The whole self-help industry began when Dale Carnegie published How to Win Friends and Influence People in 1936. Then came other classics like Think And Grow Rich by Napoleon Hill, Awaken the Giant Within by Tony Robbins toward the end of the century.   Today, teaching people how to improve themselves is a business. A pure ruthless business where some people sell utter bullshit.   There are broke Instagrammers and YouTubers with literally no solid background teaching men how to be attractive to women, how to begin a start-up, how to become successful — most of these guys speaking nothing more than hollow motivational words and cliche stuff. They waste your time. Some of these people who present themselves as hugely successful also give talks and write books.   There are so many books on financial advice, self-improvement, love, etc and some people actually try to read them. They are a waste of time, mostly.   When you start reading a dozen books on finance you realize that they all say the same stuff.   You are not going to live forever in the learning phase. Don't procrastinate by reading bull-shit or the same good knowledge in 10 books. What we ought to do is choose wisely.   Yes. A good book can change your life, given you do what it asks you to do.   All the books I have named up to now are worthy of reading. Tim Ferriss, Simon Sinek, Robert Greene — these guys are worthy of reading. These guys teach what others don't. Their books are unique and actually, come from relevant and successful people.   When Richard Branson writes a book about entrepreneurship, go read it. Every line in that book is said by one of the greatest entrepreneurs of our time.   When a Chinese millionaire( he claims to be) Youtuber who releases a video titled “Why reading books keeps you broke” and a year later another one “My recommendation of books for grand success” you should be wise to tell him to jump from Victoria Falls.   These self-improvement gurus sell you delusions.   They say they have those little tricks that only they know that if you use, everything in your life will be perfect. Those little tricks. We are just “making of a to-do-list before sleeping” away from becoming the next Bill Gates.   There are no little tricks.   There is no success-mantra.   Self-improvement is a trap for 99% of the people. You can't do that unless you are very, very strong.   If you are looking for easy ways, you will only keep wasting your time forgetting that your time on this planet is limited, as alive humans that is.   Also, I feel that people who claim to read like a book a day or promote it are idiots. You retain nothing. When you do read a good book, you read slow, sometimes a whole paragraph, again and again, dwelling on it, trying to internalize its knowledge. You try to understand. You think. It takes time.   It's better to read a good book 10 times than 1000 stupid ones.   So be choosy. Read from the guys who actually know something, not some wannabe ‘influencers’.   Edit: Think And Grow Rich was written as a result of a project assigned to Napoleon Hill by Andrew Carnegie(the 2nd richest man in recent history). He was asked to study the most successful people on the planet and document which characteristics made them great. He did extensive work in studying hundreds of the most successful people of that time. The result was that little book.   Nowadays some people just study Instagram algorithms and think of themselves as a Dale Carnegie or Anthony Robbins. By Nupur Nishant, Quora Profits from free accurate cryptos signals: https://www.predictmag.com/    
    • there is no avoiding loses to be honest, its just how the market is. you win some and hopefully more, but u do lose some. 
    • $CSCO Cisco Systems stock, nice top of range breakout, from Stocks to Watch at https://stockconsultant.com/?CSCOSEPN Septerna stock watch for a bottom breakout, good upside price gap
×
×
  • Create New...

Important Information

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