More Day of Month Goodies


In my previous post I looked at day-of-month seasonality.

Using a simple walk-forward test to minimize hindsight bias, I showed that trading the days of the month that have been strong historically has consistently led to stronger returns in the future. That’s as true today as it was in 1950.

[logarithmically-scaled, growth of $1]

Recall the graph above from my previous post. Trading the best half of days is shown in red, and the worst half in grey.

In this post I’ll run the same test, but break daily returns down into quartiles (1). The question is: do days in the top 25%, perform better in the future than the second 25%, the second 25% better than the third 25%, and so on…

Remember, we’re “walking this test forward”, so like my previous post, we decide which quartile each day belongs to in any given month based on that day’s average return over the 20 years prior to that month.

Results show that quartile 1 (i.e. the strongest 5 days of the month) goes on to outperform quartile 2, 2 outperforms 3, and 3 outperforms 4, all by a wide margin, lending further credence to the value of day of month seasonality.

The conclusion would be similar had I used other quantiles (tertiles, quintiles, etc)

Lastly, here are the days that the model would have predicted to be strong (quartiles 1 and 2) and weak (quartiles 3 and 4) for October (2).

I’ve highlighted one additional day, 10/24 (FRB announcement), as particularly bullish since, as we’ve talked about on the blog often, Fed days have been consistently bullish events for nearly two decades and it seemed a waste not to include it.

Now that I’m back in the blogging saddle again, I’m considering releasing this calendar monthly, so be on the lookout.

Happy Trading,

(1) In my previous post I normalized all months to 21 trading days. In this post, I’ve normalized to 20 trading days to make them fit evenly into our quartiles.

(2) In this series of posts I’ve been using average daily return to identify best and worst days. In this calendar (and any future calendars) though I’m using a slightly more sophisticated approach based on the distribution of historical returns. Results will be similar, but (I hope) a bit better.

. . . . .

To stay up to date with what’s happening at the MarketSci Blog, we recommend subscribing to our RSS Feed or Email Feed.

28 Responses to “More Day of Month Goodies”

  1. 1 Michael G

    When do you get in/out of a position? I assuming you are trading the SPY.

    • 2 MarketSci

      Hello Michael – the test is based on the S&P 500 price index (i.e. non dividend-adjusted). I would suggest reading both posts in detail as the lay out the specifics of the test. michael

  2. 3 vimal

    Hi. Thanks firstly for the reply yesterday on the # of days calc etc. Much appreciated. I have set something up on this but was keen to get a sense check as I may be way out formula wise. 1) I have picked the top 25 weeks days in the past 20 years and then for the following year, gone long on those days. 2) This is post rebasing the day of month etc. I end up with eg 2012 returns of c3.2%. Does this sound right to what you have? i just wanted as I say a sense check. 1987 for example was c6% with 2004 (0.5)% negative. Completely random years I picked by the way

    • 4 MarketSci

      Hello Vimal – if I understand your comment correctly, you’re looking at the best 25 weeks of the year? This series of posts is about the best days of any given month (not specific months, but months in the general sense). Have I missed your meaning? michael

      • 5 MarketSci

        Hello Vimal – I’ll email you an address – feel free to respond to that one. Remember though, what you’ve laid out below is very different than what I did in this series of posts. michael

      • 6 vimal

        Hi. Is there an email address I can send you my high level analysis? It is the top 25 days I have over the past 20yrs.

        So for example, 2nd day in Jan is one of those days etc

      • 7 MarketSci

        Hello Vimal – I think you’re still missing the idea. Forget years – you should be looking at months. In other words, you should end up with the top 5 days (of ALL months over the previous 20 years), not the top 25, 30, etc days of the year. michael

      • 8 vimal

        Sorry I meant to type days. So what I saw in 1981-2010 for example were 119 trading days where the daily return was above the prior 20yr daily average and then went long for the top 25 days

        Top quartile should strictly be say top 30 but I just went for top 25 days
        I said 2012 above. Must have had a dozy afternoon. I mean 2011 at c3.2%

        Hope this clarifies


  3. 9 Anon.

    I’ve been running some tests around this and one particularly interesting result is that day-of-the-month seasonality seems to be rather useless on the NASDAQ 100. Can’t really come up with a theory as to why, but I’m going to try a few foreign indices as well to see if these effects are widespread or contained in the S&P500.

    • 10 MarketSci

      Anon. – my data doesn’t agree with that. The model appears effective on all broad US indices (DJIA, Nasdaq 100/Composite, etc.).

      P.S. as I talk about in the footnote of this post, results can be improved by taking a more sophisticated look at what constitutes best/worst days (ex. average return relative to volatility). This is especially true with a high vol index like Naz (b/c that increased vol means a smaller number of days can more easily skew results). michael

  4. 11 Highgamma

    Are there certain days of the month that are always in your sample? (“Super days”)

    • 12 MarketSci

      Hello Highgamma – Days near the beginning and end of the month (i.e. the “turn of the month”) are almost always included. Those would be your “super days”.

      Side note: as I talked about in my first post, the strategy’s effectiveness is not just that it’s picking those turn-of-month days. Even days “inside” the month (ex. days 4-18) have been much more bullish when they qualify as part of the best half vs part of the worst half of days. michael

  5. How successful was the strategy last month?

    • 14 MarketSci

      Hello IV – I’m not sure why any one particular month would matter, but the average return for “best” days was +0.08%, and for “worst” days +0.17%. michael

  6. 15 Lee

    Hi, have you tried this on stock indices of other countries? And perhaps even other asset classes (eg. bonds, commodities). If it works for most of them, it would make for a very convincing case.

    • 16 MarketSci

      Hello Lee – circling back to your comment – spent some time testing the same approach on Treasuries and gold. The model is effective on UST (of course different days qualify as the “best” days, but overall performance is similar). Statistically speaking, the model is effective on gold as well, but inconsistent and not something I would personally pay much mind. michael

    • 17 j'adoube

      Substantial research that the turn-of-month effect exists across all the world’s major stock markets.

      • 18 MarketSci

        Hello J’Adoube – I agree, but note that this series of posts isn’t about TOM seasonality (something that I’ve also written about a number of times over the years). This series of posts is about (a) how strong days throughout the month (TOM and otherwise) tend to persist, and how (b) those strong days change over time. michael

    • 19 MarketSci

      Hello Lee – I haven’t looked at non-equity-related asset classes yet using this approach (not a priority b/c I don’t take short-term trades in non-equity-related assets, but on the to do list for curiosity’s sake).

      Side note: I think the starkness of the results + the simplicity of the test + the walk-forward + the quantile analysis makes a pretty darn convincing case already. IMHO, the question isn’t does DOM seasonality in equities exist. The question is whether it’s strong enough to include in the trader’s toolbox. michael

  7. Hey Michael, your work inspired me to look at how day of the month seasonality stands up in other markets…wrote a three part series on it (U.S markets, European markets, Asian markets, first part is here:

    The effects are surprisingly large, surprisingly persistent across time, and surprisingly consistent across the world. If you look at the average returns over the last 5000 days for every market (here: there are very similar patterns…strong days #1-3, weak, strong #9-12, weak, then strong #17-21.

    It could simply be the risk on/risk off paradigm that makes everything so correlated the last few years that’s responsible for this, but I suspect deeper reasons.

    Given that the best days change over time, an interesting extension to the approach would be to incorporate some form of structural break detection to make the model switch to the new best days faster. Depends on how abrupt the changes are of course…

    • 21 MarketSci

      Hello Qusma – I caught your posts on TWS – great stuff sir. It’s rare that we have a serious new entry into the quantitative blogosphere, and I’m looking fwd to your future work.

      P.S. agreed re: what you call “structural break detection” – it’s on my to do list to look at. I’m expecting that it would be better for detecting when a given day no longer qualifies than when it does (i.e. better for turning off than turning on qualifying days) as any easing of the criteria for being one of the qualifying days is going to add to whipsaw. Just my off the cuff expectation, but I haven’t run the numbers yet.


  8. Hi Michael,

    How did you get sharpe of 1.5 for the top quartile? with your methodology – using geometric return and 5000 days I am getting number around 0.75 for the top quartile and 0.72 for the best half.

    Thanks, Jozef

    • 23 MarketSci

      Hello Jozef – couple of things: (1) note that it’s not a Sharpe, it’s just annualized return / annualized std. dev., (2) are you annualizing the return and the std. dev., (3) does your test include from 1950 (meaning the data is training back to 1930), and (4) did you normalize to 20-days (rather than 21) as I did in this post?

      If those 4 things all true up, should come to the 1.57.


      • 24 MarketSci

        Hello Jozef – then there’s something else off. Results with 21 vs 20 (or anything else in the ballpark) will be similar. michael

      • Hi Michael,
        the only thing I did different is normalizing to 21 rather than to 20 days. Will try with 20, but if this is responsible for a difference, then does not seem so robust. Actually the sheet I am using is quite heavy – because of a lot of data and many calculations, so I will try to reprogram in R and play more with parameters and also how the days are ranked (geomean, mean/std, omega).

  9. Hi Michael, giving it a little more thought, maybe it is the data that is different. You mind sending me the data or I send you mine, whichever is more convenient for you? Maybe total return/price index is the issue – although I highly doubt that.
    Thanks, Jozef

    • 27 MarketSci

      Hello Jozef – I believe I used the S&P 500 price index for this analysis. Feel free to send what you have to michael AT marketsci DOT com. michael

  1. 1 Stock Return Day of the Month Seasonality, US Markets - QUSMA

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s