ETF_Suite_Portal/README.md
2025-05-24 14:16:32 +00:00

115 lines
2.9 KiB
Markdown

# ETF Dividend Portfolio Builder
A comprehensive tool for discovering, analyzing, and building dividend-focused ETF portfolios using real-time market data.
## Features
- **ETF Discovery & Filtering**: Find ETFs based on yield, category, AUM, and other criteria
- **Portfolio Builder**: Create balanced portfolios with custom allocations
- **DRIP Calculator**: Project growth with dividend reinvestment
- **Economic Comparison**: Compare DRIP vs. No-DRIP strategies with accurate capital recovery calculation
- **Risk Assessment**: AI-powered analysis of NAV and yield erosion risks
- **PDF Reports**: Generate downloadable PDF reports of your portfolio analysis
- **ETF Analyzer**: Detailed analysis of individual ETFs including holdings, sectors, and dividend history
- **CLI Tool**: Command-line interface for managing the ETF Suite applications
## Requirements
- Python 3.8+
- Streamlit
- Financial Modeling Prep API key (paid subscription)
- Pandas, Numpy, Plotly, and other dependencies
## Setup
1. Clone the repository
2. Install dependencies:
```
pip install -r requirements.txt
```
3. Get an API key from [Financial Modeling Prep](https://financialmodelingprep.com/developer/docs/)
4. Create a `.streamlit/secrets.toml` file with your API key:
```
fmp_api_key = "YOUR_API_KEY_HERE"
```
5. Install the ETF Suite CLI:
```
pip install -e .
```
6. Run the application using the CLI:
```
etf-suite start --component all
```
## ETF Suite CLI
The ETF Suite CLI provides a convenient way to manage the different components of the ETF Suite from the command line.
### Installation
```
pip install -e .
```
### Usage
```
# Start the entire ETF Suite (Launcher, Portfolio Builder, Analyzer)
etf-suite start --component all
# Start just the ETF Analyzer
etf-suite start --component analyzer
# Start without opening browser automatically
etf-suite start --component launcher --no-browser
# Start in background mode (daemon)
etf-suite start --component all --background
# Stop all running ETF Suite components
etf-suite stop
# Stop a specific component
etf-suite stop --component portfolio_builder
# Restart all components
etf-suite restart
# Restart a specific component
etf-suite restart --component analyzer
# Restart in background mode
etf-suite restart --background
# Check status of running components
etf-suite status
# View recent logs
etf-suite logs
# Update configuration
etf-suite config --key ports.launcher --value 8600
```
## Usage
1. Set your initial capital amount
2. Use the filters to discover ETFs based on your criteria
3. Add ETFs to your portfolio and adjust allocations
4. Run the analysis to see projections and comparisons
5. Generate a PDF report for your records
## Data Source
This application uses the Financial Modeling Prep (FMP) API for real-time ETF data, including:
- ETF listings and details
- Price and dividend history
- Fundamental data
## License
MIT License
## Author
Pascal