ChomoSyncer is a high-performance market data synchronizer for Binance. It retrieves real-time cryptocurrency candlestick (Kline) data and distributes it via Redis while storing it in MongoDB. It supports a multi-threaded and asynchronous architecture, making it suitable for quantitative trading, data analysis, and backtesting scenarios.
- Real-time market data sync: Combines WebSocket and REST API to fetch multi-symbol Kline data with low latency.
- Multi-timeframe support: Handles multiple intervals such as 1m, 15m, 1h, and 4h simultaneously.
- Data distribution & persistence: Uses Redis Stream for real-time data distribution and MongoDB for long-term storage.
In addition to real-time data synchronization, this repository also provides a pre-collected cryptocurrency dataset used in research and backtesting.
- Kline dataset (historical data):
https://drive.google.com/file/d/11J7LR7qp3cVVwsJgQmsWuiw3Tge-QVFV/view
- The dataset is provided under exchange data usage terms.
- For the most up-to-date data, users are encouraged to run ChomoSyncer directly to collect real-time data from Binance.
git clone https://github.com/GeekChomolungma/ChomoSyncer.git
cd ChomoSyncerChomoSyncer depends on MongoDB and Redis for storage and message queue functionality. Please install and start them locally or on a remote server before running ChomoSyncer:
- MongoDB: Official Installation Guide
- Redis: Official Installation Guide
Make sure both services are accessible using the connection parameters defined in your configuration file.
Refer to the Windows installation guide for detailed steps.
Refer to the Ubuntu installation guide for detailed steps.
-
Edit
config.inito configure Binance API, Redis, MongoDB, and other parameters(see conmments in config.ini) -
Start the program:
./ChomoSyncer
-
The program will start syncing market data, distributing it through Redis, and persisting it to MongoDB.
Contributions are welcome! You can submit PRs, report bugs, or suggest improvements. Please ensure the code builds successfully and follows the project's code style and commit guidelines before submission.
MIT License
