USE IT/REAL COMPANIES FROM EDGAR

Real companies from EDGAR

Seed a universe from real SEC filings. Real valuation dispersion, real sector weights, loss-makers in realistic proportion. The price path stays synthetic.

snap = tf.edgar.fetch(as_of="2024-06-30", limit=100,
                      user_agent="Jane Roe jane@example.org")
snap.save("edgar-2024h1.json")            # the artifact, hashed and citable

universe = tf.Universe.from_edgar(snap, federal_funds_rate=0.03)

user_agent must carry a contact address - the SEC's fair-access policy asks for one, and this library will not send a fabricated one for you.

Save the snapshot, cite that

EDGAR is not append-only: the same request returns different numbers next year. A snapshot is hashed and serialisable, so cite the file, not the query.

Two ways to rank, two different biases

rank_by="equity" (default)

EDGAR carries no market cap, so ranking by shareholders' equity skews balance-sheet-heavy. Measured on the live SEC for CY2025, the top 150 by equity came back 27% financial services and 17% technology, against roughly 13% and 30% for the S&P 500, with five banks in the top ten.

rank_by="public_float"

Ranks by the one market-derived number EDGAR has, producing a roster that resembles a real index. Costs: stale by six to eighteen months, and understates founder-controlled companies since float excludes what insiders hold.

Neither is a market-cap ranking, because EDGAR has no prices. For that, set initial_price yourself from a market data source. And this loads fundamentals, not behaviour: a loaded ticker gives you a stock with that company's fundamentals under this model's assumptions, not that company's volatility or microstructure.

All pages