A command-line tool to track your stock portfolio and get AI-powered investment analysis.
- 📊 Portfolio Management: Add and remove stock positions with purchase prices
- 💹 Real-time Data: Fetch current stock prices using Alpha Vantage API
- 🤖 AI Analysis: Get intelligent insights using Groq's LLM (llama-3.3-70b-versatile)
- 📧 Email Reports: Send HTML-formatted reports with AI analysis via email
- ⚡ Smart Caching: 15-minute cache to reduce API calls
- 🐳 Docker Support: Containerized deployment with automated scheduled reports
pip install stock-tracker-cli
git clone https://github.com/Chukwuebuka-2003/stock_cli.git
cd stock_cli
pip install -e .
# Setup Groq API key for AI analysis
stock-tracker setup-ai
# Setup Alpha Vantage API key for stock data
stock-tracker setup-alpha-vantage
# Setup email settings (optional, for email reports)
stock-tracker setup-email
Get Free API Keys:
- Groq: https://console.groq.com/
- Alpha Vantage: https://www.alphavantage.co/support/#api-key
# Add a stock position
stock-tracker add AAPL 10 150.00
# Arguments: SYMBOL QUANTITY PURCHASE_PRICE
stock-tracker add MSFT 5 300.00
stock-tracker add GOOGL 3 2800.00
# View portfolio report in terminal
stock-tracker report
# Get AI-powered analysis
stock-tracker ai-report
# Send AI report via email
stock-tracker ai-report --email [email protected]
# Add a stock position
stock-tracker add <SYMBOL> <QUANTITY> <PURCHASE_PRICE>
# Remove a stock position
stock-tracker remove <SYMBOL>
# Generate plain text report
stock-tracker report
# Generate AI-powered analysis report
stock-tracker ai-report [--email EMAIL]
# Configure Groq API key
stock-tracker setup-ai
# Configure Alpha Vantage API key
stock-tracker setup-alpha-vantage
# Configure email settings
stock-tracker setup-email
Stock Portfolio Report
Generated on: 2025-11-09 10:30:00
╔════════╦══════════╦════════════════╦═══════════════╦════════════╦═════════════════╗
║ Symbol ║ Quantity ║ Purchase Price ║ Current Price ║ Value ║ Gain/Loss (%) ║
╠════════╬══════════╬════════════════╬═══════════════╬════════════╬═════════════════╣
║ AAPL ║ 10.0 ║ $150.00 ║ $178.50 ║ $1,785.00 ║ +$285.00 (+19%) ║
║ MSFT ║ 5.0 ║ $300.00 ║ $385.20 ║ $1,926.00 ║ +$426.00 (+28%) ║
║ GOOGL ║ 3.0 ║ $2,800.00 ║ $2,950.00 ║ $8,850.00 ║ +$450.00 (+5%) ║
╚════════╩══════════╩════════════════╩═══════════════╩════════════╩═════════════════╝
Portfolio Summary:
Total Value: $12,561.00
Total Gain/Loss: +$1,161.00 (+10.2%)
# Build the image
docker-compose build
# Run one-time report
docker-compose run stock-tracker stock-tracker report
# Run with scheduled reports (daily at 4:30 PM UTC on weekdays)
docker-compose up -d cron
Create a .env file:
GROQ_API_KEY=your_groq_api_key
ALPHA_VANTAGE_API_KEY=your_alpha_vantage_key
EMAIL_SMTP_SERVER=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USERNAME=[email protected]
EMAIL_PASSWORD=your_app_password
EMAIL_RECIPIENT=[email protected]
The CLI stores data in platform-specific directories:
- Linux: ~/.config/StockTrackerCLI/ and ~/.local/share/StockTrackerCLI/
- macOS: ~/Library/Application Support/StockTrackerCLI/
- Windows: %LOCALAPPDATA%\StockTrackerCLI\
- config.json - API keys and email settings
- positions.json - Your stock positions
- cache.json - Cached stock data (15-minute expiry)
- logs/stock_tracker.log - Application logs
- Python 3.8 or higher
- Internet connection for API access
- API keys:
- Groq API (for AI analysis)
- Alpha Vantage API (for stock data)
- SMTP server access (optional, for email reports)
- click - CLI framework
- pandas - Data manipulation
- groq - AI inference
- alpha-vantage - Stock data API
- python-dateutil - Date utilities
- appdirs - Cross-platform directories
For Gmail users, you'll need to use an App Password:
- Enable 2-factor authentication on your Google account
- Go to https://myaccount.google.com/apppasswords
- Generate an app password for "Mail"
- Use this app password when running stock-tracker setup-email
MIT License - see LICENSE file for details
Chukwuebuka Ezeokeke - GitHub
Contributions are welcome! Please feel free to submit a Pull Request.
Found a bug? Please report it on the GitHub Issues page.
.png)

