Multi-asset advisory · public record since Jul 2026Nov 8, 2026 · USD
TradingAdvisor

Changelog

Every change to how signals are chosen or scored, and every correction to the published record.

Desk disagreements removed from the record

Applied Sep 24, 2026 (e9b-desk-shorts). Until Sep 24, 2026, when the desk did not back a long idea, the signal was published as a SHORT, with a thesis and a target written for the long. None of them was a short thesis. Every one still counted is now excluded from every statistic and kept below with the reason; from now on such a call is recorded as no directional call. Nothing was deleted.

Trading signalsBefore (as shown)After
Resolved trades1816
Win rate56%56%
Average R+0.19R+0.27R
Total R+3.43R+4.40R
  • the desk disagreed with a long; it was never a short thesis: 6

Every changed outcome (6)

SymbolSourceChangeResult
ADBEEarnings window · SHORTExcluded — the desk disagreed with a long; it was never a short thesisOpen → not counted
CRWDEarnings window · SHORTExcluded — the desk disagreed with a long; it was never a short thesisStopped −1.49R → not counted
HPQAI watchlist · SHORTExcluded — the desk disagreed with a long; it was never a short thesisOpen → not counted
MCDEarnings window · SHORTExcluded — the desk disagreed with a long; it was never a short thesisExpired +0.52R → not counted
NLYAI watchlist · SHORTExcluded — the desk disagreed with a long; it was never a short thesisOpen → not counted
SNOWEarnings window · SHORTExcluded — the desk disagreed with a long; it was never a short thesisNot filled → not counted

Track record re-score

Applied Sep 24, 2026 (scoring-v2). Every trading outcome scored with the old method was re-scored with the current rules: entry at the next open, costs, gaps and expiry. Records that should never have counted are kept below with the reason, and excluded from every statistic. Nothing was deleted.

Trading signalsBefore (as shown)After (re-scored)
Resolved trades5018
Win rate48%56%
Average R+0.39R+0.19R
Total R+19.35R+3.43R
  • repeat of an open position: 14
  • target set in hindsight: 14
  • scored on the wrong horizon: 4
  • never published: 19
  • price history restated: 6
  • repaired: 5
  • rescored: 16
  • target band contained the entry: 1

Every changed outcome (79)

SymbolSourceChangeResult
AAPLQuant screen · LONGExcluded — repeat of an open positionTarget hit +2.00R → not counted
AAPLQuant screen · LONGExcluded — repeat of an open positionTarget hit +2.00R → not counted
AAPLQuant screen · LONGExcluded — never publishedStopped −1.00R → not counted
AAPLQuant screen · LONGExcluded — repeat of an open positionTarget hit +2.04R → not counted
AAPLQuant screen · LONGExcluded — repeat of an open positionTarget hit +2.00R → not counted
AAPLQuant screen · LONGExcluded — repeat of an open positionTarget hit +2.00R → not counted
AAPLQuant screen · SHORTExcluded — never publishedStopped −1.00R → not counted
AAPLQuant screen · LONGExcluded — never publishedOpen → not counted
AAPLQuant screen · LONGExcluded — scored on the wrong horizonStopped −2.91R → not counted
ALVValue screen (US) · LONGExcluded — target set in hindsightTarget hit → not counted
AZNEarnings window · LONGExcluded — target set in hindsightOpen → not counted
BTC/USDTQuant screen · LONGExcluded — never publishedOpen → not counted
CATEarnings window · LONGExcluded — target band contained the entryTarget hit → not counted
CENCOMALLS.SNValue screen (CL) · LONGExcluded — target set in hindsightOpen → not counted
CL=FQuant screen · LONGExcluded — never publishedOpen → not counted
CL=FQuant screen · LONGExcluded — never publishedStopped −1.00R → not counted
ENELGXCH.SNValue screen (CL) · LONGExcluded — target set in hindsightOpen → not counted
ENTEL.SNValue screen (CL) · LONGExcluded — target set in hindsightOpen → not counted
ETH/USDTQuant screen · LONGExcluded — repeat of an open positionTarget hit +2.00R → not counted
ETH/USDTQuant screen · LONGExcluded — repeat of an open positionTarget hit +2.00R → not counted
ETH/USDTQuant screen · LONGExcluded — repeat of an open positionTarget hit +2.00R → not counted
ETH/USDTQuant screen · LONGExcluded — never publishedOpen → not counted
ETH/USDTQuant screen · LONGExcluded — repeat of an open positionTarget hit +2.00R → not counted
ETH/USDTQuant screen · LONGExcluded — never publishedTarget hit +2.00R → not counted
GC=FQuant screen · LONGExcluded — never publishedStopped −1.00R → not counted
GC=FQuant screen · SHORTExcluded — scored on the wrong horizonOpen → not counted
HG=FQuant screen · LONGExcluded — price history restatedOpen → not counted
IAM.SNValue screen (CL) · LONGExcluded — target set in hindsightOpen → not counted
ILC.SNValue screen (CL) · LONGExcluded — target set in hindsightOpen → not counted
ITAUCL.SNValue screen (CL) · LONGExcluded — target set in hindsightOpen → not counted
MSFTEarnings window · LONGExcluded — target set in hindsightOpen → not counted
MSFTQuant screen · LONGExcluded — never publishedTarget hit +2.00R → not counted
MSFTQuant screen · LONGExcluded — never publishedOpen → not counted
NG=FQuant screen · SHORTExcluded — repeat of an open positionStopped −1.47R → not counted
NG=FQuant screen · SHORTExcluded — repeat of an open positionStopped −1.40R → not counted
NG=FQuant screen · LONGExcluded — scored on the wrong horizonOpen → not counted
NG=FQuant screen · SHORTExcluded — repeat of an open positionStopped −1.37R → not counted
QUINENCO.SNValue screen (CL) · LONGExcluded — target set in hindsightOpen → not counted
RIPLEY.SNValue screen (CL) · LONGExcluded — target set in hindsightTarget hit → not counted
SB=FQuant screen · LONGExcluded — repeat of an open positionTarget hit +2.00R → not counted
SB=FQuant screen · LONGExcluded — never publishedOpen → not counted
SMU.SNValue screen (CL) · LONGExcluded — target set in hindsightOpen → not counted
SPYQuant screen · SHORTExcluded — never publishedStopped −1.00R → not counted
VEarnings window · LONGExcluded — target set in hindsightTarget hit → not counted
VLYValue screen (US) · LONGExcluded — target set in hindsightOpen → not counted
ZC=FQuant screen · LONGExcluded — never publishedStopped −1.04R → not counted
ZC=FQuant screen · LONGExcluded — never publishedStopped −1.00R → not counted
ZC=FQuant screen · LONGExcluded — never publishedOpen → not counted
ZC=FQuant screen · LONGExcluded — never publishedTarget hit +2.00R → not counted
ZC=FQuant screen · LONGExcluded — price history restatedStopped −1.00R → not counted
ZS=FQuant screen · LONGExcluded — repeat of an open positionTarget hit +2.00R → not counted
ZS=FQuant screen · LONGExcluded — scored on the wrong horizonTarget hit +2.00R → not counted
ZS=FQuant screen · LONGExcluded — never publishedOpen → not counted
ZS=FQuant screen · LONGExcluded — never publishedOpen → not counted
ZS=FQuant screen · SHORTExcluded — price history restatedStopped −1.00R → not counted
ZW=FQuant screen · LONGExcluded — price history restatedOpen → not counted
ZW=FQuant screen · LONGExcluded — price history restatedTarget hit +2.00R → not counted
ZW=FQuant screen · LONGExcluded — price history restatedTarget hit +2.00R → not counted
ADBEEarnings window · SHORTLevels repaired, re-scoredStopped +0.38R → Open
CRWDEarnings window · SHORTLevels repaired, re-scoredStopped +0.75R → Stopped −1.49R
MCDEarnings window · SHORTLevels repaired, re-scoredStopped −0.52R → Expired +0.52R
NLYAI watchlist · SHORTLevels repaired, re-scoredStopped +0.08R → Open
SNOWEarnings window · SHORTLevels repaired, re-scoredStopped −4.95R → Not filled (signal −3.29R)
AAPLQuant screen · LONGRe-scoredTarget hit +2.00R → Target hit +2.04R
AAPLQuant screen · SHORTRe-scoredStopped −1.00R → Stopped −0.95R
BTC/USDTQuant screen · LONGRe-scoredStopped −1.00R → Expired −0.25R
BTC/USDTQuant screen · SHORTRe-scoredStopped −1.00R → Stopped −1.02R
CL=FQuant screen · SHORTRe-scoredStopped −1.00R → Expired −0.45R
CL=FQuant screen · LONGRe-scoredStopped −1.00R → Stopped −1.15R
ETH/USDTQuant screen · LONGRe-scoredTarget hit +2.00R → Expired +0.65R
ETH/USDTQuant screen · LONGRe-scoredTarget hit +2.00R → Target hit +1.52R
GC=FQuant screen · LONGRe-scoredTarget hit +2.00R → Target hit +2.00R
NG=FQuant screen · SHORTRe-scoredStopped −1.23R → Expired +0.57R
SB=FQuant screen · LONGRe-scoredTarget hit +2.00R → Target hit +2.00R
SB=FQuant screen · LONGRe-scoredTarget hit +2.00R → Expired +0.35R
SI=FQuant screen · LONGRe-scoredOpen → Expired +0.28R
SPYQuant screen · SHORTRe-scoredStopped −1.00R → Stopped −1.39R
SPYQuant screen · LONGRe-scoredStopped −1.00R → Expired −0.33R
ZS=FQuant screen · LONGRe-scoredTarget hit +2.00R → Expired +0.55R

Signals not counted (173)

Published, kept for the record, and left out of every statistic, each with the reason.

  • the desk disagreed with a long; it was never a short thesis: 33
  • repeat of an open position: 14
  • target set in hindsight: 14
  • scored on the wrong horizon: 4
  • published without a target or levels: 74
  • never published: 19
  • price history restated: 6
  • target band contained the entry: 9
PublishedSymbolSourceWhy it isn't counted
Oct 29, 2026LVSValue screen (US) · LONGtarget band contained the entry
Oct 29, 2026PFGValue screen (US) · LONGtarget band contained the entry
Oct 26, 2026HPQValue screen (US) · LONGtarget band contained the entry
Oct 23, 2026AAPLQuant screen · LONGtarget band contained the entry
Oct 23, 2026TTEEarnings window · LONGtarget band contained the entry
Oct 7, 2026CTVAValue screen (US) · LONGtarget band contained the entry
Sep 28, 2026CQPValue screen (US) · LONGtarget band contained the entry
Sep 24, 2026HBANAI watchlist · SHORTthe desk disagreed with a long; it was never a short thesis
Sep 24, 2026TFCAI watchlist · SHORTthe desk disagreed with a long; it was never a short thesis
Sep 23, 2026CL=FAI watchlist · SHORTthe desk disagreed with a long; it was never a short thesis
Sep 22, 2026ETH/USDTQuant screen · LONGnever published
Sep 21, 2026BTC/USDTQuant screen · LONGnever published
Sep 17, 2026GC=FQuant screen · SHORTscored on the wrong horizon
Sep 17, 2026CHRDValue screen (US) · LONGpublished without a target or levels
Sep 16, 2026NLYAI watchlist · SHORTthe desk disagreed with a long; it was never a short thesis
Sep 16, 2026SPYQuant screen · SHORTnever published
Sep 16, 2026ARCCAI watchlist · SHORTthe desk disagreed with a long; it was never a short thesis
Sep 11, 2026NG=FQuant screen · LONGscored on the wrong horizon
Sep 11, 2026ZS=FQuant screen · LONGnever published
Sep 11, 2026ZC=FQuant screen · LONGnever published
Sep 11, 2026CL=FQuant screen · LONGnever published
Sep 11, 2026AAPLQuant screen · LONGnever published
Sep 8, 2026ZC=FQuant screen · LONGnever published
Sep 8, 2026ORCLEarnings window · SHORTthe desk disagreed with a long; it was never a short thesis
Sep 4, 2026ADBEEarnings window · SHORTthe desk disagreed with a long; it was never a short thesis
Sep 4, 2026CL=FQuant screen · LONGnever published
Sep 2, 2026SNOWEarnings window · SHORTthe desk disagreed with a long; it was never a short thesis
Sep 2, 2026RFAI watchlist · SHORTthe desk disagreed with a long; it was never a short thesis
Sep 2, 2026ZS=FQuant screen · LONGnever published
Sep 2, 2026ZC=FQuant screen · LONGprice history restated
Sep 1, 2026AAPLQuant screen · LONGnever published
Aug 30, 2026SB=FAI watchlist · SHORTthe desk disagreed with a long; it was never a short thesis
Aug 28, 2026AVGOEarnings window · LONGtarget band contained the entry
Aug 28, 2026SB=FQuant screen · LONGnever published
Aug 27, 2026PANWEarnings window · SHORTthe desk disagreed with a long; it was never a short thesis
Aug 27, 2026CMEarnings window · SHORTthe desk disagreed with a long; it was never a short thesis
Aug 25, 2026ZW=FAI watchlist · SHORTthe desk disagreed with a long; it was never a short thesis
Aug 25, 2026AAPLQuant screen · SHORTnever published
Aug 24, 2026GC=FQuant screen · LONGnever published
Aug 24, 2026EIXAI watchlist · SHORTthe desk disagreed with a long; it was never a short thesis
Aug 22, 2026ETH/USDTQuant screen · LONGnever published
Aug 21, 2026SNPSEarnings window · SHORTthe desk disagreed with a long; it was never a short thesis
Aug 21, 2026ZS=FQuant screen · LONGscored on the wrong horizon
Aug 21, 2026TDEarnings window · SHORTthe desk disagreed with a long; it was never a short thesis
Aug 21, 2026BNSEarnings window · SHORTthe desk disagreed with a long; it was never a short thesis
Aug 20, 2026CRWDEarnings window · SHORTthe desk disagreed with a long; it was never a short thesis
Aug 19, 2026BMOEarnings window · SHORTthe desk disagreed with a long; it was never a short thesis
Aug 19, 2026ZC=FQuant screen · LONGnever published
Aug 14, 2026DEEarnings window · SHORTthe desk disagreed with a long; it was never a short thesis
Aug 14, 2026ZW=FQuant screen · LONGprice history restated
Aug 13, 2026ZC=FQuant screen · LONGnever published
Aug 13, 2026BNEarnings window · SHORTthe desk disagreed with a long; it was never a short thesis
Aug 13, 2026ZS=FAI watchlist · SHORTthe desk disagreed with a long; it was never a short thesis
Aug 13, 2026LOWEarnings window · SHORTthe desk disagreed with a long; it was never a short thesis
Aug 6, 2026ZS=FQuant screen · SHORTprice history restated
Aug 4, 2026MSFTQuant screen · LONGnever published
Aug 3, 2026BMYValue screen (US) · LONGpublished without a target or levels
Aug 3, 2026CATEarnings window · LONGtarget band contained the entry
Aug 1, 2026MCDEarnings window · SHORTthe desk disagreed with a long; it was never a short thesis
Jul 30, 2026MSFTQuant screen · LONGnever published
Jul 30, 2026HPQAI watchlist · SHORTthe desk disagreed with a long; it was never a short thesis
Jul 28, 2026AAPLQuant screen · LONGscored on the wrong horizon
Jul 27, 2026VEarnings window · LONGtarget set in hindsight
Jul 27, 2026ALVValue screen (US) · LONGtarget set in hindsight
Jul 27, 2026MSFTEarnings window · LONGtarget set in hindsight
Jul 27, 2026AZNEarnings window · LONGtarget set in hindsight
Jul 27, 2026PGEarnings window · SHORTthe desk disagreed with a long; it was never a short thesis
Jul 27, 2026MPLXAI watchlist · SHORTthe desk disagreed with a long; it was never a short thesis
Jul 27, 2026VLYValue screen (US) · LONGtarget set in hindsight
Jul 26, 2026AMZNEarnings window · SHORTthe desk disagreed with a long; it was never a short thesis
Jul 24, 2026KOEarnings window · LONGpublished without a target or levels
Jul 24, 2026HG=FQuant screen · LONGprice history restated
Jul 21, 2026HG=FAI watchlist · SHORTthe desk disagreed with a long; it was never a short thesis
Jul 20, 2026BAHValue screen (US) · LONGpublished without a target or levels
Jul 19, 2026GOOGLEarnings window · LONGpublished without a target or levels
Jul 19, 2026INTCEarnings window · SHORTthe desk disagreed with a long; it was never a short thesis
Jul 17, 2026UNPEarnings window · LONGpublished without a target or levels
Jul 16, 2026SCHWEarnings window · LONGpublished without a target or levels
Jul 16, 2026GOOGEarnings window · LONGpublished without a target or levels
Jul 16, 2026CQPAI watchlist · SHORTthe desk disagreed with a long; it was never a short thesis
Jul 16, 2026TMUSEarnings window · LONGpublished without a target or levels
Jul 16, 2026XPValue screen (US) · LONGpublished without a target or levels
Jul 15, 2026COFEarnings window · LONGpublished without a target or levels
Jul 15, 2026NG=FQuant screen · SHORTrepeat of an open position
Jul 15, 2026HESMValue screen (US) · LONGpublished without a target or levels
Jul 15, 2026PBValue screen (US) · LONGpublished without a target or levels
Jul 15, 2026FROValue screen (US) · LONGpublished without a target or levels
Jul 14, 2026NG=FQuant screen · SHORTrepeat of an open position
Jul 14, 2026BESALCO.SNValue screen (CL) · LONGpublished without a target or levels
Jul 14, 2026ETH/USDTQuant screen · LONGrepeat of an open position
Jul 14, 2026SB=FQuant screen · LONGrepeat of an open position
Jul 13, 2026NFLXEarnings window · SHORTthe desk disagreed with a long; it was never a short thesis
Jul 13, 2026ETH/USDTQuant screen · LONGrepeat of an open position
Jul 13, 2026ZW=FQuant screen · LONGprice history restated
Jul 13, 2026MOValue screen (US) · LONGpublished without a target or levels
Jul 13, 2026NG=FQuant screen · SHORTrepeat of an open position
Jul 13, 2026AAPLQuant screen · LONGrepeat of an open position
Jul 12, 2026UNHEarnings window · LONGpublished without a target or levels
Jul 12, 2026ETH/USDTQuant screen · LONGrepeat of an open position
Jul 11, 2026BACEarnings window · LONGpublished without a target or levels
Jul 11, 2026STXEarnings window · LONGpublished without a target or levels
Jul 11, 2026BLKEarnings window · LONGpublished without a target or levels
Jul 11, 2026ETH/USDTQuant screen · LONGrepeat of an open position
Jul 10, 2026AAPLQuant screen · LONGrepeat of an open position
Jul 10, 2026ZW=FQuant screen · LONGprice history restated
Jul 9, 2026ZS=FQuant screen · LONGrepeat of an open position
Jul 9, 2026SMU.SNValue screen (CL) · LONGtarget set in hindsight
Jul 9, 2026AAPLQuant screen · LONGrepeat of an open position
Jul 9, 2026IAM.SNValue screen (CL) · LONGtarget set in hindsight
Jul 8, 2026ZC=FAI watchlist · LONGpublished without a target or levels
Jul 8, 2026PNCEarnings window · LONGpublished without a target or levels
Jul 8, 2026WFCEarnings window · LONGpublished without a target or levels
Jul 8, 2026PNCValue screen (US) · LONGpublished without a target or levels
Jul 8, 2026STZValue screen (US) · LONGpublished without a target or levels
Jul 8, 2026ENELCHILE.SNValue screen (CL) · LONGpublished without a target or levels
Jul 8, 2026TSCOValue screen (US) · LONGpublished without a target or levels
Jul 8, 2026AAPLQuant screen · LONGrepeat of an open position
Jul 7, 2026COLBValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026CNAValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026JBSValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026ORIValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026ARCCValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026EPDValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026ENELGXCH.SNValue screen (CL) · LONGtarget set in hindsight
Jul 7, 2026EOGValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026NLYValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026RFValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026ACNValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026RIPLEY.SNValue screen (CL) · LONGtarget set in hindsight
Jul 7, 2026AUValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026CMCSAValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026TROWValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026TFCValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026BSANTANDER.SNValue screen (CL) · LONGpublished without a target or levels
Jul 7, 2026CTSHValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026SFDValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026HABITAT.SNValue screen (CL) · LONGpublished without a target or levels
Jul 7, 2026JEFValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026AESValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026SIRIValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026VICIValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026ENELAM.SNValue screen (CL) · LONGpublished without a target or levels
Jul 7, 2026VZValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026HBANValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026AAPLQuant screen · LONGrepeat of an open position
Jul 7, 2026USBValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026MPLXValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026CONCHATORO.SNValue screen (CL) · LONGpublished without a target or levels
Jul 7, 2026FISValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026KEYValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026QUINENCO.SNValue screen (CL) · LONGtarget set in hindsight
Jul 7, 2026HPQValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026EIXValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026ENTEL.SNValue screen (CL) · LONGtarget set in hindsight
Jul 7, 2026TValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026CQPValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026ITAUCL.SNValue screen (CL) · LONGtarget set in hindsight
Jul 7, 2026BBYValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026PAGValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026PRUValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026GLPIValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026ECL.SNValue screen (CL) · LONGpublished without a target or levels
Jul 7, 2026MKCValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026AGNCValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026WESValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026COPEC.SNValue screen (CL) · LONGpublished without a target or levels
Jul 7, 2026SUIValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026ILC.SNValue screen (CL) · LONGtarget set in hindsight
Jul 7, 2026AAISA.SNValue screen (CL) · LONGpublished without a target or levels
Jul 7, 2026CENCOMALLS.SNValue screen (CL) · LONGtarget set in hindsight
Jul 7, 2026APAValue screen (US) · LONGpublished without a target or levels
Jul 7, 2026TIGOValue screen (US) · LONGpublished without a target or levels
Jul 6, 2026CNAAI watchlist · SHORTthe desk disagreed with a long; it was never a short thesis

Source status changes

Every change to a source's status, with the reason given at the time. Current statuses are on Sources.

  1. Nov 4, 2026 · Momentum Chile v1 → In testing

    A live test of a strategy whose 2013-2026 backtest was positive (+9.9%/yr over random portfolios) but is unconfirmed: it is not verifiably out of sample and does not survive the correction for the variants tried. Judged on its live record from 2026-11-01. Holdings stay private until it is promoted or retired; each month's hash is public.

  2. Nov 4, 2026 · Quant screen v3 → Paused

    Shadow: no trading rule beat random timing out of sample (research/cert_v4). Picks are measured, not published.

  3. Nov 4, 2026 · Quant screen v2 → Retired

    Superseded by v3 (cluster risk cap) on 2026-11-03.

  4. Nov 4, 2026 · Quant screen v3 → Validating

    Started 2026-11-03: v2 selection plus the cluster risk cap.

  5. Oct 3, 2026 · Rotation v2 → Validating

    Futures replaced by their ETFs, costs per venue in the backtest and the live record, closed sessions only. Its live NAV starts at its first signed rebalance.

  6. Oct 3, 2026 · Rotation v1 → Retired

    Superseded by v2: commodity ETFs instead of futures, pack costs, closed sessions only. Its rebalances stay in the history, labelled v1, without a live NAV.

  7. Oct 1, 2026 · Momentum Chile v1 → In testing

    A live test of the strategy that passed a pre-registered out-of-sample test on 2013-2026 (+9.9%/yr over random portfolios, 95% CI +3.4 to +16.6). Its holdings stay private until it is promoted or retired; each month's hash is public.

  8. Sep 23, 2026 · Quant screen v2 → Validating

    Confluence filtered by a strict SMA200 trend. Out-of-sample 2020-2026: avg R +0.05 -> +0.13, max drawdown 87R -> 37R; modest evidence, validating live.

  9. Sep 23, 2026 · Quant screen v1 → Retired

    Superseded by v2 (confluence filtered by a strict SMA200 trend) on 2026-09-23.

  10. Sep 23, 2026 · Quant screen v1 → Validating

    Published and measured; not yet meeting the pay criteria.

  11. Sep 23, 2026 · AI watchlist v1 → Validating

    Published and measured; not yet meeting the pay criteria.

  12. Sep 23, 2026 · Earnings window v1 → Validating

    Published and measured; not yet meeting the pay criteria.

  13. Sep 23, 2026 · Value screen (CL) v1 → Validating

    Published and measured; not yet meeting the pay criteria.

  14. Sep 23, 2026 · Value screen (US) v1 → Validating

    Published and measured; not yet meeting the pay criteria.

  15. Jul 12, 2026 · Rotation v1 → Validating

    Published and measured; not yet meeting the pay criteria.

Model changes

  1. Nov 4, 2026

    momentum_cl: its historical result is positive but unconfirmed

    • The note and the sources page no longer call the 2013–2026 result a pre-registered out-of-sample test. It is now described as a historical backtest that is positive but unconfirmed. The strategy keeps running as a private live test, judged on its live months from 2026-11-01.

    Why: A certification review could not show those years were out of sample: the split date and the parameters tried cannot be recovered, the number of names and the weighting were varied, and the 31-name universe was chosen with the full history. Corrected for the variants tried, the result is no longer significant (adjusted p 0.064 over 4 strategy families, about 0.19 over 12 variants). The earlier wording claimed more than the evidence shows.

  2. Nov 4, 2026

    quant_screen trading runs in shadow: measured, not published

    • quant_screen v3 is paused. Its signals are still generated, frozen and scored every day, but they are not published or alerted, so its live record keeps growing without anyone following it.
    • It is published again only when it passes the certification gate.

    Why: A pre-registered out-of-sample test on a backtest that scores trades exactly like the live record (6 candidate rules, corrected for the 48 variants tried) found no trading rule that beats entering the same trades on random days. v2's best variant averaged +0.13R but was not distinguishable from random timing and had a 35.8R drawdown. The same rule with the cluster cap, which is what v3 runs, averaged +0.13R with a 21.5R drawdown and also could not be told apart from random timing. Publishing signals with no shown edge would mislead.

  3. Nov 3, 2026

    Source certification: a source is actionable only while its out-of-sample evidence passes explicit gates

    • A source's current version is actionable only when it is provisional or certified. Provisional needs a parity backtest with a walk-forward out-of-sample span of at least 5 years and at least 200 trades (or 36 rebalances for portfolio picks), a 95% bootstrap lower bound of the average after costs above zero, a better average than its baseline (random timing, or the benchmark) at a Holm-adjusted p below 0.05 across the variants tested, and a worst drawdown of at most 25R (or at most the benchmark's).
    • Then the frozen version runs live: certified at 30 live outcomes whose average is not below the backtest's 95% range; suspended when it is below that range, or when the live drawdown goes beyond the backtest's 95th-percentile drawdown. A source without evidence is in research, and research and suspended sources run in shadow: measured, never presented as actionable.
    • The state is computed every night and shown on the sources page and in the MCP track record, with its reason. It is not enforced yet: no source has evidence recorded, so enforcing it today would put every source in shadow. Until the switch is turned on, picks are published as before.

    Why: The quant screen v2 showed no demonstrated edge, so the tool should say which sources have proven one before anyone acts on their picks. This changes which picks may be presented as actionable once enforced; no source's selection rules or version change.

  4. Nov 3, 2026

    quant_screen v3: correlated signals can no longer pile up as one bet

    • Before publication, quant signals are grouped by how their daily returns moved together over the last 60 sessions (correlation of 0.7 or more, in the direction of the trade). A group of correlated open signals can hold at most 2R of risk (1R per signal), and all signals in one direction at most 4R. A long and a short on a positively correlated pair is a hedge and does not count as one group. When a new signal would go over a limit, the one with the higher conviction is kept and the others are not published. Each dropped signal is logged with the group it would have joined and the correlations.
    • A signal whose price history is missing or too short to correlate counts as its own group and is logged; it is never dropped for that reason alone.

    Why: Most of the -0.74R of the v2 loss came from three highly correlated longs opened together, so one market move hit several signals at once. Following every published signal should not stack hidden correlated risk. This changes which signals are published, so quant_screen moves to v3 and its record is measured apart from v2.

  5. Nov 3, 2026

    Portfolio picks: win rate and return now count open picks too

    • The portfolio headline used to count only picks that had reached their target. A target is booked on the first close inside the range, but a pick only counts as missed after its review date, 12 months out, so every pick on the record was a winner. It now counts every priced pick, a pick that reached its target at its exit price and an open one at its current price, and a pick is a win when its return is above zero. The old count stays, labelled “target reached so far”.
    • The comparison with the market (ECH for Chile, SPY otherwise) had the same flaw: it measured only winners, over their short winning windows. It now includes open picks, measured to the snapshot date.
    • Two new lines show picks at least 30 days old: the share that reached target and the share in profit now.
    • On 3 Nov 2026 (80 picks counted, 72 priced): the old headline was 24 of 24 winners (100%, 95% CI 86–100%), average +10.5%, +10.4% above the market. The new one is 48 of 72 in profit (67%, 95% CI 55–76%), average +3.3%, +4.8% above the market. Among picks 30 or more days old, 17 of 43 had reached target.

    Why: A record that cannot show a loss is not evidence. The new numbers show losers when they appear, not 12 months later.

    Caveats

    • The picks are young (the oldest is under 3 months), so even the new rate is provisional and probably still flatters: open picks have not had time to fail. The intervals treat picks as independent, so they are somewhat too narrow.
  6. Nov 3, 2026

    Quant signals are checked against the latest price before publication

    • A quant signal is dropped before publication when the newest price, including a session still in progress, is more than 0.5R from its published entry (against the trade, or already toward the target, so the entry is no longer obtainable) or within 0.25R of its stop. Each dropped signal is logged with its levels, that price and the reasons. Signals from other sources, which choose their own entry at the close, are not affected.
    • Only crypto can trip it in practice: its entry is the last closed day's close, up to 23 hours old at the 23:00 UTC run, while stocks, ETFs and futures have already closed, so their newest price is the close itself. Crypto levels are not rebuilt on a fresher bar; stale ones are dropped.

    Why: A published BTC signal was already 0.86R from its entry, close to its stop, so no follower could have traded it at the published level. A replay put the crypto lag at about 0.05R per trade. This change does not remove that lag: crypto entries still use the previous close. This changes which signals are published, but quant_screen keeps v2 for now: a v3 needs a source row first, so the record is not split yet. Results before and after 2026-11-03 can be told apart by date; crypto entries after this change are the ones that were still obtainable.

  7. Oct 3, 2026

    Rotation v2: commodity ETFs, each venue's costs, a live record

    • The 9 commodity futures are replaced by their ETFs (GLD, SLV, USO, UNG, CPER, CORN, WEAT, SOYB, CANE), for ranking and for holding. The other 16 instruments are unchanged.
    • The backtest and the choice of combo charge every trade its venue's fee, half-spread and slippage, per side, instead of a flat 0.1%.
    • Crypto history is now read in full, which the backtest shown before did not do: our crypto download was capped at 1,000 days, so in that run crypto history stopped at Apr 14, 2026. The daily decision ignores a session that hasn't closed.
    • From now on every rebalance is signed with its method version, and a live record starts at v2's first rebalance: a paper record of the published decisions, one value per session net of each market's costs, against an equal-weight benchmark, on Rotation's page. v2's first rebalance happens on the first daily run after the change.
    • The backtest, re-run on Oct 3, 2026 with the same protocol, gives simulated out-of-sample total returns, net of modelled costs, each the median of 21 rebalance phases with its range: v2 +81.4% (from +33.7% to +113.4%; Sharpe 1.33) against +35.8% for its benchmark; v1, at the same costs as v2, +65.4% (from +28.9% to +107.2%; Sharpe 1.29). With every cost doubled, v2 returns +81.0% (from +30.8% to +111.0%). On the median, v2 passes the bar; phases that pass on their own: 20 of 21. The +55.1% and Sharpe 1.24 shown for v1 before came from an earlier run, now replaced: a flat 0.1% fee, a different window, and crypto history that stopped at Apr 14, 2026. They are not comparable with these figures.
    • Why a median: a single run depends on the day of the month its rebalances fall on, so the same protocol is started on each of the 21 possible rebalance days, and the bar (total return and Sharpe both above the benchmark's) is evaluated on the median. A first single run gave v2 +91.3%: it is not what is published, because it was only one of those days.
    • A defect in our backtest harness is fixed: a calendar mismatch (days when futures traded and US stocks did not) started some of v1's test windows in cash, which distorted v1's figure in that first run. v1's re-run is now comparable with v2's.

    Why: The futures as modelled couldn't be held and their roll gaps leaked into the ranking, a flat fee treated every market alike though they cost different amounts to trade, and v1 had no live record at all.

    Caveats

    • Thin commodity ETFs likely trade wider than the costs modelled; the costs ×2 run shows how much that matters.
    • The result is published whatever it shows. Rotation v2 starts as validating.
  8. Oct 1, 2026

    Momentum Chile v1 enters testing

    • A new source runs in testing. Each month it holds, at equal weight, the 5 of 31 Chilean large caps with the best return over the last 12 months, leaving out the most recent one. Each month's portfolio is frozen with a salted hash when it is decided; the hashes are public on /sources and the holdings stay private.
    • Each month is measured open to open, net of Chile's costs, against 1,000 random 5-stock portfolios of the same names and against the equal-weight universe.

    Why: It is the only one of four strategy families that passed a pre-registered out-of-sample test (2013–2026: +9.9%/yr over random, 95% CI +3.4 to +16.6). That test used today's 31 names, so only a live record can rule out survivorship bias. Later corrected: see 2026-11-04.

    Caveats

    • Nothing it holds is published while it is in testing. Every month's holdings are revealed together, with their salts, when it is promoted or retired.
  9. Oct 1, 2026

    quant_screen v2: a score of exactly 0.5 now passes its threshold

    • v2 fires when the confluence score is at least 0.5. One combination (trend and momentum up, MACD against) adds up to exactly 0.5, but floating-point arithmetic gave 0.49999999999999994, so the signal was silently dropped. The score is now rounded before the threshold, and that combination fires as the model always meant it to.

    Why: Found by an out-of-sample backtest of the generator on 2026-10-01. This makes v2 match its own definition, so it keeps its version; earlier days are unchanged.

  10. Sep 24, 2026

    The desk's disagreement is no longer published as a short

    • The earnings and watchlist scanners ask the desk whether a stock is worth owning. When the desk disagreed, the signal used to be published as a SHORT, with a thesis and a target written for the long. It is now recorded as no directional call, and never scored.
    • The desk is told what it is reviewing: a quant signal, an idea from a screen, or a position a user holds. It no longer writes about a quant signal that doesn't exist.
    • Every published signal is now counted, open, or excluded with a reason. About 100 published signals had no scoring row at all, and the feed showed them as actionable; they are now listed under Signals not counted.
    • The portfolio builder only offers picks the record counts: a target set in hindsight no longer weights a portfolio.

    Why: A reader found SHORT signals whose thesis said "caution on the long" and whose target sat above the entry, and a feed that didn't match the record. Both came from these two gaps.

    Caveats

    • The desk shorts still counted leave the trading record (listed above, with before and after), so the headline numbers change.
  11. Sep 23, 2026

    quant_screen v2: confluence + strict SMA200 trend filter

    • A confluence signal is published only in the direction of the 200-day simple moving average: longs above it, shorts below it.
    • With too little history to compute the SMA, no signal is produced.
    • History loaded for signal generation went from 200 to 450 calendar days, because 200 never defined the SMA and would have let every signal through.

    Why: Out-of-sample 2020–2026 (walk-forward, costs, next-open entries, gap-aware stops), the filter lifted average R per trade from +0.05 to +0.13 and cut max drawdown from 87R to 37R, better in 6 of 7 years.

    Caveats

    • The evidence is modest: the lower bound of the improvement is barely above zero, and the filtered strategy does not beat random trend-aligned entries at 5% significance.
    • The confluence timing itself showed no edge over random entries with the same exits.
    • v2 starts in validation: it is measured live from its first signal and stays free until it meets the pay criteria.
  12. Sep 23, 2026

    Scoring v2 for trading signals

    • Entry at the next completed session's open plus slippage, instead of the published level. If that open is already past the stop or target, the signal is unfilled.
    • Costs (fee, spread, slippage per market) come out of every R.
    • Gaps through a level exit at the open and are recorded.
    • Positions expire after 15 sessions, at the close.
    • R is measured on the planned risk. Two numbers are recorded: follower R (from the fill) and signal R (from the published level).
    • Outcomes scored before this were re-scored with the same rules; the re-score and every row it changed are listed above.