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
Last week, we ran an unplanned experiment in forecasting the direction of the S&P 500 in near-real time, covering the movement of stock prices from 28 April 2009 through 30 April 2009. During those three days, we:
We also found where we made a rather large error. By 30 April 2009, our forecasting methods were indicating that our forecast range of stock prices would fall between 850-880, down from the 860-890 range we had indicated earlier in the month and down just a touch from the 855-885 range that we had indicated in our post. For the record, the average of daily closing values for the S&P 500 in April 2009 came in at 848.15, just below our final target range.
Our error is that we had forecast this range for the second quarter of 2009. We should only have forecast our target range for the month of April 2009.
Part of our problem is that we're more-or-less inventing our analytical methods as we go, and we're still figuring out how to resolve forecast quarterly dividend futures data into an average level of stock prices we might reasonably expect during the course of a month.
In doing that, we assumed that one quarter of dividend data would apply over one quarter of stock price data. Seems pretty reasonable, right?
But that's not how forecasting stock prices actually work in our method. Instead, we project stock prices using two "solid" parts of data and one "fuzzy" part. The fuzzy part is the amplification factor we use to correlate the magnitude of changes in the expected future growth rate of dividends per share and the current growth rate of stock prices. Here, we base the amplification factor we use in our calculations upon the recent history of stock prices and dividend futures - this is how we produce the range of values we present.
The two solid parts of data are determined using recorded dividend futures data and historic stock price data. In this case, our error originates in the historic stock price data.
To project where stock prices might go using calculated change in the rates of growth of dividend futures, we have to mark the change from a base value, or rather, a fixed starting point. For us, that base value is the previous month's average of daily closing prices. Because of that, we really can only look forward a month ahead in time.
As a result, instead of projecting ahead through the end of the second quarter of 2009, we were really only looking ahead as far as the end of April 2009. If we project farther than that, using the top and bottom of our projected range from which to project new ranges, we would end up with such a huge range of potential future values that there would be no point in the exercise. Using this method, it would be better to stick to the nearer future.
So given all that, where might stock prices be headed next, now that we have a newly established base value of 848.15 for the month of April 2009 from which to project the future for stock prices?
Sticking with the lower range of amplification factors of 7.0 to 9.0 that we've observed since 2001, and given the current level of the expected growth rate of trailing year dividends per share some seven-to-eight months ahead in time (corresponding with investors focusing upon quarterly dividend futures data through the end of the fourth quarter of 2009), we would project a range of average stock prices for the month of May 2009 between 935 and 955.
One trend that we'll note is that the expected future growth rate of dividends has been slowly declining over the past month. If that trend continues, we expect that we will need to reduce our projected range of stock prices sometime during this month.
As for when we will do that, we'll update our range of forecast stock prices here once it crosses certain thresholds or if there is a significant development during the month affecting future expectations. What can we say? We're not paid to produce that kind of analysis for you in real time (or near-real time!)
Labels: chaos, dividends, forecasting, SP 500, whoops
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.