Deep Analysis And Portfolio Simulation
Go to file
2025-05-24 23:24:40 +00:00
.streamlit/.streamlit Initial commit: ETF Portal with Portfolio Builder and Analyzer components 2025-05-24 14:15:07 +00:00
cache Initial commit: ETF Portal with Portfolio Builder and Analyzer components 2025-05-24 14:15:07 +00:00
pages Initial commit for fixing broken code: - Fixed ETF_Analyzer page config issue - Updated ETF_Portfolio_Builder with improved error handling and data validation 2025-05-24 23:24:40 +00:00
.gitignore Initial commit: ETF Portal with Portfolio Builder and Analyzer components 2025-05-24 14:15:07 +00:00
Caddyfile Initial commit: ETF Portal with Portfolio Builder and Analyzer components 2025-05-24 14:15:07 +00:00
docker-compose.yml refactor: remove obsolete version attribute from docker-compose.yml 2025-05-24 15:03:33 +00:00
Dockerfile Initial commit: ETF Portal with Portfolio Builder and Analyzer components 2025-05-24 14:15:07 +00:00
etf_suite_cli.py Initial commit: ETF Portal with Portfolio Builder and Analyzer components 2025-05-24 14:15:07 +00:00
ETF_Suite_Launcher.py Initial commit: ETF Portal with Portfolio Builder and Analyzer components 2025-05-24 14:15:07 +00:00
README.md Add README.md from backup 2025-05-24 14:16:32 +00:00
requirements.txt Initial commit: ETF Portal with Portfolio Builder and Analyzer components 2025-05-24 14:15:07 +00:00
setup.py Initial commit: ETF Portal with Portfolio Builder and Analyzer components 2025-05-24 14:15:07 +00:00

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
  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