umwelt-market
A daily stock sentiment and price tracker on Umwelt: five tickers, two disjoint years, three sentiment feeds, a pre-registered screen, and results published whatever they say. Null results are published beside the hits.
IN BUILD
What it is
umwelt-market was the first repository to consume the extracted engine. It declares a market as a world, replays two years of daily bars and three independent sentiment feeds through the production ingest path from a blank start, and scores the engine against persistence and simple baselines on held-out sessions, one period at a time.
It is built to be unable to oversell. Forecasts are prequential: written before the outcome, graded after, append-only. The narrative report is written by a language model that sees only a machine-built payload, is validated token by token against it, and is replaced by a deterministic template on any failure. A pre-registered screen fixes which effects count before they are measured.
What it found: next-session direction is near a coin flip for everything. The blank-booted engine was best of the pack on both years and ahead of persistence on error, inside the noise of about 76 held-out sessions per ticker. Sentiment, fused or not, predicted nothing. The raw signal screen over 857 cells produced zero discoveries. The trust web did not isolate a corrupted feed on three co-timed sources, and the ledger explains why.
What exists today
Private repository, last pushed 16 July 2026. An offline deterministic gate, 20 test files, the blank-slate proof on the market world, two results documents, and a live prequential forecast log. Nothing is traded: shadow tilts exist and are shadow by law.
Not done
Samples are small and every number carries its n. Persistence may win any future period, and that verdict would ship.
No live skill is claimed until the forecast log has aged.
Next
Let the live log age, then compare live against a replay of the same window.
Built with
Python Umwelt numpy JSONL forecast log