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.