Stock-Prediction

In this project, I implemented two methods to predict the stock returns given the attributes (90 features in total)

Here is the simple illustration of the MLP auto encoder decoder model. Since the input and output are noisy with a low informtion-noise ratio. In first use a Gaussion Noise layer to prevent overfitting and apply dropout layers in the encoder and decoder.

Since our goal is maximzing the correlation between the predcition and the groud truth stock returns. I apply the pearson correlation as part od the training loss, but not as a standalone training loss. Because using only the correlation as the loss may make the training unstable and the results may be totally bad. So We use MSE(y_true, y_pred) + $\lambda$ 1/IC(y_true, y_pred) as the training loss. In my setting, I set $\lambda = 0.05$. For mlp decoder, we apply MSE(x_pred, x_true) as the training loss.

MLP-autoencoder decoder

mlp_autoencoder_decoder

Mega Model

mega_model