Progress: Review, research, learn

Review old text-based material

I reviewed content of papers and notes already written on my wiki. I read through many old emails. Actually, I had fortunately pasted the important progress emails to my wiki. I went here and absorbed these. I personally find it very helpful to “over-document” projects, because I often leave a project and come back and dont remember where I left off. This helped me catch up.

The most important take away from reading the emails was this quote from myself, between Matt and I:

I think recurrent net will be a big step too. Before I really knew what you meant by recurrent, I was starting to think that the current network was so rigid and basically trying to come up with an immutable function to fit these 9 data points. Also I made some notes about the fact that the time-series relation of the data is not being taken into effect which I think is serious. We HAVE to somehow take into effect that there is relations over time with these various data sets, and possibly relations over per-company, etc. I am thinking maybe dynamic neural net can do this, but I am also thinking that these relations just are not expressed in the data set. Any ideas on the time-series and company relations?

...

I think that I/ we should continue with the genetic algorithm in Excel, to a degree that allows a minimum of realistic, useful results. If we find it assists in the construction of the architecture, I say we then think about / look into MATLABs genetic alg capabilities. As yet another idea, I would love to utilize Igor and Berry’s data collection schemes.

To get any real smartness, any sizable collaboration of neural network optimality, we will eventually move to some kind of neural net model that incorporates the time-series data better. For now, focus on the near.

Ideas

As I reviewed old posted material, I noticed many chances for new ideas or possible important changes to realize. Ideas are great, but at the same time you want to implement something first before moving too far ahead in prepping to use new ideas. So, I am keeping a list of ideas on my ideas page. We can get back to them later when time allows.

Additional data attributes

I Sat in on Roys classes, where I came up with the idea of using extra attributes from senguptas work on balance sheets and income statements. By attributes, I mean, types of data that may have many values. Ex: Cost of Goods Sold, Income, Debts outstanding, etc. Basically, Matt may not have all important attributes incorporated into his original project. He selected the attributes as the most important ones, from his knowledge in finance. There may be other attributes of non-computed data that we can use that is commonly available. I added this to the ideas page.

Evolutionary Algorithm: VBA or MATLAB?

I have to realize that the evolutionary algorithm that I am coding in VBA, may not be anywhere near the best and most flexible solution that is immediately available to us. I also have to realize that we want to take this project in baby steps, so as to get things done, and not be in a constant state of movement to new ideas. Also, Roy has said that he is more interested in VBA code.

MATLAB has its own add-on for best-of-breed evolutionary algorithms. Seeing MATLABs stellar job in documentation and implementation of the Neural Networks module, it may be suffice to eventually make a move away from VBA for the evolutionary algorithm. I think that the use of Excel still has its merits, as a sort of front-end, variable storage, and user interface. VBA may still have merits as the gatherer of data, linking of components (Ex: Excel to MATLAB), and user interface.

I am treating the ongoing VBA version as a self-exploration into the class of algorithm and behind-the-scenes visualization as to how an algorithm of its type may be implemented. My VBA version also gives absolute flexibility if we find any other AI platform to be restrictive or not understandable.

MATLAB

No time to read any of the book that I had wanted to. This will be incorporated into next weeks work. There is actually a MATLAB class for staff and students on campus this coming Wednesday 9/17/08 in ENG023. I will definitely utilize this unique free opportunity to assist myself.

VBA Code Review

After the fact, I noticed that I was looking into the wrong projects code. BIG WHOOPS. I was looking at my prior self-driven trading project based off of technical data only. The good thing to come of this, is that I was pulling 90% of the code from this project, into the new Neural Net project. The below evaluation will allow me to verify that the code is documented well, and appropriately transferred over to the new project.

I have skimmed back over the code, remembering much of it via the names of the modules, functions, and heavy commenting that I formerly did in the code. Again, over documenting helped here to catch me up. I am still not completely caught up in remembering all of the code, but I have the top down view that is important. I will likely focus on details when I get into the code.

One thing I remembered weeks ago, was that the current instantiation of the excel part of the project only runs with an internet connection. Data is collected from yahoo (I think) each time the main functionalities are run.

Modules

The following are the various main code modules. I originally put a lot of thought into what these were called, and what they contained, so that it was all self explanatory when I came back to it, or if someone else looked at my code.

  • Simulate - Runs the main stock buy/sell simulation.
  • Evolute - Runs the evolutionary algorithm of simulating many times and picking the best fit. Reproduces solution set with change.
  • Data - Gets the technical data from yahoo online
  • Compare - Used in the genetic algorithm for outputing each generations outputs.
  • UserInterface - Trivialities of Excel VBA coding. Mostly to do with un/hiding worksheets.
  • Other - Utility functions for doing something that may be VBA standard, but I dunno how to do it.
  • Histogram - Not used. Kept for sake of being used by someone else. It creates new worksheets with histograms of various data.

Objective: Implementation Beginning & Continued Review/Learning

Roy, I welcome additional input into what I should do for the week_2. I may also like to meet with you, in between the next now and the next dual week to discuss strategies, ideas, etc. Mostly ideas for implementing the Genetic Algorithm in VBA.

  1. Implementation of additional code that will continue on the path of our original simpler vision. This vision is described briefly above in the Evolutionary Algorithm: VBA or MATLAB? section.
    • I would most likely first focus on procuring of data, and the MATLAB → Excel interface.
    • I need to review the details of the MATLAB → Excel interface. I had documented some myself, and I need to read more of MATLABs documentation and examples. I will probably do some simple examples off to the side, to make sure I am understanding it before I put it into our complex project.
  2. MATLAB learn
  3. Code review of CORRECT code for current Neural Net / Genetic Alg project
  4. Add documentation to code. There are many FIXMEs in the VBA code, which mean that I wasn’t able to complete the necessary documentation at the time. It would be nice to complete many of those. This would also get me involved into coding details.
 
personal/school/financialitproject_is700/week_1_review_research_learn.txt · Last modified: 09.10.2008 19:51 by 130.85.221.142
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki