Build testable filing cohorts
Define a cohort from the filing event you care about, add deal terms and listing fields, then test what happened after that date.
Keep active candidates, follow-ons, and post-listing outcomes separate so a screen does not accidentally compare different kinds of opportunities.
curl -H "Authorization: Bearer $IPOGRID_API_KEY" \
"https://ipogrid.com/api/v1/companies?scope=all&kind=operating&offering_status=effective&include=latest_terms,classification,consensus"
curl "https://ipogrid.com/api/charts?metric=day1_return_pct&group=sector&bucket=week&scope=all&range=26w"
curl -H "Authorization: Bearer $IPOGRID_API_KEY" \
"https://ipogrid.com/api/v1/filings?form_type=424B4&filing_date_from=2026-06-01&include=company,terms"
curl -H "Authorization: Bearer $IPOGRID_API_KEY" \
"https://ipogrid.com/api/v1/outcomes?trading_start_date_from=2026-06-01&trading_start_date_to=2026-06-30"
Backtest shape
Freeze the cohort definition first: issuer kind, filing form, filing date window, offering status, exchange, deal size, and trading status. Join market bars and outcomes only after the cohort date so future information does not leak into the test.
For historical tests, use the filing events and market bars available around the event date. Current company snapshots, consensus, and comparable deals are not point-in-time feature tables. Freeze the original offering accession, historical security identity, and source availability cutoff before joining outcomes.
Offer-to-first-close return includes allocation underpricing and is not the return available to a buyer at the opening price. Missing extraction or news coverage is unknown, not zero or proof of weak demand. Disclose incomplete delisted coverage and required external price/execution data.