### Day of the Month Matters

Seasonality is tricky.

Certain seasonality biases clearly persist (ex. returns around the turn of the month), but the topic too often includes other events that are by their nature uncommon and subject to data mining (ex. returns around a given holiday).

I think the focus of this post, *day-of-the-month seasonality*, is the former: a real, persistent bias. The question is whether that bias is strong enough to actually influence your trading.

[logarithmically-scaled, growth of $1]

The graph above shows a simple walk-forward test, trading the S&P 500 from 1950 to present. By walking the test forward we ensure that the test only has visibility to the data available at that moment in history.

1. All months were fit to a standard 21 trading days. Months with less than 21 days were stretched, and those with more were compressed ^{(1)}.

2. At the end of each month, I calculated the (geometric) average daily return for each of our 21 trading days over the previous 20 years (as of that point in time).

3. For the following month, I assumed we were long just those days that had (as of the previous month) performed better (red) or worse (grey) than the median trading day over the previous 20 years.

Results ignore transaction costs, slippage, return on cash, and dividends.

**The test clearly shows that trading the days of the month that have been strong historically, consistently leads to stronger returns in the future. That’s as true today as it was in 1950.**

I’ve intentionally made this test as KISS as possible. The only parameter I’ve set is the 20 year lookback, and similar results are achieved using any lookback from ~10 years up.

Some of this observation’s effectiveness is simply a result of the strategy picking up on the “turn of the month” (i.e. days near the beginning and end of the month) which have been bullish over the period tested.

But that doesn’t explain all of the observation’s effectiveness. Even days “inside” the month (ex. days 4 to 18) have been consistently stronger when part of the “best half” than when part of the “worst half”.

. . . . .

As mentioned, I intentionally made this test as KISS as possible, and I would encourage readers to reproduce these results using more sophisticated measures of what days qualify as the best and worst parts of the month.

The more interesting question now is how this observation might influence actual trading.

First off, being one of the best days of the month (red) clearly doesn’t by itself justify going long. There are still lots of ugly days in that red equity curve.

And being one of the worst days of the month (grey) doesn’t justify going short. Returns have been middling, but not necessarily bearish.

So while I think this simple walk-forward clearly demonstrates that day-of-the-month seasonality exists, its only practical use is as an input into some other more predictive strategy. The observation isn’t strong enough to stand on its own, but I think it could do a fine job helping to fine tune the trade.

Happy Trading,

ms

*(1) How I normalized months to 21 days: (a) number the trading days of the month from 1 to X (X being the last trading day of the month), (b) divide each trading day by X and multiply by 21, and (c) round the resulting value to the nearest integer.*

. . . . .

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

Filed under: Time-based, Trading Strategies | 23 Comments

Michael, that’s interesting – I’m a bit of a fan of seasonality (in limited doses!). I don’t say much here but am a great fan of your blog. Keeping it straighforward and approachable is quite a talent. Thanks for your continued efforts.

John

Thanks for the kind words John. “Straightforward” and “approachable” are definitely high on the list of adjectives I would hope to describe this blog. michael

My interest in seasonality comes into play when timing deposits and withdrawals from my investment portfolios (along with some crude technical analysis). For instance, I make a monthly contribution to an SEP-IRA, so I want to do that on the best day of the month, which I think is 3-4 days before the end of the month.

I wonder how much of your day-of-month outperformance above comes from days within 5 days of the beginning and end of the month–outperformance I would be able to capture over time.

Thanks for a well-designed study!

Scott

Hello Scott – the best days of the month selected by the method discussed in this post will change over time (depending on which have been the strongest half of days over the previous 20 years).

As of today, the strongest half of days (in a normalized 21-day month) are days 1-2, 8-12, and 18-20. So it sounds like your coming close to the optimal day-of-month seasonality. michael

Very very interesting…I can see many ways in which this sort of seasonality can be combined with other short-term indicators or special events.

One quick question: do you take into account holidays when normalizing the months to 21 business days?

Hello – in this test I treat holidays just like weekends – they weren’t included in the count of trading days. michael

Hi. I think this is an interesting post. One thing I wanted to ensure i get right from any further work and analysis is to build in the “normalisation” correctly to get to 21 days. Is it possible you can kindly post a spreadsheet with this just so I can replicate the formulae correctly?

Also, I presume as an example, that in 1982, you will have looked back to 1962-1981 and taken those years averages etc etc? ie the exercise, metrics are refreshed annually to take account of the latest seasonalilty and then applied to the forthcoming year

Good work

Hello Vimal – here’s a quick example:

Say there were 22 trading days in a month. For day 1, you would take (1/22*21) = 0.95, which would round to 1. For day 2, (2/22*21) = 1.91, which would round to 2. Trading days 11 and 12 would both round to 11 (so there would be two days that would count as day 11).

And you have the idea of the walk-forward correct, but it’s done monthly. So to determine the best and worst days for January 1982, we would look at Jan 1962 – Dec 1981. For Feb 1982 we would look at Feb 1962 – Jan 1982.

Hope that helps.

michael

Michael, great stuff. Are the daily returns close to close or open to close. Thanks.

Steve

Hello Steven – close-to-close for the S&P 500 price only index (i.e. non dividend adjusted). michael

Hi Michael, thanks for a great blog!

I wonder if it is possible to give some good and bad monthly periods (less periods is better), to be in/out of the market.

Based on your responses above, if I wanted to limit trading to 2 periods, would a first period of say 5 days around TotM (eg. -2d, -1, TotM, +1, +2d) and a second period of say 5 days around mid-month (eg. -2d,-1, Mid, +1, +2d) be a good choice, irrespective of the month?

Regards, Wouter

Hello Wouter – at the bottom of this follow up post, I broke down October by how strong/weak each day has been based on the approach taken in this post. Hope this answers your question…

https://marketsci.wordpress.com/2012/10/03/more-day-of-month-goodies/

michael

Thanks. But I meant a general scheme *independent* of month. Based on the SPY from 1950, I found out that (trading) days 18-4 (EoM), en 7-13 (Mid Month) were best (average +25% higher return).

Regards, Wouter

Hello Wouter – the days picked by the walk-forward approach used in this post change (slowly) over time, but as of the end of the most recent month, the days are 1-2, 8-12, and 17-19 in a normalized 20-day month.

Note: in post one of this series I normalized to 21-days. In post two, 20-days. The days I show above assume 20-days.

michael

Thanks. Did you notice the-not-so-good day 20 in your list? If it was also good, there would be 2 “closed” investment periods: days 8-12 (around mid month) and 17-2 (around EoM). Correct? How bad is day 20?

Hello Wouter – yes, I’ve talked about about this before:

https://marketsci.wordpress.com/2010/03/24/the-last-day-of-the-month-blahs/

michael

Hello Michael. Did you do this walk-forward test with excel or vba excel or other program? It’s not very simple the programming behind this test because first of all you have to transform the original time series in another with progressive day of month. Any programming suggestion?

Hello Pete – definitely multiple ways to skin the cat, but I used Excel. I’ve gotten similar questions from quite a few folks, so (time permitting) I’m going to release a spreadsheet this week showing how I did it. Be on the lookout! michael

Michael, what is the rationale of normalizing to 21 days?

An average trading month will have 21.74 days, so in terms of reducing rounding it seems that 22 is the better number, no?

Hello Greg – there are an average of 22 days if you exclude holidays, 21 if you include them. Either would be fine for this analysis. You’ll notice that if future posts I even use 20 b/c it makes it easier to fit days into quartiles.

Because of how we’re normalizing months (stretching shorter months and compressing longer ones), these small differences come out in the wash.

michael