I am interested in building a bot for stock market prediction. Should I focus on Deep Learning for time-series forecasting (like using LSTMs or GRUs) or should I dive into Deep Reinforcement Learning (DRL) where the agent learns by taking actions? I'm worried that simple price prediction isn't enough to handle the complexity of a live market environment.
3 answers
Start with LSTMs. They are much easier to debug. If you can't predict the price at better than 55% accuracy, DRL won't save you.
The major difference is that Deep Learning for time-series is a "passive" prediction task—you are just trying to guess the next price. Deep Reinforcement Learning (DRL) is an "active" task where the model learns a policy (Buy, Sell, Hold) based on a reward signal (Profit/Loss). In trading, price prediction is often not enough because of slippage and transaction costs. A DRL agent can learn to account for these factors. However, DRL is notoriously difficult to train and can be very unstable. I recommend starting with a strong Deep Learning forecasting model as a "feature" for a simpler rule-based trading system before going full DRL.
How do you plan to handle the "non-stationary" nature of market data, where the patterns learned today might be completely irrelevant tomorrow?
Steven, that is the million-dollar question! I was thinking of using a "sliding window" training approach or even an Online Learning setup where the model updates its weights daily. Nancy's point about DRL learning the "policy" rather than just the "price" is really convincing, though. If the market shifts, a DRL agent might recognize that its current strategy is losing money and adapt its risk management faster than a simple price-forecaster would.
Karen is right. If your input features (the price prediction) are garbage, your DRL agent will just learn to gamble more efficiently.