{"schemaVersion":1,"kind":"daily-thesis","asOf":"2026-07-17","sourceSchemaVersion":3,"sourceUrl":"/data/daily-thesis.json","methodologyUrl":"/methodology/#daily-thesis","integrity":{"algorithm":"sha256","canonicalization":"SHA-256 of UTF-8 JSON.stringify(payload)","payloadSha256":"1326f15f0305f8b417c7a53d34eb0a94af839e9a0d04dcd3a2a2405d06fc743c"},"payload":{"schemaVersion":3,"asOf":"2026-07-17","temporalCoverage":{"publicationDate":"2026-07-17","latestCompleteObservationDate":"2026-07-15","latestConstituentObservationDate":"2026-07-17","capturedAt":1784298089},"methodologyUrl":"/methodology/#daily-thesis","anomaly":{"dimension":"creditHygLqdRatio","componentId":"creditHygLqdRatio","label":"HYG/LQD","value":0.740983,"unit":"ratio","zScore":2.213387,"absoluteZScore":2.213387,"percentileRank":98.016,"sampleSize":252,"observationDate":"2026-07-17","direction":"risk_on","sentence":"HYG/LQD printed 0.740983, 2.21 standard deviations above its prior 252-observation mean, the largest absolute state-vector z-score.","source":"Yahoo Finance adjusted closes","sourceUrl":"https://finance.yahoo.com/","formula":"HYG adjusted close divided by LQD adjusted close.","methodologyUrl":"/methodology/#confluence-engine"},"confluence":{"thresholdAbsoluteZ":0.5,"rule":"Transform each mapped component z-score into risk direction and count absolute component z-scores below 0.50 as no vote. Cross-asset COT has no single risk-direction mapping and receives no vote.","sentence":"2 components agree with the risk-on direction, 3 disagree, and 4 have no vote.","agree":[{"componentId":"regimeComposite","label":"Regime composite","representativeDimension":"regimeComposite","representativeLabel":"Regime composite","componentZScore":1.21221,"riskAdjustedZScore":1.21221,"dimensionsUsed":1,"observationDate":"2026-07-17","vote":"agree","source":"FRED and Yahoo Finance","sourceUrl":"https://fred.stlouisfed.org/","formula":"Equal-weight mean of the finite volatility, breadth, credit, 2s10s, and dollar leg scores.","methodologyUrl":"/methodology/#confluence-engine"},{"componentId":"breadth","label":"Breadth","representativeDimension":"breadth","representativeLabel":"RSP/SPY breadth","componentZScore":0.879453,"riskAdjustedZScore":0.879453,"dimensionsUsed":1,"observationDate":"2026-07-17","vote":"agree","source":"Yahoo Finance adjusted closes","sourceUrl":"https://finance.yahoo.com/","formula":"RSP/SPY ratio deviation from its trailing 90-session mean, multiplied by 100.","methodologyUrl":"/methodology/#confluence-engine"}],"disagree":[{"componentId":"curve5s30sBps","label":"5s30s","representativeDimension":"curve5s30sBps","representativeLabel":"5s30s Treasury curve","componentZScore":-1.454045,"riskAdjustedZScore":-1.454045,"dimensionsUsed":1,"observationDate":"2026-07-15","vote":"disagree","source":"US Treasury DGS30 minus DGS5 via FRED","sourceUrl":"https://fred.stlouisfed.org/series/DGS30","formula":"30-year Treasury yield minus 5-year Treasury yield, multiplied by 100.","methodologyUrl":"/methodology/#confluence-engine"},{"componentId":"curve2s10sBps","label":"2s10s","representativeDimension":"curve2s10sBps","representativeLabel":"2s10s Treasury curve","componentZScore":-1.365727,"riskAdjustedZScore":-1.365727,"dimensionsUsed":1,"observationDate":"2026-07-16","vote":"disagree","source":"US Treasury spread via FRED","sourceUrl":"https://fred.stlouisfed.org/series/T10Y2Y","formula":"10-year Treasury yield minus 2-year Treasury yield, multiplied by 100.","methodologyUrl":"/methodology/#confluence-engine"},{"componentId":"dollarIndex","label":"Broad dollar","representativeDimension":"dollarIndex","representativeLabel":"Broad dollar index","componentZScore":0.568449,"riskAdjustedZScore":-0.568449,"dimensionsUsed":1,"observationDate":"2026-07-17","vote":"disagree","source":"Federal Reserve via FRED","sourceUrl":"https://fred.stlouisfed.org/series/DTWEXBGS","formula":"Federal Reserve nominal broad US dollar index level.","methodologyUrl":"/methodology/#confluence-engine"}],"noVote":[{"componentId":"vixTermStructurePct","label":"VIX term structure slope","representativeDimension":"vixTermStructurePct","representativeLabel":"VIX3M/VIX slope","componentZScore":0.251071,"riskAdjustedZScore":0.251071,"dimensionsUsed":1,"observationDate":"2026-07-16","vote":"no_vote","source":"CBOE indices via FRED","sourceUrl":"https://fred.stlouisfed.org/","formula":"(CBOE 3-month volatility index divided by VIX minus 1) multiplied by 100.","methodologyUrl":"/methodology/#confluence-engine"},{"componentId":"netGex","label":"Net GEX","representativeDimension":null,"representativeLabel":null,"componentZScore":null,"riskAdjustedZScore":null,"dimensionsUsed":0,"observationDate":null,"vote":"no_vote","source":"CBOE delayed options","sourceUrl":"https://www.cboe.com/delayed_quotes/","formula":"Sum of gamma times open interest times 100 times spot squared times 1%, with calls positive and puts negative.","methodologyUrl":"/methodology/#confluence-engine"},{"componentId":"maxPainDistancePct","label":"Max pain distance","representativeDimension":null,"representativeLabel":null,"componentZScore":null,"riskAdjustedZScore":null,"dimensionsUsed":0,"observationDate":null,"vote":"no_vote","source":"CBOE delayed options","sourceUrl":"https://www.cboe.com/delayed_quotes/","formula":"(Front-expiry max-pain strike minus spot) divided by spot, multiplied by 100.","methodologyUrl":"/methodology/#confluence-engine"},{"componentId":"cotCommercialPercentile","label":"COT commercial percentile","representativeDimension":"cotCommercialPercentile.YM","representativeLabel":"COT commercial percentile (YM)","componentZScore":-0.06044,"riskAdjustedZScore":null,"dimensionsUsed":16,"observationDate":"2026-07-07","vote":"no_vote","source":"CFTC Legacy Futures-Only","sourceUrl":"https://publicreporting.cftc.gov/resource/6dca-aqww.json","formula":"Commercial net position percentile within the trailing 52 published weekly observations, computed per contract.","methodologyUrl":"/methodology/#confluence-engine"}]},"analog":{"sentence":"Across n=50 analogs, SPX +21-session returns had a +0.69% median, 56.0% positive hit rate, and -2.33% worst decile; ES had a +0.70% median, 58.0% positive hit rate, and -2.38% worst decile.","sampleSize":50,"methodologyUrl":"/methodology/#analog-engine","artifactUrl":"/data/analog-engine.json","formula":"Cosine distance over shared finite dimensions after each date is standardized against only its prior 252 sessions.","distributions":{"SPX":{"oneDay":{"n":50,"hitRate":42,"hitRateInterval95":[29.375003,55.766558],"median":-0.187397,"worstDecile":-1.244727,"minimum":-3.59198,"maximum":1.458833,"histogram":[{"lower":-3.59198,"upper":-3.086899,"count":1},{"lower":-3.086899,"upper":-2.581817,"count":0},{"lower":-2.581817,"upper":-2.076736,"count":1},{"lower":-2.076736,"upper":-1.571655,"count":2},{"lower":-1.571655,"upper":-1.066573,"count":3},{"lower":-1.066573,"upper":-0.561492,"count":8},{"lower":-0.561492,"upper":-0.056411,"count":13},{"lower":-0.056411,"upper":0.44867,"count":11},{"lower":0.44867,"upper":0.953752,"count":8},{"lower":0.953752,"upper":1.458833,"count":3}]},"fiveDay":{"n":50,"hitRate":60,"hitRateInterval95":[46.181438,72.39161],"median":0.42554,"worstDecile":-2.006988,"minimum":-2.932146,"maximum":4.150291,"histogram":[{"lower":-2.932146,"upper":-2.223902,"count":3},{"lower":-2.223902,"upper":-1.515659,"count":6},{"lower":-1.515659,"upper":-0.807415,"count":2},{"lower":-0.807415,"upper":-0.099171,"count":8},{"lower":-0.099171,"upper":0.609073,"count":12},{"lower":0.609073,"upper":1.317316,"count":7},{"lower":1.317316,"upper":2.02556,"count":9},{"lower":2.02556,"upper":2.733804,"count":1},{"lower":2.733804,"upper":3.442047,"count":1},{"lower":3.442047,"upper":4.150291,"count":1}]},"twentyOneDay":{"n":50,"hitRate":56,"hitRateInterval95":[42.306028,68.837801],"median":0.687349,"worstDecile":-2.333837,"minimum":-5.02385,"maximum":10.757029,"histogram":[{"lower":-5.02385,"upper":-3.445762,"count":3},{"lower":-3.445762,"upper":-1.867674,"count":4},{"lower":-1.867674,"upper":-0.289586,"count":12},{"lower":-0.289586,"upper":1.288502,"count":8},{"lower":1.288502,"upper":2.866589,"count":11},{"lower":2.866589,"upper":4.444677,"count":6},{"lower":4.444677,"upper":6.022765,"count":2},{"lower":6.022765,"upper":7.600853,"count":1},{"lower":7.600853,"upper":9.178941,"count":1},{"lower":9.178941,"upper":10.757029,"count":2}]}},"ES":{"oneDay":{"n":50,"hitRate":42,"hitRateInterval95":[29.375003,55.766558],"median":-0.196922,"worstDecile":-1.175946,"minimum":-4.143417,"maximum":1.403136,"histogram":[{"lower":-4.143417,"upper":-3.588762,"count":1},{"lower":-3.588762,"upper":-3.034106,"count":0},{"lower":-3.034106,"upper":-2.479451,"count":1},{"lower":-2.479451,"upper":-1.924796,"count":0},{"lower":-1.924796,"upper":-1.37014,"count":2},{"lower":-1.37014,"upper":-0.815485,"count":6},{"lower":-0.815485,"upper":-0.26083,"count":11},{"lower":-0.26083,"upper":0.293825,"count":17},{"lower":0.293825,"upper":0.848481,"count":9},{"lower":0.848481,"upper":1.403136,"count":3}]},"fiveDay":{"n":50,"hitRate":62,"hitRateInterval95":[48.150447,74.137211],"median":0.453672,"worstDecile":-1.696743,"minimum":-3.030005,"maximum":4.085852,"histogram":[{"lower":-3.030005,"upper":-2.318419,"count":3},{"lower":-2.318419,"upper":-1.606834,"count":3},{"lower":-1.606834,"upper":-0.895248,"count":5},{"lower":-0.895248,"upper":-0.183662,"count":6},{"lower":-0.183662,"upper":0.527924,"count":11},{"lower":0.527924,"upper":1.239509,"count":9},{"lower":1.239509,"upper":1.951095,"count":8},{"lower":1.951095,"upper":2.662681,"count":3},{"lower":2.662681,"upper":3.374266,"count":1},{"lower":3.374266,"upper":4.085852,"count":1}]},"twentyOneDay":{"n":50,"hitRate":58,"hitRateInterval95":[44.233442,70.624997],"median":0.701338,"worstDecile":-2.376795,"minimum":-4.392993,"maximum":10.436782,"histogram":[{"lower":-4.392993,"upper":-2.910015,"count":4},{"lower":-2.910015,"upper":-1.427038,"count":4},{"lower":-1.427038,"upper":0.05594,"count":13},{"lower":0.05594,"upper":1.538917,"count":9},{"lower":1.538917,"upper":3.021894,"count":6},{"lower":3.021894,"upper":4.504872,"count":9},{"lower":4.504872,"upper":5.987849,"count":1},{"lower":5.987849,"upper":7.470827,"count":1},{"lower":7.470827,"upper":8.953805,"count":1},{"lower":8.953805,"upper":10.436782,"count":2}]}}}},"falsifier":{"sentence":"The read is invalid if HYG/LQD records at or below 0.725445, the z=0.00 level from the prior n=252 observations, on its next daily print.","operator":"at_or_below","thresholdValue":0.725445,"thresholdZScore":0,"currentValue":0.740983,"unit":"ratio","cadence":"daily","observationCount":252,"evidence":{"source":"Yahoo Finance adjusted closes","sourceUrl":"https://finance.yahoo.com/","formula":"HYG adjusted close divided by LQD adjusted close.","methodologyUrl":"/methodology/#confluence-engine"}},"comparison":{"status":"available","previousAsOf":"2026-07-16","previousArtifactUrl":"/data/machine/v1/archive/2026-07-16/daily-thesis.53464cea1ce313daaa945d4793320031e3d68d3603d368be102da315615cf0f3.json","currentArtifactUrl":"/data/daily-thesis.json","summary":"5 observable changes since the prior completed thesis.","changes":[{"id":"anomaly-z","kind":"anomaly","label":"HYG/LQD moved","detail":"The standardized reading moved from +2.45 sigma to +2.21 sigma."},{"id":"activation-breadth","kind":"activation","label":"Breadth activated","detail":"The component moved from no vote to supportive."},{"id":"deactivation-vixTermStructurePct","kind":"deactivation","label":"VIX term structure slope lost its vote","detail":"The component moved below the published vote threshold or lost sufficient coverage."},{"id":"falsifier-level","kind":"falsifier","label":"Invalidation level changed","detail":"The threshold moved from 0.725403 to 0.725445 ratio."},{"id":"coverage-date","kind":"coverage","label":"Complete observation window advanced","detail":"2026-07-14 became 2026-07-15."}]},"downloads":{"thesis":"/data/daily-thesis.json","confluence":"/data/confluence-vector.json","analogs":"/data/analog-engine.json","falsification":"/data/falsification-ledger.json"}}}
