to your HTML Add class="sortable" to any table you'd like to make sortable Click on the headers to sort Thanks to many, many people for contributions and suggestions. Licenced as X11: http://www.kryogenix.org/code/browser/licence.html This basically means: do what you want with it. */ var stIsIE = /*@cc_on!@*/false; sorttable = { init: function() { // quit if this function has already been called if (arguments.callee.done) return; // flag this function so we don't do the same thing twice arguments.callee.done = true; // kill the timer if (_timer) clearInterval(_timer); if (!document.createElement || !document.getElementsByTagName) return; sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)$/; forEach(document.getElementsByTagName('table'), function(table) { if (table.className.search(/\bsortable\b/) != -1) { sorttable.makeSortable(table); } }); }, makeSortable: function(table) { if (table.getElementsByTagName('thead').length == 0) { // table doesn't have a tHead. Since it should have, create one and // put the first table row in it. the = document.createElement('thead'); the.appendChild(table.rows[0]); table.insertBefore(the,table.firstChild); } // Safari doesn't support table.tHead, sigh if (table.tHead == null) table.tHead = table.getElementsByTagName('thead')[0]; if (table.tHead.rows.length != 1) return; // can't cope with two header rows // Sorttable v1 put rows with a class of "sortbottom" at the bottom (as // "total" rows, for example). This is B&R, since what you're supposed // to do is put them in a tfoot. So, if there are sortbottom rows, // for backwards compatibility, move them to tfoot (creating it if needed). sortbottomrows = []; for (var i=0; i
The last month has been an exciting time for the U.S. stock market, where if you wanted to describe it in one word, volatile would probably be the word that best describes it!
But to understand how exciting it has been for investors and traders, we need to put the last month of stock price volatility into some historical context. Which we've done in the following chart showing the daily volatility as the percentage change in the closing price of the S&P 500 since 3 January 1950, which updates one we first featured two-and-a-half years ago.
By and large, the pattern daily volatility in the S&P 500 and its predecessor indices over the last sixty-eight years and almost two months follows something that looks a lot like a normal distribution, although with considerably more datapoints (~79%) falling within one standard deviation of the flat, near-zero mean trend line than would be expected if that pattern of variation really applied (~68%).
Conveniently, one standard deviation is roughly equivalent to a percentage change of 1%.
Otherwise, about 95% of all the day-to-day datapoints fall within two standard deviations (or 2%) of the mean, and 99% of all the datapoints fall within three.
Datapoints that fall outside one standard deviation of the mean would therefore be evidence of a heightened level volatility for stock prices, while falling more than three standard deviations (or 3%) away from the mean would be evidence of an "extraordinary" amount of volatility.
Our second chart zooms in on the last month for the S&P 500, from Friday, 26 January 2018 through Monday, 26 February 2018.
In this chart, we can see that over the past calendar month covering some 21 trading days, 9 of the datapoints fall within the most "typical" range that we would expect based on the historical data, which is between 7 and 8 fewer than would be expected for that period of time.
The remaining 12 days are consistent with at least a heightened level of volatility in the S&P 500, where we would expect to see just 4 or 5 such days during the course of a month's time. Of those days, two fall more than three standard deviations from the mean, indicating just how extraordinary volatile the month has been for the index.
On one of those days, Monday, 5 February 2018, the S&P 500 dropped more than 4% (or four standard deviations) below the historical mean. Going over all the 17,148 trading days since 3 January 1950, we find that a 4% or larger percentage change from the previous day's close has only been recorded on 86 occasions, where the historic odds of that happening work out to be 1 in 199.
Coincidentally, the total point decline of 113.19 points from the previous day's closing value on 5 February 2018 is the largest single-day point decline on record for the S&P 500, but that's not a terribly impressive figure when you consider that the previous day's closing value for the index was 2,762.13.
The S&P 500's largest ever single day percentage decline was 20.47%, which occurred back on 19 October 1987, a day that became forever known to investors as Black Monday. In terms of actual points however, the index fell by 57.87 points, which is a little over half the value in points that the S&P 500 fell nearly 31 years later on 5 February 2018, when it fell by 4.1%.
Labels: data visualization, SP 500
Welcome to the blogosphere's toolchest! Here, unlike other blogs dedicated to analyzing current events, we create easy-to-use, simple tools to do the math related to them so you can get in on the action too! If you would like to learn more about these tools, or if you would like to contribute ideas to develop for this blog, please e-mail us at:
ironman at politicalcalculations
Thanks in advance!
Closing values for previous trading day.
This site is primarily powered by:
The tools on this site are built using JavaScript. If you would like to learn more, one of the best free resources on the web is available at W3Schools.com.