Deep Reinforcement Learning for Placement of Limit Orders
The goal of this project was to research and evaluate deep reinforcement learning methods to improve order placement in limit order markets.
The client provided raw data from three exchange markets for several years. My task was to implement, train, and evaluate RL-based algorithms to place limit orders on the market in an optimal way.
I implemented several state-of-the-art approaches and methods described in research papers. In addition, I implemented and evaluated some modifications and variants derived from discussions with the client and domain experts. This included various reward formulas. In order to train RL agents, I implemented the entire market execution environment provisioned with the historical data provided by the client.
I implemented a system to train the RL agents, backtest, and evaluate all strategies in a visual and numerical way. In order to backtest the strategies, I implemented a simulated exchange market execution recommended transactions. This allowed me to computer profit of strategies and analyze the decisions made by the agents. The reinforcement learning agent was implemented with TensorFlow Agents. The training, backtesting, and evaluation were implemented in Python.