Polls yfinance news for each ticker, runs the pipeline on fresh headlines, streams results.
A $1B long/short fund organizes its PMs into sector pods. The tech PM doesn't talk to the energy PM. When a catalyst hits, the obvious single-stock trade is already priced in by the next session. The alpha lives in the cross-sector ripple — second-order effects that diffuse over a week as different desks react in turn.
QuantumMind reads every catalyst, generates the cross-sector trade chain automatically, and surfaces it to the CIO. Below is what happened when we ran this on real news for the past 8 weeks.
| view | metric | worst | median | best | std |
|---|
Pipeline. Each news event triggers one LLM call to QuantumMind AI with a cross-sector reasoning prompt. The model returns 3–5 trade legs (sector, ticker, direction, rationale). Each leg held 5 trading days.
Execution. VWAP entry on next trading day after news, VWAP exit 5 days later, 10bps roundtrip costs. yfinance OHLCV. No look-ahead.
Sharpe. Daily portfolio returns are auto-correlated when positions overlap, which inflates daily Sharpe. We bucket into non-overlapping 5-day windows and annualize × √52 — that's the number shown above. Daily Sharpe (the inflated one) is also computed for transparency, available in the JSON.
Bootstrap. 10,000 resamples of trades with replacement, seeded with 42 → reproducible. P(positive) = fraction of bootstrap means greater than zero.
Reproducibility. The chains.json is frozen; same chains + same yfinance prices + same seed = bit-identical numbers. Run scripts/chain_diagnostics.py any time to verify. To regenerate chains, delete chains.json and run scripts/run_chains.py (this DOES involve LLM calls and is non-deterministic — that's the only place randomness enters the pipeline).
Iterations shown above. v1 (mixed-horizon) is the baseline before constraint. v2 locks the prompt to 1-week. v3 additionally filters to LONG-only because the model has clear edge going long but bleeds value going short. We deploy v3.