Algo trading

A Strategy For Each Day of the Week [Seriously?]

A different strategy for each day of the week? Sounds crazy, but is it?

I have written about “Turnaround Tuesday” before.

This simple strategy is actually at new highs since this was published over 10 months ago!

But what about other markets? Is it possible to just trade one market per day of the week (from open to next day’s open) on a specific day of the week and still do well? If you would have followed this simple “portfolio” below for the past 15+ years then yes... you would have. You wouldn’t even have to sit in front of the screens like the rest of us degenerates.

Strategy 1: Short Crude Oil on Mondays

Simple strategy dating back to 2003. Short Oil on Monday’s open and cover on Tuesday’s open. Results based on a 1 lot.

Strategy 2: Turn Around Tuesday

If Monday was a down day (Monday’s close less than or equal to Monday’s open) then buy Tuesday’s open and sell on Wednesday’s open. Results based on 1 lot.

Strategy 3: Long Gold on Friday's. Weekend Risk.

Maybe in lieu or anticipation of bad weekend news releases, buying Gold on Friday’s open and holding over the weekend to exit on Monday’s open has produced the following based on 1 lot.

Not a bad portfolio equity curve, right?! One of the hidden ‘holy grails’ in trading is combining systems together to smooth the equity growth of the account. No single super star out of any of these three strategies but combined their curve starts to look rather nice.

Sure these might not be alpha generators on their own but they may be combined with some other price patterns, filters, or targets and stops to become full strategies. They can certainly act as intermarket or multi-time frame filters for more complicated strategies.

For example, if you have a 60-minute mean reverting system that buys oil dips then maybe it should be turned OFF on Mondays! At the very least it is worth a look and this is all made very simple with Build Alpha – just point, click, test.

For example, did you know S&P500 has performed much better on even days than odd days? (April 6 is an even day).

Anyway, I just wanted to show some simple things that can be tested in Build Alpha and how sometimes the most simple ideas turn out to work the longest. Maybe because people think they’re too simple and that they can’t work? I don’t know.

Either way I have put some python code (and TradeStation code) in the private Build Alpha users’ forum to specify day of the week as I know a lot of you are trying to learn python so I figured I’d help out a bit. But day of week is all point and click options pre-built into Build Alpha’s signal library for those of you who could care less about learning to code.

--by David Bergstrom from Build Alpha

About the Author Dave Bergstrom

My name is David Bergstrom, and I am the guy behind the Build Alpha software. I have spent many years researching, building, testing, and implementing market making and trading strategies for a high frequency trading firm, a handful of CTAs, individual clients, registered money managers, and even aspiring retail traders. I am a self taught programmer who uses C++, C#, Python, Perl, Java and even TradeStation’s EasyLanguage. Most of my experience has led me to a series of repeatable processes to find, create, test, and implement trading ideas. Build Alpha is the culmination of this process from start to finish.

  • Bijan says:

    Could you please tell me what symbols your using to get the equity curve for strategies # 1 ,2 & 3.
    My equity curve looks totally different than yours, especially the crude oil.


    • Yes, the continuous contracts from TradeStation were used in this example. (@CL, @ES, @GC). Thanks

      • // @CL Easy Language example
        if dayofweek(date of tomorrow) = Monday then sellshort 1 contract next bar open;
        if marketposition = -1 and barssinceentry >= 0 then buytocover all contracts next bar open;

        • Roland Wilson says:

          Cool Strategy. love the simplicity. So with the globex session (6:00pm sunday – 5:00pm Monday), becuase the code is saying “if date of tomorrow = monday”, would that mean it goes short at 6:00pm monday, covers at 5:00pm tuesday, or is my logic a day behind?

          Works well on a chart. just wanting to try and add a filter to it

  • >