A modern, AI-powered stock and cryptocurrency trading platform built with Streamlit and Python. Finch offers real-time market data, portfolio management, AI-assisted trading insights, and secure user authentication.
- Real-time stock and cryptocurrency trading
- Portfolio tracking and analysis
- Interactive charts using TradingView integration
- Transaction history and performance metrics
- AI-powered trading assistant for market insights
- Real-time stock prices and market data via yfinance
- Cryptocurrency data through CoinMarketCap API
- Advanced technical analysis tools
- News integration through NewsAPI
- Comprehensive market metrics and indicators
- Secure user authentication with SHA256 encryption
- Location-based login tracking
- Multi-device session management
- Balance verification and transaction security
- Protected API key management through Streamlit secrets
- Modern, responsive dark theme UI
- Real-time portfolio updates
- Interactive stock cards and crypto listings
- Embedded Spotify player for ambient trading
- AI chatbot for trading assistance
- Frontend: Streamlit, HTML, CSS
- Backend: Python, SQLite
- Database: SQLite3
- APIs:
- yfinance (Stock data)
- CoinMarketCap (Crypto data)
- NewsAPI (Financial news)
- IP-API (Location tracking)
- OpenAI (AI assistant)
- Spotify (Music integration)
- Clone the repository:
git clone https://github.com/yourusername/finch-trading.git
cd finch-trading
- Install required packages:
pip install -r requirements.txt
- Set up your environment variables in
.streamlit/secrets.toml
:
[api_keys]
X-CMC_PRO_API_KEY = "your_coinmarketcap_api_key"
NEWS_API_KEY = "your_news_api_key"
OPENAI_API_KEY = "your_openai_api_key"
ALPHA_VANTAGE_API_KEY = "your_alphavantage_api_key"
- Run the application:
streamlit run app.py
finch-trading/
├── app.py # Main application file
├── database/ # Database management
│ ├── connection.py # Database connection
│ └── db_manager.py # Database operations
├── models/ # Data models
│ ├── stock.py # Stock data handling
│ └── crypto_data.py # Cryptocurrency data handling
├── utils/ # Utility functions
│ ├── formatters.py # Data formatting
│ └── stock_utils.py # Stock-related utilities
├── views/ # UI components
│ ├── trading.py # Trading interface
│ ├── portfolio.py # Portfolio management
│ ├── crypto.py # Cryptocurrency interface
│ ├── news.py # News feed
│ └── ai_assistant.py # AI trading assistant
└── resources/ # Static resources
The platform integrates multiple APIs for comprehensive market data:
- yfinance: Real-time stock market data
- CoinMarketCap: Cryptocurrency pricing and metrics
- NewsAPI: Financial news and market updates
- OpenAI: AI-powered trading insights
- IP-API: User location tracking
- Password hashing using SHA256
- Session state management
- Location-based login tracking
- API key protection using Streamlit secrets
- Regular balance verification and syncing
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- TradingView for chart widgets
- Streamlit for the web framework
- All API providers for their services