deep-trading-agent  by samre12

Bitcoin trading agent using deep reinforcement learning

created 7 years ago
779 stars

Top 45.7% on sourcepulse

GitHubView on GitHub
Project Summary

This repository provides a deep reinforcement learning agent for Bitcoin trading, targeting researchers and practitioners interested in algorithmic trading strategies. It leverages the DeepSense network for Q-function approximation to maximize trading rewards.

How It Works

The agent employs a Deep Q-Learning approach, inspired by existing work in simplified single-asset trading. It learns to take one of three actions: neutral, long, or short, to maximize accumulated rewards. The Q-function approximation is handled by the DeepSense architecture, adapted for single time-series Bitcoin data. The preprocessing pipeline filters and formats per-minute Bitcoin price data, using past price history to represent the current state.

Quick Start & Requirements

  • Install/Run: Docker is the primary method.
    • docker pull samre12/deep-trading-agent:latest
    • docker run -p 6006:6006 -it samre12/deep-trading-agent:latest
    • Alternatively, build locally: docker build -t deep-trading-agent . then docker run -p 6006:6006 -it deep-trading-agent
  • Prerequisites: Python 2.7, Tensorflow (version 1.1.0), Pandas, tqdm. Docker is recommended for simplified setup.
  • Resources: Training logs via Tensorboard (port 6006).
  • Links: Wiki, Docker Hub, Dataset

Highlighted Details

  • Deep Q-Trading model adapted with DeepSense architecture.
  • Uses per-minute Bitcoin price series data.
  • Preprocessing filters continuous price blocks based on state and horizon length.
  • Supports Tensorboard for monitoring training progress.

Maintenance & Community

  • Project appears to be a personal project with a "ToDo" list indicating ongoing development. No explicit community channels or notable contributors are listed.

Licensing & Compatibility

  • The README does not explicitly state a license. The project's dependencies (Tensorflow 1.1.0) may have their own licensing implications.

Limitations & Caveats

The project specifies Python 2.7 and Tensorflow 1.1.0, which are outdated and may present compatibility issues with modern systems and libraries. The preprocessing filters out blocks with insufficient history, potentially reducing the usable dataset size.

Health Check
Last commit

7 years ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
15 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.