Computer Science 286r Homework 4 Due 10 Mar 2008, 11:59 pm In this homework, you will use existing tools for building and training artificial neural networks (ANN's) on a problem of your choice in finance. You may work in groups of 2 to 5 people (a more complex/ detailed submission is expected of larger groups.) Begin the first steps early so that you have a long time to run your program! 1. Select an ANN library, download and install it. There is a large selection of libraries you can use listed at http://www.ibm.com/developerworks/library/l-neural/#resources including libraries for Python (Neil Schemenauer's bpnn.py module), C, C++, and Java. You may use any other library you choose, such as Matlab's Neural Network toolbox (I don't know whether Harvard has a license for this, but I could look into it), or the "nnet" package for R (http://stat.ethz.ch/R-manual/R-patched/library/nnet/html/00Index.html). We know of no ANN package for Stata. The Weka project (http://www.cs.waikato.ac.nz/ml/weka/) supports neural networks through its MultilayerPerceptron module -- see this post on their forums: https://list.scms.waikato.ac.nz/pipermail/wekalist/2006-March/006454.html There are also other commercial tools such as ASA's ModelMax, which you may be able to request a trial for for educational purposes. 2. Select an appropriate problem in finance you wish to study. Remember as we discussed in class what ANN's are "good" and "bad" at. You should be able to obtain enough high-quality and complete data to train a neural network. You may either choose problems we have studied in class, problems from the finance literature, or a prediction problem of your choice situated in the context of simulated trading. 3. Collect data, create training, test, and validation sets (if applicable) and train your neural network. You can use OpenTick, Yahoo! Finance, WRDS, the Turtle trader daily commodities histories, or anything else available to you on the Internet. 4. Evaluate the results of your neural network on the test and validation data. If you looked at a problem studied in existing literature, compare your results to those of the literature. For example, you might train an ANN to predict an option call price given a daily price history, time to expiration, the risk-free rate, the current stock price and the strike price, then compare it to the price predicted by Black-Scholes. If you are writing a predictor, evaluate the accuracy of its predictions, and evaluate trading returns using reasonable assumptions for transaction costs and bid/offer spread. The homework is quite open-ended so that you can study a problem you find interesting. As this is a 10-day assignment, don't bite off more than you can chew: select a reasonably sized problem and get a taste of neural networks as tools for studying your problem. Also, do not be discouraged by initial "poor" results -- that's to be expected with early efforts in designing and optimizing an ANN.