I was looking into Gruber's post about reproducing the deep learning example in the manual - http://www.opserver.de/ubb7/ubbthreads.php?ubb=showflat&Number=458985&#Post458985

This approach is similar to some of my own recent work, except for one major difference, which I am hoping jcl or someone else can explain.

In my own machine learning research, I have typically used only one advise() function for trading both long and short, since the function returns a prediction value between -100 and +100 and can therefore be used for both long and short directions. I typically go long for a positive prediction and short for a negative prediction. I also experiment with the prediction threshold at which to enter a trade.

I notice in the deep learning example in the manual that both long and short models are used. I would very much appreciate any insight into how this works. Are there actually two separate models for predicting long and short directions? If so, why do you need two models to predict a binary outcome? And how does one set this up in practice? What is the benefit over using a single model? Any insight or explanation would be greatly appreciated!

In comparison, I trained a neural network from the 'deepnet' package in R by feeding the network the five most recent hourly log returns and asked the network to predict the next log return. Obviously I used a regression approach as opposed to classification, but I measured the out of sample directional accuracy of my network at 53%. This is not quite as good as the accuracy of the network presented in the manual (57%). My network architecture was 5 input nodes, 1 hidden layer with 3 nodes and 1 output node. While the directional accuracy looks decent, the average (no trading cost) profit from trading the direction of the prediction was only about 0.3 pips per trade - not nearly enough to cover the enormous transaction costs of taking a trade every hour.