Leave-One-Out Testing

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 Network

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].

Normalization of Inputs

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.

Data separation, conglomeration

  • Matt’s past NN clumped all data from similar time-periods & different companies, into one big set of NN input data. Likely, this is because there was not enough data to do just one sinle time-series.
  • Sparate each company or time-seies out, to get better correllations??
  • There may not be enough data for this

Add fundamental data attributes

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.

Threshold Vs Absolute Check

  • Does it matter that data or ratios are utilized as to:
    • The QUANTITY they are over/under a threshold or absolute scale
    • OR
    • The CLASSIFICATION of simply being over/under a threshhold
  • We may be able to implement this into the genetic algorithm as another input variable that changes the threshhold each generation.

Market Direction / mode

  • act differently in different longer-term conditions
  • Ex: we are in a recession now, do we angle our algorithm to short sell instead of normal purchase?
  • Can we tell the algorithm to guess at what will underperform the market, instead of overperform?
  • FIXME add scan of drawings (graphs)
  • Verified in paper “A hybrid approach based on neural networks and genetic algorithms to the study of profitability in the Spanish Stock Market.” by Matilla-García, Mariano

Dividends

  • Take into account dividends, when calculating profit/loss
  • may not add till later, but allow it to be added easily

Optimization on optimization

  • We are planning on using a genetic alg. to optimize many a NNs, which is a optimization fitter in itself.
  • Could you implement a recursive NN that optimizes itself?
  • Can you optimize on successive levels ad-infineum?
  • Does this hierarchy of optimization have any substantial significance theoretically?

Take into account other Neural Net Traders in the world (and your own trades)

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.

Alternate data collection schemes

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.

Portfolio Optimization Improvements

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.

GARCH Toolbox

  • I found a new method in MatLab that I had found during research in the past. Generalized AutoRegressive Conditional Heteroscedasticity
  • It is unrelated to our particular project instantiation, but possibly useful for future consideration.
  • “GARCH, is a mechanism that includes past variances in the explanation of future variances. More specifically, GARCH is a time-series technique that you use to model the serial dependence of volatility.” - from MATLAB online documentation

AI-enhanced Value Investing

Idea

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.

Hurst analysis

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?
 
personal/school/financialitsystems_is698/neural_net_evol_alg_project/project_notes/ideas.txt · Last modified: 12.23.2008 00:09 by 71.166.39.38
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki