Obscura

ABS-15G Repurchase Demand Reports

ABS-15G reports, filed by securitizers under Rules 15Ga-1 and 15Ga-2 on demands to repurchase loans out of a securitisation. The signal is the negative space: EDGAR records three 'no activity' checkboxes in the filing header, so a report with none of them checked is one where investors actually demanded loans be bought back.

edgar_abs_securitizer_reports - the dataset name to pass to the Obscura API.

Category Regulatory Columns 31 Refresh Every 6 hours Entity key securitizer_cik Point-in-time available_date

What one row means

One **Form ABS-15G** report - the Dodd-Frank Section 15G disclosure a securitizer must make about the representations and warranties on its asset-backed deals, and about the third-party due diligence performed on them. The form carries two different obligations, and `abs_rule` says which: * **`RULE-15GA1`** - the periodic (initial / quarterly / annual) report of **repurchase demands** made on the securitizer for breaches of its representations and warranties. This is the repurchase-demand history: which securitizer, which asset class, which reporting period, and - the column that matters - whether it had anything to report at all. * **`RULE-15GA2`** - the findings and conclusions of a third-party due diligence provider, furnished at the time of a rated ABS offering. # WHAT IS STRUCTURED HERE IS THE HEADER, AND THAT IS WHERE THE SIGNAL IS The body of an ABS-15G is HTML prose, and where a securitizer HAS activity to report the detail arrives as a free-form exhibit table whose shape varies by filer (`REPURCHASE REPORTING`, `AMC EXCEPTION GRADES`, `AMC DATA COMPARE`, …). None of that is a schema, and nothing here invents one. **But EDGAR structures the three no-activity checkboxes itself**, in the submission header, as `<NO-INITIAL-PERIOD-ACTIVITY>`, `<NO-QUARTERLY-ACTIVITY>` and `<NO-ANNUAL-ACTIVITY>` - and they mirror the form's own boxes exactly. `Y` means the securitizer certified it had NO repurchase activity for that period; a `RULE-15GA1` filing with none of them set is a securitizer that DID. That is `reports_repurchase_activity`, and it is the whole repurchase-demand history reduced to one boolean per securitizer per period with no HTML parsing at all. Measured on the 2024-02-14 dissemination day: 152 ABS-15G filings, 147 under Rule 15Ga-1, of which **3 report activity** and 144 certify none. # FOUR PARTIES, ONE ROW EDGAR's header carries up to four separate blocks - `FILER:`, `DEPOSITOR:`, `SECURITIZER:`, `ISSUING ENTITY:` - which are frequently, but not always, the same company. Each is kept as its own CIK/name pair, because the depositor of a shelf and the trust that issued one deal off it are different legal entities and collapsing them would destroy the join. See `docs/datasets/edgar_abs_securitizer_reports.md` and `docs/availability/edgar_abs_securitizer_reports.md`.

One row per One row per ABS-15G or ABS-15G/A submission, keyed by its ACCESSION. The key is the accession and NOT the archive path because EDGAR indexes the submission under one path PER associated party and this form names up to four: measured over three dissemination days spanning 2024-2026, 376 submissions occupy 402 index rows - 363 with one path, 2 with two, 10 with three and 1 with four. Keying on the path would count one Toyota report three times, once as the filer, once as the depositor and once as the issuing entity. The other parties are their own columns on the same row, never extra rows..

Point-in-time availability

Every Obscura dataset carries available_date: the calendar day the publisher made the row available, day-of, with no session rounding. It is the one column a backtest filters on, and it means the same thing on every dataset in the catalog.

For edgar_abs_securitizer_reports: filing_join: available_date is the EDGAR DISSEMINATION day, taken from the bronze object's own day partition, never from the header's FILED AS OF DATE. WHY: SEC back-dates FILED AS OF DATE on 4.88 % of the EDGAR corpus, so no collector here may read it as an availability date - but this family is measurably NOT one of the offenders. On the 2024-02-14 dissemination feed all 152 ABS-15G submissions carry FILED AS OF DATE == the dissemination day, zero lag, and the form has no embargo: Rule 15Ga-1 reports are due on a fixed calendar (Feb 14 / quarterly) and are disseminated the day they are filed. The rule is nonetheless the object's own partition, because that is the one mechanism the whole EDGAR family shares and a 4.88 % corpus-wide defect is not something to opt out of on a 152-filing sample. Evidence class B; see docs/availability/edgar_abs_securitizer_reports.md. period_start/period_end are the Rule 15Ga-1 REPORTING WINDOW and are never availability anchors.

Refresh cadence

Obscura refreshes edgar_abs_securitizer_reports every 6 hours - the most frequent scheduled job that re-collects or re-exports it. This is Obscura's own pipeline cadence, not the upstream publisher's release schedule; when a row became public is recorded per row in available_date.

Schema - 31 columns

The full public column list for edgar_abs_securitizer_reports, with the meaning of every field. The same schema is served unauthenticated at https://api.obscura.trade/v1/catalog/edgar_abs_securitizer_reports.

ColumnTypeDescription
accessiontext · not nullPK. SEC accession number of the submission, e.g. `0000769993-24-000200`. The key is the accession, not the archive path: EDGAR lists one report under the path of every party it names.
filenametext · not nullThe FILING party's SEC EDGAR Archives path for this submission (`edgar/data/{cik}/{accession}.txt`), derived from the payload's own first `FILER:` block rather than from whichever of the report's index rows was walked - so it is the same value on every ingestion path. The join key into `edgar_filings`.
available_datedatePublic availability date: the EDGAR DISSEMINATION day, recovered from the bronze object's day partition. The point-in-time anchor and the only date a backtest may key on.
period_startdateFirst day of the Rule 15Ga-1 REPORTING WINDOW (`PERIOD START:` / `<PERIOD-START>`) - the period the repurchase-demand disclosure covers. A calendar year on an annual report, a quarter on a quarterly one. NULL on a Rule 15Ga-2 due-diligence report, which covers no period.
period_enddateLast day of the Rule 15Ga-1 reporting window (`CONFORMED PERIOD OF REPORT` / `<PERIOD>`). **NULL on every Rule 15Ga-2 filing by design**: that form has no reporting period, and EDGAR fills the field with the filing date instead - measured on 5 of 5 Rule 15Ga-2 submissions in the 2024-02-14 feed, all stating `20240214` with no period start. Storing that would fabricate a one-day reporting period equal to the availability date, which is exactly the collapse this column exists to prevent.
accepted_attimestamp with time zoneWhen SEC ACCEPTED the submission (`<ACCEPTANCE-DATETIME>`), US-Eastern wall clock under a UTC type. Provenance only. NULL on a row ingested from the dissemination feed, whose envelope does not carry this stamp - a fact about the envelope, not a decoder gap.
filed_as_ofdateSEC's LEGAL filing date (`FILED AS OF DATE`). Kept for parity with `edgar_filings`; never an availability date, though on this family it happens to agree - 152 of 152 on the measured dissemination day.
form_typetext · not nullThe submission type exactly as EDGAR states it: `ABS-15G` or `ABS-15G/A`. Measured as the complete family on four quarterly form indexes spanning 2015-2026.
is_amendmentboolean · not nullTRUE when this is an amendment (`ABS-15G/A`) restating an earlier report. A material share of the family - 189 of 1,433 in 2024Q1 - because a securitizer that discovers unreported demands amends rather than re-files. Derived from `form_type`; the migration CHECKs the derivation.
abs_ruletext**WHICH OBLIGATION this report satisfies**, from `ABS RULE:` / `<ABS-RULE>`: `RULE-15GA1` (periodic repurchase-demand disclosure) or `RULE-15GA2` (third-party due diligence findings on a rated offering). The discriminator for every other column on the row - the activity flags and the reporting period exist only under 15Ga-1, `registered_entity` only under 15Ga-2.
item_codetextSEC's item code for the disclosure, e.g. `1.01` (initial 15Ga-1 filing), `1.02` (periodic 15Ga-1 filing), `2.01` (due-diligence findings obtained by the issuer). Stated directly as `<ITEMS>` in the dissemination envelope; recovered from the item TITLE on an Archives-envelope submission, which states the title and not the code.
item_titletextSEC's own long title for the item, verbatim: `Periodic Filing of Rule 15Ga-1 Representations and Warranties Disclosure`, `Initial Filing of Rule 15Ga-1 Representations and Warranties Disclosure`, `Findings and Conclusions of the Third Party Due Diligence Provider Obtained by the Issuer`. Stated in the Archives envelope; filled from a measured code→title table on the dissemination envelope, and left NULL for a code whose title has not been observed rather than guessed at.
asset_classtextThe ASSET CLASS the report covers, in EDGAR's own controlled vocabulary (`ABS ASSET CLASS:` / `<ABS-ASSET-CLASS>`): `Residential mortgages - Prime`, `Residential mortgages - Non-Prime`, `Residential mortgages - Other/Combined`, `Residential mortgages - Reverse Mortgages`, `Commercial mortgages`, `Auto loans`, `Credit card`, `Student loans`, `Other`. The dimension that turns this table into a per-sector repurchase-demand series.
registered_entitybooleanThe securitizer's `REGISTERED ENTITY:` / `<REGISTERED-ENTITY>` flag: TRUE when the offering the due-diligence report concerns is SEC-REGISTERED rather than a private (144A/Reg D) placement. Stated only on Rule 15Ga-2 filings - NULL under 15Ga-1 - and it is what separates a public shelf deal from a private one.
no_initial_period_activitybooleanThe Rule 15Ga-1(c)(1) box: TRUE when the securitizer certified it had **no repurchase activity to report for the INITIAL period**. NULL when the header does not state the box, which is every filing that is not an initial 15Ga-1 report.
no_quarterly_activitybooleanThe Rule 15Ga-1(c)(2)(i) box: TRUE when the securitizer certified it had **no repurchase activity for the QUARTERLY period**.
no_annual_activitybooleanThe Rule 15Ga-1(c)(2)(ii) box: TRUE when the securitizer certified it had **no repurchase activity for the ANNUAL period**.
reports_repurchase_activityboolean**THE SIGNAL. TRUE when this Rule 15Ga-1 report actually discloses repurchase demands** - i.e. none of the three no-activity boxes is checked. NULL on a Rule 15Ga-2 filing, which reports due diligence rather than demands. Rare and therefore informative: 3 of 147 Rule 15Ga-1 filings on the measured 2024-02-14 dissemination day, and the demand detail itself is in the exhibit the `exhibits` inventory names (`REPURCHASE REPORTING`). Derived purely from the three flags in this row, and the migration CHECKs the derivation rather than trusting the writer.
filer_cikbigintCentral Index Key of the FILING party (the header's first `FILER:` block) - whoever transmitted the report, which on most filings is also the depositor or the securitizer.
filer_nametextThe filing party's name as EDGAR conforms it, e.g. `GS MORTGAGE SECURITIES CORP II`.
filer_file_numbertextThe filing party's SEC file number. A `025-` number is the securitizer's own Section 15G file number; a `333-` number is the shelf registration the deal was offered off.
depositor_cikbigintCentral Index Key of the DEPOSITOR - the entity that deposits the assets into the trust. NULL when the header names no depositor block, which is most Rule 15Ga-1 periodic reports.
depositor_nametextThe depositor's conformed name.
securitizer_cikbigintCentral Index Key of the SECURITIZER - the party that actually bears the Section 15G obligation and against whom repurchase demands are made.
securitizer_nametextThe securitizer's conformed name.
issuing_entity_cikbigintCentral Index Key of the ISSUING ENTITY - the specific trust, e.g. `Toyota Auto Receivables 2024-B Owner Trust`. Named only on Rule 15Ga-2 filings, which concern one deal; a periodic 15Ga-1 report covers a securitizer's whole book and names no trust. **NULL on every row ingested from the dissemination feed**, which is the only production path: the two envelopes DISAGREE about this block, measured on accession `0000929638-24-001465`, where the Archives envelope carries an `ISSUING ENTITY:` section naming CIK 2012786 and the dissemination envelope of the SAME submission carries `<FILER>`, `<DEPOSITOR>` and `<SECURITIZER>` and no issuing-entity section at all. That is a fact about the envelope, not a decoder gap - the same shape as `accepted_at`. The trust is recoverable for any accession from `edgar_filings`, which indexes the submission under the trust's own CIK path.
issuing_entity_nametextThe issuing entity's conformed name - the deal name, and the join key to that trust's own `10-D` distribution reports and `ABS-EE` asset data. Subject to the same envelope asymmetry as `issuing_entity_cik`: NULL on feed-ingested rows, recoverable from `edgar_filings`.
sic_codeintegerThe filing party's SIC code; `6189` (asset-backed securities) on essentially the whole family.
state_of_incorporationtextThe filing party's state or country of incorporation, e.g. `DE`.
document_countintegerNumber of documents in the submission (`PUBLIC DOCUMENT COUNT:`). 1 on a no-activity certification, 3 on a typical due-diligence report, up to 13 when a filer attaches a full exception-grade pack.
exhibitsjsonb · not nullOrdered JSON array of every NON-image document in the submission as `[{"type":…,"sequence":…,"filename":…,"description":…}]`. The `<DESCRIPTION>` is the filer's own label and it is where the repurchase detail is named - `REPURCHASE REPORTING`, `REPORT OF INDEPENDENT ACCOUNTANTS ON APPLYING AGREED-UPON PROCEDURES`, `AMC DUE DILIGENCE EXECUTIVE SUMMARY`. This inventory is how a consumer reaches the underlying table; the table itself is filer-specific HTML and is deliberately not parsed.

Access edgar_abs_securitizer_reports

Two delivery paths, one identifier. Both require an Obscura account and an active subscription; the catalog entry and the schema above are public.

import obscura

client = obscura.Client("obs_live_…")

df = client.query(
    dataset="edgar_abs_securitizer_reports",
    symbols=["NVDA", "AAPL"],
    start="2024-01-01",
)

Create a free account Browse all 122 datasets

Frequently asked questions

What is in the edgar_abs_securitizer_reports dataset?

ABS-15G reports, filed by securitizers under Rules 15Ga-1 and 15Ga-2 on demands to repurchase loans out of a securitisation. The signal is the negative space: EDGAR records three 'no activity' checkboxes in the filing header, so a report with none of them checked is one where investors actually demanded loans be bought back. One **Form ABS-15G** report - the Dodd-Frank Section 15G disclosure a securitizer must make about the representations and warranties on its asset-backed deals, and about the third-party due diligence performed on them. The form carries two different obligations, and `abs_rule` says which: * **`RULE-15GA1`** - the periodic (initial / quarterly / annual) report of **repurchase demands** made on the securitizer for breaches of its representations and warranties. This is the repurchase-demand history: which securitizer, which asset class, which reporting period, and - the column that matters - whether it had anything to report at all. * **`RULE-15GA2`** - the findings and conclusions of a third-party due diligence provider, furnished at the time of a rated ABS offering. # WHAT IS STRUCTURED HERE IS THE HEADER, AND THAT IS WHERE THE SIGNAL IS The body of an ABS-15G is HTML prose, and where a securitizer HAS activity to report the detail arrives as a free-form exhibit table whose shape varies by filer (`REPURCHASE REPORTING`, `AMC EXCEPTION GRADES`, `AMC DATA COMPARE`, …). None of that is a schema, and nothing here invents one. **But EDGAR structures the three no-activity checkboxes itself**, in the submission header, as `<NO-INITIAL-PERIOD-ACTIVITY>`, `<NO-QUARTERLY-ACTIVITY>` and `<NO-ANNUAL-ACTIVITY>` - and they mirror the form's own boxes exactly. `Y` means the securitizer certified it had NO repurchase activity for that period; a `RULE-15GA1` filing with none of them set is a securitizer that DID. That is `reports_repurchase_activity`, and it is the whole repurchase-demand history reduced to one boolean per securitizer per period with no HTML parsing at all. Measured on the 2024-02-14 dissemination day: 152 ABS-15G filings, 147 under Rule 15Ga-1, of which **3 report activity** and 144 certify none. # FOUR PARTIES, ONE ROW EDGAR's header carries up to four separate blocks - `FILER:`, `DEPOSITOR:`, `SECURITIZER:`, `ISSUING ENTITY:` - which are frequently, but not always, the same company. Each is kept as its own CIK/name pair, because the depositor of a shelf and the trust that issued one deal off it are different legal entities and collapsing them would destroy the join. See `docs/datasets/edgar_abs_securitizer_reports.md` and `docs/availability/edgar_abs_securitizer_reports.md`.

How do I avoid look-ahead bias with edgar_abs_securitizer_reports?

Filter on edgar_abs_securitizer_reports.available_date, the day the publisher made the row public. For this dataset that date is derived as follows - filing_join: available_date is the EDGAR DISSEMINATION day, taken from the bronze object's own day partition, never from the header's FILED AS OF DATE. WHY: SEC back-dates FILED AS OF DATE on 4.88 % of the EDGAR corpus, so no collector here may read it as an availability date - but this family is measurably NOT one of the offenders. On the 2024-02-14 dissemination feed all 152 ABS-15G submissions carry FILED AS OF DATE == the dissemination day, zero lag, and the form has no embargo: Rule 15Ga-1 reports are due on a fixed calendar (Feb 14 / quarterly) and are disseminated the day they are filed. The rule is nonetheless the object's own partition, because that is the one mechanism the whole EDGAR family shares and a 4.88 % corpus-wide defect is not something to opt out of on a 152-filing sample. Evidence class B; see docs/availability/edgar_abs_securitizer_reports.md. period_start/period_end are the Rule 15Ga-1 REPORTING WINDOW and are never availability anchors. A query of the form WHERE available_date <= '<as-of date>' never sees a row before it existed.

In what formats can I get edgar_abs_securitizer_reports?

As a Parquet bulk export (POST https://api.obscura.trade/v1/download) or as JSON from the typed query API (POST https://api.obscura.trade/v1/query), both with dataset="edgar_abs_securitizer_reports". The column schema is public at https://api.obscura.trade/v1/catalog/edgar_abs_securitizer_reports.

Can I filter edgar_abs_securitizer_reports by company or symbol?

Yes. edgar_abs_securitizer_reports carries securitizer_cik, the column the API's symbols filter resolves against.

How often is edgar_abs_securitizer_reports updated?

Obscura refreshes edgar_abs_securitizer_reports on a every 6 hours schedule - that is the most frequent scheduled job that re-collects or re-exports the table. It is Obscura's own pipeline cadence, not the upstream publisher's release schedule; when the publisher makes a row available is described by the availability rule above, and is recorded per row in available_date.

Related datasets

CFTC Commitments of Traders (COT)The CFTC's weekly Commitments of Traders report: how commercial, non-commercial and small traders are positioned in each… EPA Environmental Enforcement ActionsEnvironmental enforcement actions and penalties from the EPA's ECHO database. One row per case, with the facility, the s… EPA Regulated Facilities and ComplianceEPA-regulated facilities and their compliance history, from ECHO: one row per facility, with location, industry, permit … 13F Filing MetadataMetadata for every 13F report, the quarterly filing where large institutional managers list their U.S. equity holdings. … 13F Institutional HoldingsThe line-item positions inside each 13F: which manager held which security, and how much, each quarter. Deep history is … 13F Other Included ManagersWhich other manager reports a fund's 13F holdings, from the 13F-NT notices managers file when their positions appear on … SEC 8-K Item Codes and Material EventsThe item numbers reported on each 8-K (5.02 officer changes, 2.01 acquisitions, 1.01 material agreements, and so on), so… Asset-Backed Securities Distributions (Form 10-D)Form 10-D distribution reports for asset-backed securities: which trust paid out, for which distribution period, its dep…