https://github.com/saherpathan/sec_edgar_filings
Analysis and visualization 10-K filings (annual reports) of companies
https://github.com/saherpathan/sec_edgar_filings
api google-generative-ai nltk python sec-edgar-downloader streamlit
Last synced: 2 months ago
JSON representation
Analysis and visualization 10-K filings (annual reports) of companies
- Host: GitHub
- URL: https://github.com/saherpathan/sec_edgar_filings
- Owner: Saherpathan
- Created: 2024-05-10T18:48:35.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-08-16T18:37:27.000Z (almost 2 years ago)
- Last Synced: 2025-01-20T04:35:41.979Z (over 1 year ago)
- Topics: api, google-generative-ai, nltk, python, sec-edgar-downloader, streamlit
- Language: Jupyter Notebook
- Homepage:
- Size: 49.5 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SEC 10-K Filings Data
This Python script lets you download SEC 10-K filings for specified companies from the SEC website using the `sec-edgar-downloader` package.
## Requirements
- Python 3.x
- `sec-edgar-downloader` package (install using `pip install sec-edgar-downloader`)
- LLM API Key
## Task 1.1: Fetch the data
1. Clone this repository to your local machine using
```bash
git clone https://github.com/Saherpathan/FinTech.git
3. Open a terminal or command prompt and navigate to the directory containing the script.
4. Run the script using:
```bash
python fetch_data.py
## Notes
- Please ensure you have proper permissions and internet connectivity to access the SEC website for downloading filings.
- Make sure to handle any errors during the download process.
- You can customize the list of companies/tickers and the time range as per the requirement.
## Task 1.2: Text Analysis
- Used LLM API from `google-generativeai` to perform text analysis on the downloaded 10-K filings.
- Conducted natural language processing tasks such as tokenization, stop words removal, and frequency distribution calculation using `nltk`.
- Generated visualizations using `matplotlib`.
## Task 2: Construct and Deploy Simple App
- Created a simple app using `streamlit` that takes a company ticker as input and displays relevant visualizations.
- `streamlit` was chosen for its simplicity and ease of hosting web apps, allowing for quick deployment.
- Run the application using:
```bash
streamlit run app.py