The Report Card · Friday, October 23, 2026
American Express and Tech Hardware Lead S&P 500 to a 0.3% Gain
Enterprise cloud spending and high-end consumer credit point to a Friday lift with 56% probability.
Accuracy
50%
Correct
26/52
Brier score
0.265
lower is better
By Category
4/13
31% accuracy
3/5
60% accuracy
11/15
73% accuracy
0/4
0% accuracy
8/15
53% accuracy
Forecasts — what we said vs. what happened
We said
SPX up 0.32% (54% odds it rises)
What happened
SPX fell 0.52%, closing at 7623.68. We called the wrong direction.
Result -0.52% @ 7623.68
We said
NDX up 0.45% (52% odds it rises)
What happened
NDX fell 0.00%, closing at 28957.53. We called the wrong direction.
Result -0.00% @ 28957.53
We said
DJI up 0.28% (54% odds it rises)
What happened
DJI fell 1.23%, closing at 52215.16. We called the wrong direction.
Result -1.24% @ 52215.16
We said
RUT up 0.25% (51% odds it rises)
What happened
RUT fell 0.32%, closing at 2775.18. We called the wrong direction.
Result -0.32% @ 2775.18
We said
VIX down 2.20% (48% odds it rises)
What happened
VIX rose 3.84%, closing at 19.76. We called the wrong direction.
Result +3.84% @ 19.76
We said
DXY up 0.02% (50% odds it rises)
What happened
DXY rose 0.19%, closing at 101.80. Right direction, off by 0.17 percentage points on size.
Result +0.19% @ 101.80
We said
US10Y up 0.20% (51% odds it rises)
What happened
US10Y rose 0.71%, closing at 4.99. Right direction, off by 0.51 percentage points on size.
Result +0.71% @ 4.99
We said
CL down 0.65% (49% odds it rises)
What happened
CL rose 4.15%, closing at 103.60. We called the wrong direction.
Result +4.15% @ 103.60
We said
GC up 0.18% (51% odds it rises)
What happened
GC fell 1.20%, closing at 4011.60. We called the wrong direction.
Result -1.20% @ 4011.60
We said
SI down 0.40% (49% odds it rises)
What happened
SI fell 1.42%, closing at 53.99. Right direction, off by 1.02 percentage points on size.
Result -1.42% @ 53.98
We said
BTC up 0.35% (51% odds it rises)
What happened
BTC fell 0.07%, closing at 81257.76. We called the wrong direction.
Result -0.07% @ 81257.76
We said
ETH up 0.15% (50% odds it rises)
What happened
ETH rose 0.31%, closing at 2393.70. Right direction, off by 0.16 percentage points on size.
Result +0.32% @ 2393.70
We said
NG down 1.20% (48% odds it rises)
What happened
NG rose 8.98%, closing at 3.05. We called the wrong direction.
Result +8.98% @ 3.05
Trades — what we said vs. what happened
We said
Buy AXP at 325.17, take profit 334.57, cut it at 317.93
What happened
AXP traded 311.42–321.20 and closed 313.06. It hit our 317.93 exit first — the trade lost -2.23%.
Result -2.23% @ 313.06
We said
Buy IBM at 252.11, take profit 263.38, cut it at 243.44
What happened
IBM traded 247.03–254.71 and closed 253.58. Neither the take-profit nor the exit was hit; holding to the close was a gain of +0.58%.
Result +0.58% @ 253.58
We said
Buy BAH at 78.57, take profit 82.62, cut it at 75.46
What happened
BAH traded 73.06–79.40 and closed 78.32. It hit our 75.46 exit first — the trade lost -3.96%.
Result -3.96% @ 78.32
We said
Buy FCNCA at 2196.76, take profit 2266.4, cut it at 2143.21
What happened
FCNCA traded 2281.62–2429.96 and closed 2375.84. The price never reached our 2196.76 entry, so there was no trade to win or lose.
Result 0.00% @ 2375.84
We said
Buy MSFT at 521.08, take profit 539.53, cut it at 506.88
What happened
MSFT traded 515.70–525.77 and closed 524.51. Neither the take-profit nor the exit was hit; holding to the close was a gain of +0.66%.
Result +0.66% @ 524.51
We said
Buy RITM at 8.68, take profit 9.08, cut it at 8.37
What happened
RITM traded 9.00–9.44 and closed 9.39. The price never reached our 8.68 entry, so there was no trade to win or lose.
Result 0.00% @ 9.38
We said
Buy BCPC at 173.23, take profit 178.24, cut it at 169.38
What happened
BCPC traded 173.09–177.45 and closed 177.00. Neither the take-profit nor the exit was hit; holding to the close was a gain of +2.18%.
Result +2.18% @ 177.00
We said
Short GNTX at 21.74, take profit 20.98, cut it at 22.32
What happened
GNTX traded 19.98–20.82 and closed 20.66. The price never reached our 21.74 entry, so there was no trade to win or lose.
Result 0.00% @ 20.66
We said
Short ALV at 118.88, take profit 114.59, cut it at 122.18
What happened
ALV traded 110.00–116.95 and closed 114.71. The price never reached our 118.88 entry, so there was no trade to win or lose.
Result 0.00% @ 114.71
We said
Short CRI at 33.93, take profit 31.88, cut it at 35.5
What happened
CRI traded 31.98–33.14 and closed 32.61. The price never reached our 33.93 entry, so there was no trade to win or lose.
Result 0.00% @ 32.61
Predictions — what we said vs. what happened
We said
Carter's (CRI) will decline at least 1.8% as wholesale apparel inventory orders soften.
What happened
Written call — not scored automatically.
We said
Balchem (BCPC) will gain at least 0.6% on specialty animal nutrition and human health volume.
What happened
Written call — not scored automatically.
We said
Microsoft (MSFT) will add at least 0.5% on enterprise AI infrastructure commitments.
What happened
Written call — not scored automatically.
We said
American Express (AXP) will close up at least 1.5% following Q3 earnings.
What happened
Written call — not scored automatically.
We said
SLB (SLB) will close within 1.0% of its previous close after international drilling numbers.
What happened
Written call — not scored automatically.
We said
IBM (IBM) will advance at least 0.8% as enterprise consulting pipelines expand.
What happened
Written call — not scored automatically.
We said
Gentex (GNTX) will fall at least 1.5% after reporting automotive mirror delivery volumes.
What happened
Written call — not scored automatically.
We said
Booz Allen Hamilton (BAH) will gain at least 1.0% on public sector analytics backlog expansion.
What happened
Written call — not scored automatically.
We said
First Citizens BancShares (FCNCA) will rise at least 0.7% on commercial loan quality metrics.
What happened
Written call — not scored automatically.
We said
Autoliv (ALV) will trade lower by at least 1.2% following safety restraint shipment reports.
What happened
Written call — not scored automatically.
We said
First Hawaiian (FHB) will finish unchanged or higher by up to 0.6% on island deposit durability.
What happened
Written call — not scored automatically.
We said
Rithm Capital (RITM) will rise at least 0.5% after reporting mortgage servicing rights stability.
What happened
Written call — not scored automatically.
We said
The 10-Year Treasury yield will move by fewer than 4 basis points over the session.
What happened
Written call — not scored automatically.
We said
The US Dollar Index (DXY) will close between 103.00 and 104.00.
What happened
Written call — not scored automatically.
We said
The S&P 500 (SPX) will close green with a move between 0.15% and 0.55%.
What happened
Written call — not scored automatically.
We said
American Express (AXP) will be one of the top financial gainers, up over 1.5%.
What happened
We said AXP would be a winner. It closed -3.72% while the S&P 500 did -0.52%.
Result -3.72% @ 313.06
We said
Booz Allen Hamilton (BAH) will outperform defense peers, advancing over 1.0%.
What happened
We said BAH would be a winner. It closed -0.32% while the S&P 500 did -0.52%.
Result -0.32% @ 78.32
We said
IBM (IBM) will finish among the strongest large-cap tech names, rising over 0.8%.
What happened
We said IBM would be a winner. It closed +0.58% while the S&P 500 did -0.52%.
Result +0.58% @ 253.58
We said
Rithm Capital (RITM) will outperform the mortgage REIT sector, rising over 0.5%.
What happened
We said RITM would be a winner. It closed +8.12% while the S&P 500 did -0.52%.
Result +8.12% @ 9.38
We said
Balchem (BCPC) will post gains above 0.6% on chemical margin preservation.
What happened
We said BCPC would be a winner. It closed +2.18% while the S&P 500 did -0.52%.
Result +2.18% @ 177.00
We said
Carter's (CRI) will decline more than 1.8% after morning trading.
What happened
We said CRI would be a loser. It closed -3.89% while the S&P 500 did -0.52%.
Result -3.89% @ 32.61
We said
Autoliv (ALV) will drop more than 1.2% following safety components delivery guidance.
What happened
We said ALV would be a loser. It closed -3.51% while the S&P 500 did -0.52%.
Result -3.51% @ 114.71
We said
Gentex (GNTX) will drop more than 1.5% as automotive electronic mirrors shipments stall.
What happened
We said GNTX would be a loser. It closed -4.97% while the S&P 500 did -0.52%.
Result -4.97% @ 20.66
We said
Natural Gas (NG) will slip more than 1.0% during the session.
What happened
We said NG would be a loser. It closed +8.98% while the S&P 500 did -0.52%.
Result +8.98% @ 3.05
We said
SLB (SLB) will lag the broader market, finishing flat to down 0.5%.
What happened
We said SLB would be a loser. It closed +7.06% while the S&P 500 did -0.52%.
Result +7.06% @ 53.05
We said
American Express (AXP) intraday price range will exceed 2.8%.
What happened
We said AXP would swing hard (3%+). It moved -3.72%.
Result -3.72% @ 313.06
We said
Autoliv (ALV) will see intraday price swings exceeding 2.5%.
What happened
We said ALV would swing hard (3%+). It moved -3.51%.
Result -3.51% @ 114.71
We said
Carter's (CRI) will experience an intraday range wider than 3.0%.
What happened
We said CRI would swing hard (3%+). It moved -3.89%.
Result -3.89% @ 32.61
We said
Gentex (GNTX) intraday spread will exceed 2.2%.
What happened
We said GNTX would swing hard (3%+). It moved -4.97%.
Result -4.97% @ 20.66
We said
SLB (SLB) will trade through an intraday range of at least 2.4%.
What happened
We said SLB would swing hard (3%+). It moved +7.06%.
Result +7.06% @ 53.05
We said
Booz Allen Hamilton (BAH) raises its full-year EPS guidance range by more than 2%.
What happened
Written call — not scored automatically.
We said
First Citizens BancShares (FCNCA) reports net interest income beating consensus by 3% or more.
What happened
Written call — not scored automatically.
We said
American Express (AXP) reports net credit charge-offs below 2.0% of total card loans.
What happened
Written call — not scored automatically.
We said
Gentex (GNTX) maintains full-year gross margins above 34.0%.
What happened
Written call — not scored automatically.
We said
US Flash Manufacturing PMI prints above 51.5.
What happened
Written call — not scored automatically.
We said
SLB (SLB) full-year international margin guidance direction remains unpredictable.
What happened
Written call — not scored automatically.
We said
The direction of the 10-Year Treasury yield following S&P Global Flash PMI releases is a coin toss.
What happened
Written call — not scored automatically.
We said
Whether Gentex (GNTX) finishes green or red on the day remains completely balanced.
What happened
Written call — not scored automatically.
We said
Bitcoin (BTC) daily closing direction relative to the 84,000 level is evenly split.
What happened
Written call — not scored automatically.
We said
Carter's (CRI) wholesale inventory guidance will meet or miss lowered expectations.
What happened
Written call — not scored automatically.
Drivers — what we said vs. what happened
We said
Consumer pushes the market up
What happened
The S&P 500 finished down -0.52%. That went against the call.
We said
AI pushes the market up
What happened
The S&P 500 finished down -0.52%. That went against the call.
We said
Fed pushes the market either way
What happened
The S&P 500 finished down -0.52%. The day was too flat to call this either way.
We said
Treasuries pushes the market either way
What happened
The S&P 500 finished down -0.52%. The day was too flat to call this either way.
We said
Inflation pushes the market up
What happened
The S&P 500 finished down -0.52%. That went against the call.
We said
Oil pushes the market either way
What happened
The S&P 500 finished down -0.52%. The day was too flat to call this either way.
We said
Employment pushes the market up
What happened
The S&P 500 finished down -0.52%. That went against the call.
We said
Middle East pushes the market either way
What happened
The S&P 500 finished down -0.52%. The day was too flat to call this either way.
We said
China pushes the market either way
What happened
The S&P 500 finished down -0.52%. The day was too flat to call this either way.
We said
Housing pushes the market either way
What happened
The S&P 500 finished down -0.52%. The day was too flat to call this either way.
Earnings — what we said vs. what happened
We said
AXP: we said beat (73% odds of a beat)
What happened
AXP came in above expectations (4.68 vs 4.5287 expected). We said beat.
We said
SLB: we said beat (73% odds of a beat)
What happened
SLB came in above expectations (0.64 vs 0.6216 expected). We said beat.
We said
ALV: we said beat (67% odds of a beat)
What happened
ALV came in below expectations (2.19 vs 2.3351 expected). We said beat.
We said
BAH: we said beat (72% odds of a beat)
What happened
BAH came in above expectations (1.76 vs 1.5076 expected). We said beat.
We said
CRI: we said beat (65% odds of a beat)
What happened
CRI came in above expectations (0.26 vs 0.0623 expected). We said beat.
We said
FCNCA: we said beat (72% odds of a beat)
What happened
FCNCA came in above expectations (55.37 vs 47.3986 expected). We said beat.
We said
FLG: we said beat (67% odds of a beat)
What happened
FLG came in below expectations (0.01 vs 0.0797 expected). We said beat.
We said
GNTX: we said beat (66% odds of a beat)
What happened
GNTX came in below expectations (0.47 vs 0.5134 expected). We said beat.
We said
RITM: we said beat (71% odds of a beat)
What happened
RITM came in above expectations (0.55 vs 0.5059 expected). We said beat.
We said
BCPC: we said beat (71% odds of a beat)
What happened
BCPC came in in line with expectations (1.57 vs 1.5657 expected). We said beat.
We said
CVEO: we said beat (68% odds of a beat)
What happened
CVEO came in below expectations (-0.23 vs -0.153 expected). We said beat.
We said
FHB: we said beat (71% odds of a beat)
What happened
FHB came in below expectations (0.52 vs 0.5876 expected). We said beat.
We said
GRC: we said beat (70% odds of a beat)
What happened
GRC came in above expectations (0.86 vs 0.7104 expected). We said beat.
We said
SIFY: we said beat (66% odds of a beat)
What happened
SIFY came in above expectations (0.012 vs 0 expected). We said beat.
We said
VRTS: we said beat (69% odds of a beat)
What happened
VRTS came in below expectations (5.54 vs 6.2075 expected). We said beat.
Scoring is deterministic and runs after every US market close. End-of-day prices from Yahoo Finance; earnings actuals from Finnhub. Free-text predictions (top-15, surprise, uncertain) are left for editorial review and not counted in the overall grade.