Earnings transcripts · embeddings feat.transcripts.embed
Cleaned transcripts + 1536-dim embeddings + sentiment shifts.
ML · Premium tier · 2010-01 → today · 186k rows
Coming soon — not served by the API yet.
Methodology
A transcript is dated by when the call happened, not when the filing appeared, because those differ and only one of them is tradable information. Utterances are segmented by speaker so an analyst's framing is never attributed to management, and the prepared remarks and the question period are separate sections. Embeddings carry the model that produced them: vectors from two different models are not comparable, and a research result that mixes them without knowing is not reproducible. Sentiment is reported as a change against the prior quarter rather than an absolute score, because the absolute value is mostly a property of the industry.
Schema
| Column | Type | Role |
|---|---|---|
as_of_ts | timestamp | knowledge time · UTC |
effective_ts | timestamp | PIT key · call time |
symbol | string | ticker in force on effective_ts |
cik | int64 | SEC filer id |
fiscal_quarter | string | e.g. 2026Q2 |
section | string | prepared · questions |
speaker_role | string | executive · analyst · operator |
text | string | cleaned utterance |
embedding | array<float32>[1536] | section embedding |
sentiment_delta | float64 | vs prior quarter |
model_version | string | embedding model identity |
Use cases
- Rank a universe on quarter-over-quarter language shift.
- Retrieve passages semantically across a decade of calls.
- Build an event study around the call timestamp.
Background
- An MCP server for quantitative research
- Point-in-time market data: as-of dates, restatements, and adjustments
Related packages
- feat.clusters.equity — Equity clusters · daily