new realt module
This commit is contained in:
131
NN/README.md
Normal file
131
NN/README.md
Normal file
@@ -0,0 +1,131 @@
|
||||
# Neural Network Trading System
|
||||
|
||||
A comprehensive neural network trading system that uses deep learning models to analyze cryptocurrency price data and generate trading signals.
|
||||
|
||||
## Architecture Overview
|
||||
|
||||
This project implements a 500M parameter neural network system using a Mixture of Experts (MoE) approach. The system consists of:
|
||||
|
||||
1. **Data Interface**: Connects to real-time trading data from `realtime.py` and processes it for the neural network models
|
||||
2. **CNN Module (100M parameters)**: A deep convolutional neural network for feature extraction from time series data
|
||||
3. **Transformer Module**: Processes high-level features and raw data for improved pattern recognition
|
||||
4. **Mixture of Experts (MoE)**: Coordinates the different models and combines their predictions
|
||||
|
||||
The system is designed to identify buy/sell opportunities in cryptocurrency markets by analyzing patterns in historical price and volume data.
|
||||
|
||||
## Components
|
||||
|
||||
### Data Interface
|
||||
|
||||
- Located in `NN/utils/data_interface.py`
|
||||
- Provides seamless access to historical and real-time data from `realtime.py`
|
||||
- Preprocesses data for neural network consumption
|
||||
- Supports multiple timeframes and features
|
||||
|
||||
### CNN Model
|
||||
|
||||
- Located in `NN/models/cnn_model.py`
|
||||
- Implements a deep convolutional network for time series analysis
|
||||
- Uses multiple parallel convolutional layers to detect patterns at different time scales
|
||||
- Includes bidirectional LSTM layers for sequence modeling
|
||||
- Optimized for financial time series data
|
||||
|
||||
### Transformer Model
|
||||
|
||||
- Located in `NN/models/transformer_model.py`
|
||||
- Uses self-attention mechanism to process time series data
|
||||
- Takes both raw data and high-level features from the CNN as input
|
||||
- Better at capturing long-range dependencies in the data
|
||||
|
||||
### Orchestrator
|
||||
|
||||
- Located in `NN/main.py`
|
||||
- Coordinates data flow between the models
|
||||
- Implements training and inference pipelines
|
||||
- Provides a unified interface for the entire system
|
||||
|
||||
## Usage
|
||||
|
||||
### Requirements
|
||||
|
||||
- TensorFlow 2.x
|
||||
- NumPy
|
||||
- Pandas
|
||||
- Matplotlib
|
||||
- scikit-learn
|
||||
|
||||
### Training the Model
|
||||
|
||||
To train the neural network on historical data:
|
||||
|
||||
```bash
|
||||
python -m NN.main --mode train --symbol BTC/USDT --timeframes 1h 4h 1d --epochs 100
|
||||
```
|
||||
|
||||
### Making Predictions
|
||||
|
||||
To make one-time predictions:
|
||||
|
||||
```bash
|
||||
python -m NN.main --mode predict --symbol BTC/USDT --timeframe 1h --model_type cnn
|
||||
```
|
||||
|
||||
### Running Real-time Analysis
|
||||
|
||||
To continuously analyze the market and generate signals:
|
||||
|
||||
```bash
|
||||
python -m NN.main --mode realtime --symbol BTC/USDT --timeframe 1h --interval 60
|
||||
```
|
||||
|
||||
## Model Architecture Details
|
||||
|
||||
### CNN Architecture
|
||||
|
||||
The CNN model uses a multi-scale approach with three parallel convolutional pathways:
|
||||
- Short-term patterns: 3x1 kernels
|
||||
- Medium-term patterns: 5x1 kernels
|
||||
- Long-term patterns: 7x1 kernels
|
||||
|
||||
These pathways are merged and processed through deeper convolutional layers, followed by LSTM layers to capture temporal dependencies.
|
||||
|
||||
### Transformer Architecture
|
||||
|
||||
The transformer model uses:
|
||||
- Multi-head self-attention layers to capture relationships between different time points
|
||||
- Layer normalization and residual connections for stable training
|
||||
- A feed-forward network for final classification/regression
|
||||
|
||||
### Mixture of Experts
|
||||
|
||||
The MoE model:
|
||||
- Combines predictions from CNN and Transformer models
|
||||
- Uses a weighted average approach for signal generation
|
||||
- Can be extended with additional expert models
|
||||
|
||||
## Training Data
|
||||
|
||||
The system uses historical OHLCV (Open, High, Low, Close, Volume) data at different timeframes:
|
||||
- 1-minute candles for short-term analysis
|
||||
- 1-hour candles for medium-term trends
|
||||
- 1-day candles for long-term market direction
|
||||
|
||||
## Output
|
||||
|
||||
The system generates one of three signals:
|
||||
- BUY: Indicates a potential buying opportunity
|
||||
- HOLD: Suggests maintaining current position
|
||||
- SELL: Indicates a potential selling opportunity
|
||||
|
||||
## Development
|
||||
|
||||
### Adding New Models
|
||||
|
||||
To add a new model type:
|
||||
1. Create a new class in the `NN/models` directory
|
||||
2. Implement the required interface (build_model, train, predict, etc.)
|
||||
3. Update the orchestrator to include the new model
|
||||
|
||||
### Customizing Parameters
|
||||
|
||||
Key parameters can be customized through command-line arguments or by modifying the configuration in `main.py`.
|
||||
Reference in New Issue
Block a user