Hi Nick,
You said 1 input. Are you using feedback loops ?
Hi Dave,
I am just at the beginning, where I learn and try to figure out the proper architecture of the neural networks for data forecasting. I have a lot to read. I came across a very valuable (in my opinion) document that describes some apparently successful approach of forecasting Forex - http://arxiv.org/ftp/cond-mat/papers/0304/0304469.pdf
It provides methods to analyse if data is forecastable and to estimate the quality of prediction and this can be used not only with neural networks, but with any kind of system, for example any of the indicators. For example, if we would implement various strategies (ichimoku, MA crossover, etc) for a given sample, we could identify if any of these indicators are worthwhile and which of them are not worth bothering with.
I will probably purchase in the future one of Howard's books, it should provide even more valuable information.
I already installed Python on one of my computers, but I have to focus in one direction, as I tend to look everywhere and not finish anything.
So far I am involved in trying to understand and get comfortable with some C# sample code for neural networks - I got excellent quality code, but I will have to modify it for my needs. I've been a beginner programmer for the last 20 years
I am uncertain if using just one or two inputs would be sufficient for forecasting - at the moment (without enough reading), I tend to believe that for pattern recognition, it would be better to provide input data from the last n periods (for example, have 10 inputs to receive smoothed data of last 10 days, plus some extra inputs. I changed my mind from using one input based on this - if we consider a sinewave with values between -1 to +1, even if I tell you that current data is 0.5, you would be unable to tell me if the next value will be higher or lower than 0.5. While if you have the last n results and plot them (provided that data is sampled correctly), it would be trivial to answer the question. If I read more, I might change again my theory
To answer your question, in the first stage I will probably build a backpropagation network with 100 inputs and one hidden layer (not sure how many hidden neurons, probably between 2 and 100, on a single layer) and see if it will be capable of learning the data, maybe for 1000 values. With ANN, there is a problem with choosing the number of neurons on a hidden layer - too few and it may never learn, too many and it will overfit the data). Also the learning rate and momentum need to be chosen carefully - too small and it will take forever to learn, too large and it will never learn. At least, this is what I know at the moment.
Later, I may try to implement the network as described in the document above (an Elman-Jordan architecture with two hidden layers, each of 100 neurons). Then, I could laugh how my own network is so much better...
Anyway, ANN and artificial intelligence is such a vast area of research, I guess I will need an entire month to become expert in it...
Cheers,
Nick