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 short answer to that question is "nothing much unexpected", at least if your eyes are drawn to that red box we first drew at the end of the first week of December 2016....

As they have fairly steadily since 25 November 2016, investors exited 2016 with their forward-looking focus apparently fixed to the distant future quarter of 2017-Q2, which coincides with investor expectations for when the Federal Reserve's Open Market Committee will next hike short term interest rates in the U.S.

The S&P 500 has now tied a record with 9 consecutive days trading within the range set 10 days ago....

This is just the 2nd time in the history of the index that it has traded for 9 straight days without moving beyond the range set 10 days ago.

Before you go thinking that we're unusually good at prognostication, let's take a moment to consider the limitations of the forecasting abilities of our standard dividend futures-based model. The following chart shows the potential alternative trajectories that the S&P 500 would have been likely to take in 2016 based only on the information we had available before the market even opened for the year back on 4 January 2016.

In this chart, we had identified three periods of time where we already knew in advance that our model's projections would be less accurate because of the echo of the volatility of stock prices during certain periods in 2015, which affects our model because it incorporates historic stock prices as the base reference points for making its future projections. In addition, at the beginning of 2016, we had no visibility into the expectations for dividends that would be paid out in any future quarter beyond 2016-Q4.

Contrast what you see in that chart with the final results for 2016, in which we've showed the actual trajectory of the S&P 500 against the backdrop of the alternative trajectories we projected, which we updated weekly throughout the year as our model incorporated new information.

The first thing that stands out to us is just how much the projected future changed throughout the course of 2016. For example, if you look just at the alternative trajectory we showed for the expectations that would apply for whenever investors would collectively focus their attention upon 2016-Q4, you'll see that projected stock prices rose above the levels that our model had indicated at the beginning of 2016.

You can also see the impact of new information when it became relevant, such as in late May-early June 2016, when investors suddenly shifted their forward-looking focus from the third quarter of 2016 to the first quarter of 2017.

And then there was the disruptive noise event of the unexpected outcome of the Brexit referendum in the United Kingdom, which caused volatility to spike in the S&P 500 in late June 2016, which would subsequently affect our model's forecasting ability in July 2016 because of the echo of volatility it first generated at its one-month anniversary - an echo that didn't exist before the Brexit vote!

These kinds of limitations are why we more closely focus on just the current quarter when projecting future stock prices, as the expectations of the future tend to be much more stable in the shorter term under normal circumstances, where the primary contributor of non random-walk volatility in stock prices may be simply attributed to shifts in how far forward investors are collectively focusing their attention at any given point of time. Once you get more than one quarter out, the future for stock prices is more likely to change by more than anyone can reasonably foresee, which is why forecasting where the S&P 500 will be more than three months from the present is such a fool's errand.

Speaking of which, we'll look forward to the end of 2017-Q1 sometime later this week. Until then, as we're closing out 2016, let's sample the headlines for what potential market-moving news there was that stood out to us during the last two weeks of December 2016....

This is probably the story of the S&P 500 in 2016. Despite periods of notable volatility, which from our perspective, were little more than the kind of Lévy flights that occur as investors shift their forward-looking attention from focusing upon a particular period of time in the future to instead focus on other periods of time in the future, the overall volatility of stock prices was considerably less than what we saw in 2015.

Did you know that the Fed never stopped its QE 3.0 program of buying up Mortgage-Backed Securities to lower mortgage rates to stimulate the U.S. housing market? If you looked at the Fed's total holdings of U.S. government-issued debt, you would likely miss it, since the Fed has been effectively exchanging the "agency" debt that both Fannie Mae and Freddie Mac borrowed and have been paying back to the Fed with new mortgage-backed securities debt issued by the two U.S. government-controlled enterprises.

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:

Materials on this website are published by Political Calculations to provide visitors with free information and insights regarding the incentives created by the laws and policies described. However, this website is not designed for the purpose of providing legal, medical or financial advice to individuals. Visitors should not rely upon information on this website as a substitute for personal legal, medical or financial advice. While we make every effort to provide accurate website information, laws can change and inaccuracies happen despite our best efforts. If you have an individual problem, you should seek advice from a licensed professional in your state, i.e., by a competent authority with specialized knowledge who can apply it to the particular circumstances of your case.