Back to Community
Statistics On Seasonality In Equities

A few years ago I used to work with an obsessive statistician who continuously tracked seasonality stats in equities. They were rather detailed and proved to be very useful in the context of my regular discretionary trading activities. I was wondering if any of you have produced pertinent worksheets or templates you wouldn't mind sharing. Otherwise any pointers or insights would be appreciated. I'm attaching links to a few example graphs to give you an idea of what I'm looking for. Apologies for the full links below but for some reason I'm unable to properly link images in this editor.

http://evilspeculator.com/wp-content/uploads/2017/06/sp500_avgindex_minus200sma-840x615.png
http://evilspeculator.com/wp-content/uploads/2017/06/sp500_percent_positive_months-840x749.png>
http://evilspeculator.com/wp-content/uploads/2017/06/June_average_return-840x751.png
http://evilspeculator.com/wp-content/uploads/2017/06/sp500_june_performance-840x604.png
http://evilspeculator.com/wp-content/uploads/2017/06/sp500_monthly_bell_curves-840x664.png
http://evilspeculator.com/wp-content/uploads/2017/06/sp500_quantiles-840x611.png
http://evilspeculator.com/wp-content/uploads/2017/06/sp500_weekly_average_return-840x640.png
http://evilspeculator.com/wp-content/uploads/2017/06/sp500_skew_weekly-840x563.png
http://evilspeculator.com/wp-content/uploads/2017/06/sp500_sharpe_ratio-840x639.png

4 responses

Hi @Evil,
@Delaney, FYI ... additional "almost alternative" data,
A few years back i played around a lot with seasonals for my own personal trading (outside of Quantopian and not using python). Unfortunately my python skills are not yet up to working on this again here in this forum, but I certainly agree that seasonals have the potential to be useful and would be a great addition here on Q.

Hey Tony - well, nobody seemed to care about stats here so I wound up implementing my own parser. Check it out, works on most Yahoo symbols:

http://evilspeculator.com/statistics/?symbol=SPY

Hi @Evil,
yeah, well although i'm relatively new here at Quantopian, already i observe that quite often some really great stuff goes by and no-one seems to pick up on it. Their loss! Anyway, i'm certainly very interested in what you are doing. Maybe some more people here will also start noticing after a while too....

What you are doing looks great, and very useful. In some ways quite similar to what I was doing, but one difference is the issue of how best to define what is "typical" behavior for the years that you have data, and of course for Seasonals the more years back the better. I see that you are using the Mean, which is the obvious choice. However the problem is that one year with very significantly different results (for example the crash of 19-20 October 1987) can severely distort the pattern. I found that a better choice for creating the most representative Seasonal is to use the Median of the individual years' data.

I look forward to talking with you more about this interesting topic. If you want to take any particular aspects "offline", my email is [email protected]

Yes, the models could certainly use a bit of improvement and that outliers do shift the data. Switching to median would be a small hurdle and I'll give it a shot when I have some time as I'm up to my ears in a different dev project right now.

Per the value of stats - it's surprising how little interest there is. On my blog a few people are tagging along but few are using the tool prior to engaging in stock trading activity. It seems a pretty low hanging fruit to me, especially given the universe of stocks available. Simply pick candidates outside 2 standard deviations on both ends of the spectrum and perhaps then add whatever technical lens you're using.

Right now I'm forward testing a weekly rotating basket of 10 high and 10 low performing symbols. I wrote myself a parser that updates the entire NYSE history and then generates the stats and spits out my new weekly victims. I'm also filtering for event risk candidates and only stick with the ones that a) don't have earnings in that week or are scheduled to issue dividends. Scraping all that data from Yahoo was a bit of a pain but beautifulsoup is your friend ;-)

My offline email is [email protected].