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

Every three months, just about at the time that the market's quarterly earnings season ends shortly after the midpoint of the quarter, we take a snapshot of the expectations for future earnings in the S&P 500.

Today, for the first time in the last seven quarters, the trailing twelve month average of the S&P 500's earnings per share has risen, which suggests that the earnings recession which took hold in the fourth quarter of 2015 may finally have bottomed.

Going by S&P's current projections, the index' trailing year earnings per share may return to its pre-earnings recession levels in the first quarter of 2017.

The improvement in the S&P 500's earnings may be directly attributed to the rebound of crude oil prices since they bottomed in early February 2016, which have eliminated the downward pressure on earnings that have prevailed in the market's oil production sector since the end of June 2014.

Through Monday, 15 August 2016, the price of West Texas Intermediate crude oil at the Cushing, Oklahoma terminal stood at $45.72 per barrel, a nearly 75% improvement over the $26.19 per barrel it bottomed at back on 11 February 2016. Oil prices would have to rise by another 136% from that $45.72 per barrel figure to return to the $107.95 per barrel that was recorded on 20 June 2014.

We think that for S&P's latest projection of future earnings to hold, oil prices would have to continue their overall rise. However, since the current quarter of 2016-Q3 began, those prices have been somewhat choppy, so we think it is more likely that the recovery of the S&P 500's earnings per share to levels back above their pre-earnings recession levels will take longer than S&P projects.

This increase in the S&P 500's trailing year earnings per share is the first real positive news that the market has seen for its earnings prospects since mid-2014, and particularly the oil producing sector of the market. After having fallen for six consecutive quarters, it's about time that industry had some good news show up on its bottom line.

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.