Cited research
Agents read filings, transcripts, prices and the team's own documents, and return writeups with every number cited to the document it was read from.
Numbers from the data, never a modelSitrep is an AI-native operating system for investment teams. Agents research at 100 times the speed of an analyst, cite every number to its source, and every call is scored when the market answers. The team decides.
Agents read filings, transcripts, prices and the team's own documents, and return writeups with every number cited to the document it was read from.
Numbers from the data, never a modelFor any news item, the similar past events and what each did to the stock, its sector and the market at +1, +3, +5 and +10 days. Cases that went the other way are shown, not filtered.
Shows the cases that disagreeTheses are versioned, drift is measured, and every call is scored when the window closes and the market answers. The record is the rationale.
Graded against the marketConnect the market data the team already runs on, plus positions, mandates and internal documents. Nothing leaves your tenant.
It surfaces what the data does not support and the risks a team would otherwise miss.
Every output is scored when the market answers. The record cannot be rehearsed or backdated.
From any source: a filing, a wire story, a broker note, a message from the desk.
Same company first, then the same event class across the sector, matched on the text itself, within your lookback.
Median, range, hit rate stated both ways, and n. The analyst draws the conclusion and seals it with the evidence attached.
When the window closes the market answers, the thesis is scored, and the record stands as the rationale.
// Add Sitrep to any MCP client: Claude, Cursor, your own agent. { "mcpServers": { "sitrep": { "url": "https://mcp.sitrep.so", "headers": { "Authorization": "Bearer $SITREP_API_KEY" } } } } // 14 tools: precedents, base_rates, thesis, watch, memo, vault ... // Every number the model quotes carries the panel and the document it came from.
from sitrep import Desk desk = Desk(api_key=os.environ["SITREP_API_KEY"]) # One news item in, the precedents out result = await desk.precedents( text="Tata Motors: JLR wholesale volumes down 11% YoY", lookback_years=5, n=20, ) for case in result.cases: print(case.date, case.headline, case.abnormal_5d, case.vs_implied) # Summary across the list: median, IQR, hit rate both ways, n print(result.summary.median_5d, result.summary.hit_rate, result.summary.n)
# Every panel as JSON, with provenance on every number curl -s https://api.sitrep.so/v1/precedents \ -H "Authorization: Bearer $SITREP_API_KEY" \ -d '{ "text": "RBI holds repo at 6.5%, stance unchanged", "subject": "NIFTY", "lookback_years": 8 }' # → { "cases": [...], "summary": { "median_5d": ..., "n": 31 }, # "provenance": { "measured_at": "...", "as_of": "..." } }
Everything you need to check us.
The method, the data and the measured results, with the cases that went the other way left in.
When it happened and when we learned it are stored separately. A precedent is only what the desk could have known that morning.
Verification status is set when an item is ingested, not when it is read. An unverified item is shown as unverified.
Every number on a panel comes from the measurement layer and never from a model. CI fails the build if a model output reaches a number field.
Nothing in the system can place, route or size an order. There is no target price and no drafted view. The precedent list is the record.
Sitrep retrieves and measures. The reading, the call and the responsibility stay with the person whose name is on the note.
Every change is a dated commit.
What was measured, what moved, and what did not, in the order it happened.
The method, the corpus and the measured findings, as a static site at research.sitrep.so. Every claim names its file.
Covering letters removed from BSE filing bodies. Retrieval improves a little on the hand-checked set, and the number is in the note.
460 dated macro events with the Nifty's path after each. Lists drawn across companies now stop at a similarity floor instead of padding.
No. Sitrep returns the precedents and the measurement: what similar past events did to the stock, its sector and the market, and the summary across them. The analyst draws the conclusion. There is no drafted view, no target price and no order capability anywhere in the system.
From the measurement layer, never from a model. Reactions are measured in abnormal terms against the sector and the market at +1, +3, +5 and +10 days, and as a multiple of what options implied that day. A model may quote a number, and when it does it cites the panel and the document it read it from.
India first. Every NSE-listed company, with BSE filings, adjusted prices, factor data, F&O implied moves and news back to 2015, plus 460 dated macro events for the index itself. Any market with an exchange feed comes next.
Yes. Sitrep ingests the team's coverage, positions, mandate and internal documents, and connects to the market data you already run on. Access is read-only, revocable, and single tenant on the Enterprise plan. Nothing is used to train a model.
Every thesis is sealed with its evidence and a window. When the window closes, the market answers and the thesis is scored per axis against dated thresholds. Sitrep's own panels are graded the same way. Nothing can be rehearsed or backdated.