Generic parser for SEC Section 16 ownership forms — Forms 3, 4, and 5 (plus their /A amendments). All three share the ownershipDocument XML schema:
Form 3 - initial statement: holdings only (nonDerivativeHolding / derivativeHolding), no transactions Form 4 - statement of changes: transactions (may also carry holdings) Form 5 - annual statement: transactions and holdings
Registers filing-obj methods for "3" "3/A" "4" "4/A" "5" "5/A".
Usage: (require '[edgar.forms.ownership]) ; side-effectful load registers methods (edgar.filing/filing-obj filing) ;=> {:form "3" :issuer {...} :reporting-owner {...} ; :transactions [...] :holdings [...]}
Generic parser for SEC Section 16 ownership forms — Forms 3, 4, and 5
(plus their /A amendments). All three share the ownershipDocument XML
schema:
Form 3 - initial statement: holdings only (nonDerivativeHolding /
derivativeHolding), no transactions
Form 4 - statement of changes: transactions (may also carry holdings)
Form 5 - annual statement: transactions and holdings
Registers filing-obj methods for "3" "3/A" "4" "4/A" "5" "5/A".
Usage:
(require '[edgar.forms.ownership]) ; side-effectful load registers methods
(edgar.filing/filing-obj filing)
;=> {:form "3" :issuer {...} :reporting-owner {...}
; :transactions [...] :holdings [...]}(parse-ownership-form filing)Parse a Form 3/4/5 (or /A) filing map into a structured map. Returns nil when the filing has no XML document. Otherwise: {:form "3" | "4" | "5" (from the XML documentType; falls back to the filing's :form) :period-of-report "YYYY-MM-DD" :date-of-change "YYYY-MM-DD" (when present) :issuer {:cik ... :name ... :ticker ...} :reporting-owner {:cik ... :name ... :is-director? ... :officer-title ...} :transactions [{:type :non-derivative|:derivative ...} ...] :holdings [{:type :non-derivative|:derivative ...} ...]} Forms 3 have holdings and no transactions; Forms 4/5 mainly transactions, possibly holdings as well.
Parse a Form 3/4/5 (or /A) filing map into a structured map.
Returns nil when the filing has no XML document. Otherwise:
{:form "3" | "4" | "5" (from the XML documentType;
falls back to the filing's :form)
:period-of-report "YYYY-MM-DD"
:date-of-change "YYYY-MM-DD" (when present)
:issuer {:cik ... :name ... :ticker ...}
:reporting-owner {:cik ... :name ... :is-director? ... :officer-title ...}
:transactions [{:type :non-derivative|:derivative ...} ...]
:holdings [{:type :non-derivative|:derivative ...} ...]}
Forms 3 have holdings and no transactions; Forms 4/5 mainly transactions,
possibly holdings as well.cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |