Skip to content
This repository has been archived by the owner on Apr 15, 2019. It is now read-only.
/ merlin Public archive

A system for accessing company finance data from EDGAR.

Notifications You must be signed in to change notification settings

hulloitskai/merlin

Repository files navigation

Archive Notice

Since this project is no longer needed by the RCFTA, I'm now deprecating it. This project will no longer be maintained.

merlin

Github: Tag Travis: Build Go Report Card

A system for accessing company finance data from EDGAR.

Deployment API
https://merlin.stevenxie.me https://merlin.stevenxie.me/api

API

Endpoint Description
/ API server information.
/filings/:ticker/ Company filings (CIK and accession numbers) for a given ticker.
/filings/:ticker/latest/10k Latest 10-K filing for a given ticker.
/sheets/:cik/:acc-num Balance sheet data for a given CIK and accession number.
/notes/:cik/:acc-num Financial notes for a given CIK and accession number.

When accessing merlin on the production server at https://merlin.stevenxie.me, all API requests must be prefixed with /api.

For example, to access the API root (/), one would visit /api/ instead.

Examples

Company Filings:

GET https://merlin.stevenxie.me/api/filings/MSFT/

{
  "CIK": "0000789019",
  "filings": [
    {
      "type": "8-K",
      "description": "Current report",
      "date": "2018-11-29",
      "accessionNumber": "0001193125-18-337951"
    }
    // ...
  ]
}

GET https://merlin.stevenxie.me/api/filings/MSFT/latest/10k

{
  "CIK": "0000789019",
  "filing": {
    "type": "10-K",
    "description": "Annual report [Section 13 and 15(d), not S-K Item 405]",
    "date": "2016-07-28",
    "accessionNumber": "0001193125-16-662209"
  }
}

Balance Sheets:

GET https://merlin.stevenxie.me/api/sheets/1318605/0001564590-18-002956

[
  {
    "CIK": "1318605",
    "accessionNumber": "0001564590-18-002956",
    "date": "Dec. 31, 2017",
    "sections": {
      "currentAssets": [
        {
          "name": "Cash and cash equivalents",
          "value": "$ 3,367,914"
        }
        // ...
      ]
    }
  }
  // ...
]

Financial Notes:

GET https://merlin.stevenxie.me/api/notes/1318605/0001564590-18-002956

[
  {
    "id": 1,
    "title": "Overview",
    "link": "https://www.sec.gov/Archives/edgar/data/1318605/000156459018002956/R9.htm"
  }
  // ...
]

Deployment

To deploy merlin with Kubernetes, see the Kubernetes resource configurations in the deployment/ directory.

To deploy merlin using Helm, please see the README at deployment/charts/.

TODOs

  • Add an endpoint for parsing a balance sheet corresponding to a CIK + accession number.
  • Add an endpoint for parsing financial notes corresponding to a CIK + accession number.
  • Add sample frontend.
  • Add an endpoint for mapping tickers to CIKs.
  • Add an endpoint for listing accNums for a given CIK.
  • Try a new information extraction strategy using XLSX financial reports (like this).
  • Add result caching using Redis to improve speeds.

Further Notices