An AI-powered ETF portfolio management tool built with Python and Streamlit. Get personalized ETF recommendations using natural language and manage your portfolio with real-time data.
- AI ETF Recommendations: Describe your investment strategy in plain English and get relevant ETF suggestions
- Portfolio Management: Track your investments with real-time pricing from Yahoo Finance
- Bucket Organization: Group ETFs into themes (Conservative, Growth, etc.)
- Rebalancing Tools: Automatically calculate trades needed to reach target allocations
ETFAdvisor/
├── st_app/           # Main Streamlit application
├── ETF_recommender/  # Core recommendation engine  
├── portfolio.json    # Your portfolio data
└── etf_data_short.json # ETF database with AI embeddings
- 
Install dependencies pip install -r st_app/requirements.txt 
- 
Set up Google Cloud - Create a service account in Google Cloud Console
- Download the key as google_key.jsonin the project root
- Enable Vertex AI API
 
- 
Run the app cd st_app streamlit run st_app.py
- Go to "ETF Recommender" page
- Describe your investment strategy:
- "Growth stocks for long-term investing"
- "Conservative dividend ETFs for retirement"
 
- Review top 5 recommendations
- Add selected ETFs to your portfolio
- Portfolio Overview: See current holdings and performance
- Change Bucket Allocation: Adjust high-level investment themes
- Rebalance Portfolio: Fine-tune individual ETF weights
- Python: Core application language
- Streamlit: Web interface
- Google Vertex AI: Text embeddings for recommendations
- Yahoo Finance: Real-time ETF data
This tool is for educational purposes only. Not financial advice. Always consult professionals before making investment decisions.