I recently realized that edgarWebR 1.0 was released a while ago without much fanfare. 1.0 is a major milestone for the library, bringing the full set of (initial) planned functionality along with some bonus features.
Headline features:
- 100% coverage of SEC search tools.
- Parsing of submissions into component files and 10-x filings into items and parts.
- A dataset of SIC mappings
What’s Next:
- Bugfixes - corner cases keep popping up that need fixing
- Parsing Improvements - I have some ideas about table handling that will help anyone interested in getting data out of older filings
EDGAR Tools
The EDGAR System provides a number of tools for filing and entity lookup and examination. As of v1.0, edgarWebR supports all public search and browse interfaces.
Search Interfaces
Tool | URL | edgarWebR function(s) |
---|---|---|
Company | https://www.sec.gov/edgar/searchedgar/companysearch.html | company_search() , company_information() , company_details() , company_filings() |
Recent Filings | https://www.sec.gov/cgi-bin/browse-edgar?action=getcurrent | latest_filings() |
Full Text | http://searchwww.sec.gov/EDGARFSClient/jsp/EDGAR_MainAccess.jsp | full_text() |
Header Search | https://www.sec.gov/cgi-bin/srch-edgar | header_search() |
Fund Disclosures | https://www.sec.gov/edgar/searchedgar/prospectus.htm | Use company_search() and specify the ‘type’ parameter as 485 |
Fund Voting Records | https://www.sec.gov/edgar/searchedgar/n-px.htm | Use company_search() and specify the ‘type’ parameter as ‘N-PX’ |
Fund Search | https://www.sec.gov/edgar/searchedgar/mutualsearch.html | fund_search() , fund_fast_search() |
Var. Insurance Products | https://www.sec.gov/edgar/searchedgar/vinsurancesearch.html | variable_insurance_search() , variable_insurance_fast_search() |
Confidential treatment orders | https://www.sec.gov/edgar/searchedgar/ctorders.htm | Use header_search() , company_search() , latest_filings() , or full_text() and use form types ‘CT ORDER’ |
Effectiveness notices | https://www.sec.gov/cgi-bin/browse-edgar?action=geteffect | effectiveness() |
CIK | https://www.sec.gov/edgar/searchedgar/cik.htm | cik_search() |
Daily Filings | https://www.sec.gov/edgar/searchedgar/currentevents.htm | current_events() |
Correspondence | https://www.sec.gov/answers/edgarletters.htm | Use header_search() , company_search() , latest_filings() , or full_text() and use form types ‘upload’ or ‘corresp’ |
Once a filing is found via any of the above, there are a number of functions to process the result -
filing_documents()
filing_filers()
filing_funds()
filing_information()
filing_details()
- returns all 4 of the filing components in a list.
Parsing Tools
While edgarWebR is primarily focused on providing an interface to the online SEC tools, there are a few activities for handling filing documents for which no current tools exist.
parse_submission()
- takes a full submission SGML document and parses out component documents. Most of the time, the documents of interest in a particular submission will be online and accessible viafiling_documents()
- this function is to unpack the raw submission to get all the documents. You may also find it more efficient if you’re regularly downloading all of the files in a given submission.parse_filing()
- Takes a HTML narrative filing and annotates each paragraph with item and part numbers.
Data Sets
There is one dataset provided with edgarWebR, sic_codes
, providing a catalog of SIC codes and their hierarchy.
URL Tools
There are also a number of utility functions to help construct useful URL’s once you have a company CIK, submission accession number or specific file.
company_href()
for linking to the company pagesubmission_index_href()
and its family of related functions for linking to a specific submission and file.
Installation
edgarWebR is available from CRAN, so can be simply installed via
install.packages("edgarWebR")
To install the development version,
# Install the development version from GitHub:
# install.packages("devtools")
devtools::install_github("mwaldstein/edgarWebR")
Contributing
If you’ve found this package helpful, contributions are always appreciated at the page on github:
- Bug Reports
- Code improvements
- Documentation
I’m also always excited to hear about how the package is being used. If this package has helped you in any way, drop me a note!