This project implements an advanced system for analyzing and predicting cryptocurrency trading volumes using LSTM neural networks. It's designed to provide our exchange with insights into future market activity, helping to optimize resources and improve trading strategies.
- Real-time data fetching from our exchange API
- LSTM-based deep learning model for volume prediction
- Customizable timeframes and cryptocurrencies
- Visualization tools for analysis results
- Python 3.8+
- TensorFlow 2.4+
- pandas
- numpy
- ccxt
- matplotlib (for visualization)
-
Clone this repository:
git clone https://github.com/selimozten/atvap.git
-
Navigate to the project directory:
cd crypto-volume-analysis
-
Create a virtual environment:
python -m venv venv
-
Activate the virtual environment:
- On Windows:
venv\Scripts\activate
- On macOS and Linux:
source venv/bin/activate
- On Windows:
-
Install the required packages:
pip install -r requirements.txt
-
Copy the
config.example.yml
file toconfig.yml
and fill in your API credentials:cp config.example.yml config.yml
-
To run the main analysis script:
python main.py
-
To customize the analysis, edit the parameters in
config.yml
:exchange
: The exchange to fetch data from (default: our internal exchange)symbol
: The trading pair to analyze (e.g., "BTC/USDT")timeframe
: The candlestick timeframe (e.g., "1h" for 1 hour)look_back
: The number of past periods to consider for prediction
-
To visualize results:
python visualize.py
main.py
: The main script for data fetching, model training, and predictiondata_fetcher.py
: Module for fetching and preprocessing datamodel.py
: Definition of the LSTM modelutils.py
: Utility functions for data manipulation and analysisvisualize.py
: Script for generating visualizations of resultsconfig.yml
: Configuration file for project parameterstests/
: Directory containing unit tests
-
Create a new branch for your feature or bugfix:
git checkout -b feature/your-feature-name
-
Make your changes and commit them with a descriptive message:
git commit -am "Add new feature: your feature description"
-
Push your changes to the repository:
git push origin feature/your-feature-name
-
Create a pull request in our internal GitLab/GitHub instance for review.
-
After review and approval, your changes will be merged into the main branch.
To run the test suite:
python -m pytest tests/
Ensure all tests pass before submitting a pull request.
For more detailed internal documentation, including API specifications and model architecture details, please refer to the docs/
directory in this repository.
For any questions or issues, please contact the Data Science team or create an issue in this repository.