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 second-longest ever winning streak for the S&P 500 (Index: SPX) was broken on Monday, 20 April 2026. The streak had endured for 13 days, one short of the all time record.
While the streak was broken, all was not bad for Wall Street bulls, who could celebrate the index hitting a new all-time record high closing value of 7,165.08 on Friday, 24 April 2026.
The streak largely came about as a result of the cease fire in the Iran War, which was at risk of ending before President Trump announced an extension during the past week. The markets new highs came in response to that event, the prospect of diplomatic talks between the U.S. and Iran soon resuming, and the strength of earnings out of the market's technology sector.
All these things kept the trajectory of the S&P 500 running along the bottom end of the redzone forecast range we added to the alternative futures chart back in February, as shown in its latest update. That range assumes investors would be focused on the current quarter of 2026-Q2, which they certainly have been, even with the disruption of the Iran war geopolitical event.
The centerline of the redzone forecast range provides a reasonable estimate of where the S&P 500 would have gone in the absence of the Iran war. From Friday, 17 April 2026 through Friday, 24 April 2026, the index has ranged between 2.5 and 3.0% below that trajectory, which is to say the geopolitical event is keeping the S&P 500 from rising even higher.
What happens next for the S&P 500 will be determined by investor reactions to the random onset of new information. Here are the market-moving headlines that affected the trajectory of the index during the week that was.
The CME Group's FedWatch Tool continued to anticipate no Federal Reserve rate cuts in 2026, though with a growing bias toward a quarter point rate cut over time.
The Atlanta Fed's GDPNow tool forecast of real GDP growth in 2026-Q1 ticked down to +1.2%, dipping from its projection of +1.3% growth a week earlier.
Image credit: Microsoft Copilot Designer. Prompt: "An editorial cartoon of a Wall Street bull who is excited the S&P 500 closed at a new record high of 7,165.08 on Friday, 24 April 2026".
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.