Skip to content

v4.32.0: Schedule 13D/G Beneficial Ownership Parsing

Choose a tag to compare

@dgunning dgunning released this 26 Nov 18:46
· 1811 commits to main since this release

Schedule 13D/G Beneficial Ownership Report Parsing

This release adds comprehensive support for parsing Schedule 13D (active ownership) and Schedule 13G (passive institutional ownership) filings.

What's New

  • Complete XML-based parsing for Schedule 13D and Schedule 13G filings
  • Track activist investors and institutional holders with 5%+ stakes in public companies
  • Full support for all disclosure items (Items 1-7 for 13D, Items 1-10 for 13G)
  • Multiple reporting persons support for joint filer arrangements
  • Amendment tracking with ownership change comparison between filings
  • Rich console rendering with formatted signatures display
  • New package: edgar.beneficial_ownership with models, parsers, amendments, and rendering
  • Integration with filing.obj() dispatcher for automatic form type handling
  • Safe numeric parsing handling decimals, commas, and whitespace
  • Frozen dataclasses for immutable data structures
  • Comprehensive type annotations for IDE support
  • 15 tests covering parsing, amendments, rendering, and error handling

Usage

from edgar import Filing

# Access via filing.obj() dispatcher
filing = Filing(form='SCHEDULE 13D', cik='1373604', accession_no='...')
schedule = filing.obj()  # Returns Schedule13D instance

# Access filing details
print(schedule.issuer_info.name)
print(schedule.reporting_persons)
print(schedule.items.item4_purpose_of_transaction)

Impact

Enables tracking of activist campaigns, institutional ownership, and beneficial ownership changes.

See CHANGELOG.md for full details.