a3c_trading  by evgps

RL trading agent based on a research paper

created 7 years ago
437 stars

Top 69.3% on sourcepulse

GitHubView on GitHub
Project Summary

This repository provides an implementation of trading strategies using asynchronous advantage actor-critic (A3C) reinforcement learning. It is intended for researchers and practitioners interested in applying deep learning to algorithmic trading problems. The project aims to demonstrate how recurrent neural networks within an A3C framework can learn profitable trading policies.

How It Works

The project utilizes a recurrent actor-critic architecture, specifically A3C, to train trading agents. The core idea is to use a neural network that takes market data as input and outputs trading actions (buy, sell, hold). The recurrent nature allows the agent to maintain an internal state, capturing temporal dependencies in market data, which is crucial for trading. The asynchronous nature of A3C enables parallel training by multiple workers, accelerating the learning process and improving exploration.

Quick Start & Requirements

  • Install: pip install -r requirements.txt
  • Prerequisites: Python 3.x, TensorFlow, OpenAI Gym, Pandas, NumPy, Matplotlib.
  • Data: Requires downloading a dataset from a provided Google Drive link and preprocessing it using a script after configuring paths in config.py.
  • Training: Run A3C_trading.py.
  • Testing: Use the A3C_testing.ipynb Jupyter notebook.

Highlighted Details

  • Implements trading with recurrent actor-critic reinforcement learning.
  • Includes a custom OpenAI Gym-like environment (trader_gym.py).
  • Training and testing scripts are provided (A3C_trading.py, A3C_testing.ipynb).
  • Configuration is managed via config.py.

Maintenance & Community

The project is associated with a published paper: "Using Reinforcement Learning in the Algorithmic Trading Problem" by Ponomarev et al. (2019). No specific community channels or active maintenance indicators are mentioned in the README.

Licensing & Compatibility

The repository does not explicitly state a license. Users should assume all rights are reserved or contact the authors for clarification regarding usage, especially for commercial applications.

Limitations & Caveats

The project name is noted as potentially misleading, with the primary training script being A3C_trading.py. The dataset download relies on a Google Drive link, which may be subject to availability. The project appears to be research-oriented and may require significant effort to adapt for production trading systems.

Health Check
Last commit

2 years ago

Responsiveness

Inactive

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

Explore Similar Projects

Feedback? Help us improve.