Advanced Deep Reinforcement Learning System for Trade Execution: Part II: Feature Engineering
Photo by Steve Johnson on Unsplash.com
In one of my last posts we discussed the basic concepts of Deep Reinforcement Learning (DRL) with the intention of building an advanced DRL system for trade execution. In this part of the series, we are going to discuss feature engineering.
Suggested Reads:
This story is solely for general information purposes, and should not be relied upon for trading recommendations or financial advice. Source code and information is provided for educational purposes only, and should not be relied upon to make an investment decision. Please review my full cautionary guidance before continuing.
What is Feature Engineering? ⚙️
Feature engineering in Artificial Intelligence (AI) refers to the process of using domain knowledge to extract features (characteristics, properties, attributes) from raw data.
These features can be used by machine learning algorithms to improve their performance on predictive tasks. The main goal of feature engineering is to highlight important aspects of the data and make the underlying patterns more noticeable to learning algorithms.
In the context of building a DRL for stock trading, we can select from these types of features:
Features that allow the DRL to assess the current state of the environment, e.g. OHLC data, lags, deltas, market indices, bid/ask spreads, cash available for trading, or peer stock prices.
Features that provide the DRL agent with the ability to identify oversold/overbought positions, trend, momentum, volume, volatility, or entry/exit signals, e.g. technical indicators, candlestick patterns, moving averages.
Secondary features derived from social media- or news sentiment, fundamental data, economic or political indicators.
Features that may provide the DRL agent with the possibility to guestimate future returns in order to maximize rewards.
For simplicity and since I would like this DRL to be focused on shorter time intervals, we will disregard other features like economic indicators, fundamentals for now. News and social media indicators, I have not yet found to be very reliable signals and since they require a decent amount of extra work, I decided to exclude them for now.