2
$\begingroup$

I am learning about neural network and created some small networks in feed forwarding network myself. I was curious about Recurrent Neural Networks (RNN) and read some papers about RNN in trading. The results in those paper using RNN seems promising but I have some general and hypothetical doubts regarding RNN. I learnt that RNN is best used for learning sequential and time series data.

Lets assume I made two models for predicting future price of stocks, one trained in RNN and other in MLP (Multi Layer Perceptron) using 10 years (OHLC) of data from SPY with good accuracy. I then wants to use these trained models to predict another stock's future price (may or may not be correlated with SPY) eg GOOGLE's tomorrows price.

(first question) Which algorithm has more chances to give an accurate prediction?

I know there is a good chance both models will fail to predict future price of a different product (here GOOG) correctly because the model is trained in SPY data.

But the question is; because RNN is used for training model for sequential and time series data. Is RNN have more probability of a failure prediction than MLP because it trained explicitly for SPY?

$\endgroup$
  • $\begingroup$ Hi, whatever model: you want to train on 10 years of data and predict one day? Trainin on SPY and predict Google (Alphabet)? You even want to predict an uncorrelated price? How should this be possible with reasonable accuracy? $\endgroup$ – Richard Apr 12 '16 at 12:18
  • $\begingroup$ This is my assumption because I am using 10 years of SPY data there will be some pattern which may repeat $\endgroup$ – Eka Apr 12 '16 at 16:41
5
$\begingroup$

Lets assume I made two models for predicting future price of stocks, one trained in RNN and other in MLP (Multi Layer Perceptron) using 10 years (OHLC) of data from SPY with good accuracy.

Which algorithm has more chances to give an accurate prediction?

The choice of which model to use for training matters far, far less than the specific parameters used for the training. How many levels do your RNN and perceptron models have? What are the activation functions of the RNN? What algorithm did you use to initialize weights? What is your loss function? What is the training rate? Did you train using monolothic backpropagation or in batches? Did you use stochastic gradient descent?

The idea that you can just "train an RNN" or "train a MLP" and expect it to make good out of sample predictions is a fantasy, even when you aren't trying to make predictions for a different asset than the one you trained on. The fact that you want to train on SPY and predict on GOOG just adds extra complication (and more ways for your model to fail).

If you want to learn about neural networks, you should start with a problem them are known to be good at (e.g. text classification). If you want to predict stock prices, use an algorithm known to perform well on predicting stock prices (it's harder to find these, but maybe start with some kind of robust linear model).

Just picking a trendy machine learning method and a trendy problem to work on is a recipe for failure.

In answer to your question

When and how to use RNN for stock analysis or trading?

The when is "never" and the how is irrelevant.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.