Git Product home page Git Product logo

edgr's Introduction

edgr | Makes SEC filings not terrible

Go Report Card Build Status GoDoc License

This project consists of:

  • edgr - a cli tool that can populate a postgres db with SEC filings for use in data analysis projects
  • github.com/edgr/core a go module that requests SEC filers/filings and can be used in other go projects

edgr CLI

The edgr tool makes jumpstarting your data analysis projects that much easier by abstacting away a lot of annoying SEC EDGAR data gathering and parsing. edgr can download, parse full text, and persist large quantities of SEC filings in a pre-configured postgres db.

Installation

edgr supports macOS, linux, and windows systems.

Brew

The preferred way to install, run the following commands in the terminal after installing homebrew

brew tap piquette/edgr
brew install edgr

Download the binary

Distributions for your specific OS can be found on the releases page for this repo.

Build from source

Clone this repository and run make build

Usage

edgr is a standard cli executable. A running/reachable postgres instance is required for proper usage. You can easily run one locally through docker.

docker run -p 5432:5432 -d postgres:9.6

The default parameters for edgr commands will be able to access this instance immediately. Next, we need to set up the proper db tables to store data. In the terminal, run

edgr init

Finally, we need to insert some desired filers into the db so we can pull some filings.

# add the filer.
edgr filers init --symbol AAPL
# download 8-K filings for apple inc.
edgr get --symbol AAPL --form 8-K

Now you can access the raw text and meta-data associated with those filings in the database as you normally would, through other analytical tools or a command-line pg client. Run edgr help for more information regarding commands.

github.com/edgr/core module

Installation

Supports Go v1.13+ and modules. Run the usual

go get -u github.com/piquette/edgr

Usage

There are 3 easy functions

// GetPublicCompanies returns a list of public companies.
func GetPublicCompanies() ([]Company, error) {...}

// GetFiler gets a single filer from the SEC website based on symbol.
func GetFiler(symbol string) (filer *model.Filer, err error) {...}

// GetFilings gets a list of filings for a single CIK.
func GetFilings(cik, formtype, stoptime string) (filings []SECFiling, err error) {...}

edgr's People

Contributors

ackleymi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.