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

    • META stock nice rally off support and breakout at https://stockconsultant.com/?META
    • Date: 3rd December 2024. High Bond Yields Boost Euro, But ECB Signals December Cut! The French government is close to collapse due to the French Prime Minister’s persistence on the latest budget. French bond yields rise to their highest since 2012 and the Euro attempts to correct upwards during this morning’s session. According to state central banks, the ECB will continue cutting interest rates in December. Is the current bullish Euro temporary? The SNP500 renewed its highs for a second consecutive day mainly due to gains from Meta, Tesla and Microsoft. EURUSD – ECB Members Indicate Cut For December! The US Dollar is declining in value against most currencies this morning after significant gains on Monday. However, the performance throughout the week will depend on the JOLTS Job Openings, ADP Employment Change, NFP and US Unemployment Rate. Positive dynamics have been unfolding amid Trump’s warning to BRICS nations against creating a currency alternative to the US Dollar, threatening 100% tariffs on their exports. Experts fear this signals a potential trade war with China, India, Russia, and others. Moscow countered that forcing reliance on the Dollar could erode its appeal as a reserve currency. Meanwhile, investors await November employment data. With private consumption rising (2.1% to 2.3%) and core inflation increasing (2.7% to 2.8%), further labor market strength could challenge a December rate cut of 25 basis points. Most experts still expect the Fed to proceed, but a pause in rate cuts is anticipated early next year. Currently, the Euro is the second best performing currency of the day behind the Australian Dollar. Many believe this is partially due to the competitive price and high Bond Yields. However, this can quickly change as the ECB’s dovishness and France’s political and budget crisis continue. ECB Governing Board member Yannis Stournaras indicated today that interest rates are likely to be cut further in December, with experts anticipating a 25 basis point reduction. For the Euro to maintain a buy signal in the short-term, the price will need to rise above $2,647.92 and this afternoon’s JOLTS Job Opening to fall below expectations. SNP500 – Stocks Reach All-Time High! The SNP500 so far this year is trading 27.50% higher and is at an all time high. This is mainly due to gains from Meta, Tesla and Microsoft. On Monday, 59% of the most influential stocks rose in value. Wedbush Securities reaffirmed an “Outperform” rating on Apple shares with a $300 target, citing a potential record 240 million iPhone sales in fiscal 2025, driven by the new Apple Intelligence AI feature. Last month, Apple reported $94.9 billion in revenue and $1.64 EPS, beating forecasts and last year’s figures. The performance of the SNP500 will depend on this week’s employment data, similar to the US Dollar. Most analysts believe the ideal scenario for the stock market is for the data to come in as expected. Always trade with strict risk management. Your capital is the single most important aspect of your trading business. Please note that times displayed based on local time zone and are from time of writing this report. Click HERE to access the full HFM Economic calendar. Want to learn to trade and analyse the markets? Join our webinars and get analysis and trading ideas combined with better understanding of how markets work. Click HERE to register for FREE! Click HERE to READ more Market news. Michalis Efthymiou HFMarkets Disclaimer: This material is provided as a general marketing communication for information purposes only and does not constitute an independent investment research. Nothing in this communication contains, or should be considered as containing, an investment advice or an investment recommendation or a solicitation for the purpose of buying or selling of any financial instrument. All information provided is gathered from reputable sources and any information containing an indication of past performance is not a guarantee or reliable indicator of future performance. Users acknowledge that any investment in FX and CFDs products is characterized by a certain degree of uncertainty and that any investment of this nature involves a high level of risk for which the users are solely responsible and liable. We assume no liability for any loss arising from any investment made based on the information provided in this communication. This communication must not be reproduced or further distributed without our prior written permission.
    • RBLX Roblox stock, nice rally off the 49.19 gap support area, from Stocks to Watch at https://stockconsultant.com/?RBLX
    • CTLT Catalent stockt, watch for a bull flag breakout at https://stockconsultant.com/?CTLT
    • AAPL Apple stock, top of range breakout at https://stockconsultant.com/?AAPL
×
×
  • Create New...

Important Information

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