Welcome to FinMind - your comprehensive solution for financial market analysis and data management. 📖 This project was inspired by and featured in the book "[Python 大數據專案 X 工程 X 產品 資料工程師的升級攻略]" ISBN:9789860776522, which provides comprehensive insights into data engineering and financial analysis using Python.
- Data collection from multiple financial sources
- Market trend analysis
- Portfolio management tools
- Real-time market monitoring
finmind/
├── .env # Environment variables
├── .gitignore # Git ignore rules
├── Dockerfile # Docker configuration
├── docker-compose.yml # Docker compose configuration
├── mysql.yml # MySQL container configuration
├── rabbitmq.yml # RabbitMQ container configuration
├── Makefile # Build and deployment commands
├── Pipfile # Python dependencies
├── setup.py # Package setup configuration
├── main.py # FastAPI application
├── scheduler.py # Scheduling service
├── create_table.sql # Database schema
├── financialdata/ # Main package
│ ├── __init__.py
│ ├── config.py # Configuration settings
│ ├── producer.py # Data producer module
│ ├── backend/ # Backend services
│ │ └── db/ # Database modules
│ ├── crawler/ # Data crawlers
│ ├── schema/ # Data schemas
│ └── tasks/ # Celery tasks
└── logs/ # Application logs
- Python 3.7+
- pip
pip install finmindfrom finmind import FinMind
# Initialize
fm = FinMind()
# Get market data
data = fm.get_market_data()- data: Handles data collection from various financial sources
- analysis: Contains market analysis tools and indicators
- models: Implements financial models and calculations
- utils: Provides common utilities and helper functions
To set up the development environment:
git clone https://github.com/yourusername/finmind.git
cd finmind
pip install -e ".[dev]"