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
John Hussman, the PhD manager of the Hussman Strategic Growth Fund (HSGFX), writes a weekly market commentary for his fund (HT: Moneywise at The Real Returns). His August 29, 2005 commentary offered a bold prediction: a 40-year forecast for the S&P 500 Index:
I've gone ahead and calculated the long-duration forecast for the S&P 500 versus its actual total return for every period since the late 1930's. Even for very long horizons, the projection performs well, generally within 2% of the true annual return. Notice that the horizon of each forecast is simply the duration of stocks at the time, so what you're seeing on the chart are forecasts that have ranged from less than 20 years to more than 60 years in duration (the longest-duration one, unfortunately, being the one at the 2000 market peak). At present, we've got a projected long-term total return for the S&P 500 of about 7.8% annually for a probable duration of about 40 years, even making the fairly optimistic assumption that the market's P/E multiple will not contract in the future.
This sounds like he did quite a bit of work, but sadly, work that was wholly unnecessary if he would have just simply assumed that the next 40 years for the S&P 500 Index would look like its last 105 years. Here's Political Calculations' chart showing the extremes of the rates of return for the S&P 500 Index for holding periods ranging from 1 to 105 years, along with the average rates of return for each of these holding periods from 1900 through 2004, which shows the average approximate rate of return for just about every holding period to be, drum roll please, 7.8% when rounded to one decimal place:
The bottom line? Predicting an average annual return of 7.8% in the S&P 500 Index over the next 40 years might appear to be a bold prediction, but in reality, is not exactly going out on a limb. Those considering investments in the HSGFX fund might like to take that into consideration in evaluating Hussman's money management prowess.
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.