Skip to main content

Download historical filing data directly from the United States Securities Exchange Commission (SEC)!

Project description

finsec

Download historical filing data directly from the United States (U.S.) Securities Exchange Commission (SEC).

finsec_logo

[!IMPORTANT]
finsec is not affiliated, endorsed, or vetted by the United. States. Securities Exchange Commission. It's an open-source tool that uses the SEC's publicly available APIs. This tool is intended for research and informational purposes only. It should not be used for making financial decisions. Always consult with a qualified financial advisor for investment guidance. You should refer to SEC Edgar's website for more details (here)

Python version PyPi version PyPi status PyPi downloads Star this repo

Python package

Blogs

Check out the following blog post for a detailed tutorial on how finsec has been used to aid with analysing the performance of some of the world's most prestigious hedge funds:
Unravelling investment fund manager strategies through 13f SEC filings.

Quickstart

Review 13F filings for Berkshire Hathaway CIK 0001067983

import finsec
filing = finsec.Filing('0001067983')    # Optional declared user variable can be input here (e.g. declared_user="Joe Blog Joe.Blog@gmail.com")

# Return the latest 13F reported holdings for Berkshire Hathaway.
print(filing.latest_13f_filing)

Output:

Name of issuer Title of class CUSIP Share or principal type Holding value Share or principal amount count
0 ACTIVISION BLIZZARD INC COM 00507V109 SH 4470946000 60141866
1 ALLY FINL INC COM 02005N100 SH 834901000 30000000
2 AMAZON COM INC COM 023135106 SH 1205258000 10666000

Note: Using the latest_13f_filing function will return the the latest "simplified" version of the 13F Information Table, this works well in most instances... However, there are some who may want to have a more detailed breakdown of the filing. Such as, which investment manager was responsible for investing in the security and the voting authority type granted. This can be handled with the function latest_13f_filing_detailed (below).

# Return the latest detailed 13F reported holdings for Berkshire Hathaway.
print(filing.latest_13f_filing_detailed)

Output:

Name of issuer Title of class CUSIP Holding value Share or principal type Share or principal amount count Put or call Investment discretion Other manager Voting authority sole count Voting authority shared count Voting authority none count
0 ACTIVISION BLIZZARD INC COM 00507V109 1906458000 SH 25645116 DFND 4,8,11 25645116 0 0
1 ACTIVISION BLIZZARD INC COM 00507V109 85095000 SH 1144672 DFND 4,10 1144672 0 0
2 ACTIVISION BLIZZARD INC COM 00507V109 2479393000 SH 33352078 DFND 4,11 33352078 0 0
# Return the latest 13F cover page details for Berkshire Hathaway.
filing.latest_13f_filing_cover_page

#Output
{'filing_manager': 'Berkshire Hathaway Inc', 'business_address': '3555 Farnam Street, Omaha, NE, 68131', 'submission_type': '13F-HR', 'period_of_report': '09-30-2022', 'signature_name': 'Marc D. Hamburg', 'signature_title': 'Senior Vice President', 'signature_phone': '402-346-1400', 'signature_city': 'Omaha', 'signature_state': 'NE', 'signature_date': '11-14-2022', 'portfolio_value': 296096640000, 'count_holdings': 179}

# Return the attributes of a specific 13F filing for the specified cik. In the below example we are looking to grab the cover page, full holdings table and simplified holdings table for Berkshire for Q2-2022 (Calendar Year). 
q2_cover_page, q2_holdings_table, q2_simplified_holdings_table = filing.get_a_13f_filing("Q2-2022")
print(q2_cover_page)
print(q2_holdings_table)
print(q2_simplified_holdings_table)

# Return the json object containing all 13F filings that are stored as part of the filing object (note this includes everything we've searched for so far).
filing.filings

# Write filings to excel. Record everything we've looked at to Excel. 
filing.filings_to_excel

Installation

Install finsec using pip:

$ pip install finsec

Requirements

Note that the above packages will be downloaded automatically using pip.

Author

Stephen Hogg

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

finsec-0.0.12.tar.gz (18.2 kB view details)

Uploaded Source

Built Distribution

finsec-0.0.12-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

Details for the file finsec-0.0.12.tar.gz.

File metadata

  • Download URL: finsec-0.0.12.tar.gz
  • Upload date:
  • Size: 18.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for finsec-0.0.12.tar.gz
Algorithm Hash digest
SHA256 901ceb57b93f0ea6fde98b045787e38e9e5a7c79a7da6b08129588cf236d30ea
MD5 d775f1b92a4c9791e6356f94f8d0b928
BLAKE2b-256 d2d6dcb7964bd679fe97dcc44ed6c96acd24f2c82124c65edeeac1ea5801c96d

See more details on using hashes here.

File details

Details for the file finsec-0.0.12-py3-none-any.whl.

File metadata

  • Download URL: finsec-0.0.12-py3-none-any.whl
  • Upload date:
  • Size: 14.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for finsec-0.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 550b05e7ee7391d13a098f45dd7d8c1abb60ea9611bcf02ddcee470aaded070a
MD5 15e8ae48d1ecbefafbb5242591eacfcf
BLAKE2b-256 3c7fddfb3d369b8b7ec4db119fb28a45397037502a49b29f0b3f85a5df095188

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page