Multiple networks are trained and created, each with slightly different training and testing data. In each neural network instance, only one piece of data is set to be testing data.
For details, see separate page here: leave_one_out
Dynamic [neural] networks are generally more powerful than static networks (although somewhat more difficult to train). Because dynamic networks have memory, they can be trained to learn sequential or time-varying patterns. This has applications in such disparate areas as prediction in financial markets [RoJa96], channel equalization in communication systems [FeTs03], phase detection in power systems [KaGr96], sorting [JaRa04], fault detection [ChDa99], speech recognition [Robin94], and even the prediction of protein structure in genetics [GiPr02]. You can find a discussion of many more dynamic network applications in [MeJa00].
It is common to normalize inputs and outputs, whether it is to within a given range, to have mean 0 and a fixed standard deviation, to be uncorrelated (done by principal components analysis), or to have equal covariances. I was concerned that I had not done any of this during my previous experiments with neural networks. I found out that MATLAB does this automatically, choosing the method of preprocessing that it finds most appropriate for the type of network being created. This information can be accessed by typing ‘net.inputs{1}.processFcns’. For a feedforward network, besides removing empty data and constant rows, the only normalization that is done is to transform each input so that its maximum is 1 and minimum is -1.
I did not have time to test different types of normalization but I believe this to be an important detail and I intend to do this, specifically the principal components analysis. There is also the possibility of postprocessing the data. I need to create fair experiments by finding out how to keep the training data constant in setting up and testing different neural networks.
Use and check the fundamental data attributes used in Matt’s original project, against Sengupta’s Excel sheets. Matt uses a handful of important data items from his knowledge of economics. Nick’s inkling is that the more data the better, as long as one can process it. Senguptas excel sheets has the Income statement and Balance sheet, and it is easy to tell which fields are hard coded, and which are computed. The hard coded values are the ones of interest to our project. Computed values, theoretically, can be taken into account by the NN.
add scan of drawings (graphs)Many other business, professional, and personal entities are using optimality methods of increasing strength and they are occurring in increasing number. We could estimate what this amount of influence on the market is, and how numerous. We could then try to simulate or estimate how these agents and their superior market forecasting abilities might affect the market if they attempt to use their methods for arbitration or increased optimality. This might allow us to out-predict and over-compete the many other entities utilizing this field.
Igor and Berry’s data collection schemes as shown in class were quite advanced and in depth. They grab from multiple online sources and bring them together. Maybe ask Roy if he has their work, or talk directly to Igor, he was pretty reasonable.
William F. Sharpe’s ‘GQP’ function is supposedly better than the QMQP function we are currently using, according to him on his webpage: http://www.stanford.edu/~wfsharpe/mia/opt/mia_opt1.htm#Function%20GQP
We should also make sure that feeding expected excess return vs expected return into the function does not make a difference. Matt currently says that if we want to short the market, it makes sense to feed in expected excess return, but if we want to not use that strategy or use both, it may be more complex. More thought needs to be involved here.
Value Investing Graham, Dodd, Buffet. Use AI, computing systems, and modern algorithms to enhance and evaluate value positions and decisions. We could use Neural Networks to find associations in past data that netted strrong value positions and outcomes. Maybe there are hard to determine patterns.
Points toward long-term investment prediction success
This is one of the longest single web pages I’ve written. If you have followed me this far, it is only reasonable to look back and ask how useful the Hurst exponent is for the analysis and modeling of financial data (the original motivation for wandering into this particular swamp).
Looking back over the results, it can be seen that the Hurst exponent of 1-day returns is very near 0.5, which indicates a random walk. This corresponds with results reported in the finace literature (e.g., 1-day returns have an approximately Gaussian normal random distribution). As the return period gets longer, the Hurst exponent moves toward 1.0, indicating increasing long memory character.
In his book Chaos and Order in the Capital Markets, Edgar Peters suggests that a hurst exponent value H (0.5 < H < 1.0) shows that the efficient market hypothesis is incorrect. Returns are not randomly distributed, there is some underlying predictability. Is this conclusion necessarily true?