Fall 2009


Steven Bong, Jon Nathan, & Kou Sundberg, International Arbitrage
(Group preferred confidentiality) We have automated a multi strategy arbitrage model targeting the United States and East Asian financial markets. Our investment objective is to deliver consistently positive returns regardless of the directional movement in the global financial markets. 

Benn Ackley, IB Historic Data  
Interactive Brokers provides an API into their historic database, which contains high frequency (one second bar) data points on most stocks up to one year back from the current date.  I have written a series of Matlab scripts that are able to request, parse, and store the data locally in an HDF5 file, which I created an optimized API for.  It is currently compiling a database of 5 sec bar data on common stocks, and, after the historic data is complete, will continually update my database nightly.  

and Matlab backtesting framework

After compiling historic data, it becomes possible to backtest models locally.  In order to minimize start-up time in designing a new model, I have developed a Matlab framework that mimics the IB API, and instead uses my local data to run.  It is designed to be flexible and reusable, so that different models can be run in it with minimal to no framework coding. 

MayC Huang, Do Security Analysts Speak in Two Tongues?
Previous research has shown that upward distortions of analyst recommendations can be attributed to two types of distortions: strategic and non-strategic distortion. In strategic distortion, analysts purposely issue biased upward recommendations, possibly to please management or to support underwriting business; in non-strategic distortion, analysts have genuinely overly-positive expectations, perhaps due to self-selection into the stocks they choose to cover. A very positive recommendation might then be interpreted as being “too positive”, analogous to the winner’s curse where investors should detect a highly positive signal as being too positive and possibly trade on this strategy. However, previous literature has shown that large institutional investors will adjust for this distortion but small investors tend to exert buy pressures in response to any forecast updates, regardless of whether this update is good or bad. Using data from Thomson Reuters SDC and I/B/E/S, we will distinguish between analysts who have a “negative within-analyst relationship” between recommendation and forecast optimism, and those who have a “positive within-analyst relationship”. While a positive correlation is not a clear indication of genuine over-optimism, a negative correlation clearly shows strategic distortion.  

Wei Hua Peng & Jonathan Yu, Using Genetic Pragramming for Trading
Genetic programming is a machine learning technique inspired by biological evolution idea. In our implementation, we have a trader class with contains the different genes. We start out by randomly assigning values to all the genes. Then we bred each of the different traders together to produce the next generation. Breeding means to randomly choose a gene values from the two parents and producing a child of the mix, and then mutating one of the gene to a new random value that the parents might not have before. This will produce n(n-1) children, where n is the number of initial parent traders. Next, we filter the children with a fitness function so that only n of the best fit ones remain. This will give n traders again as we had in the beginning. Using the same strategy, we do multiple iteration of this until we are satisfied with the result. With enough iterations of the algorithm, the genes will be able to stabilize to the best value.

Jonathan Choi, Gabriele Vecchio, & Sergei Turin, Holt-Winters Forecasting
Our project was on the optimization of the Holt-Winters time series model. We created a Matlab program to optimize the three parameters of the Holt-Winters model: seasonality, trend, and level. Using this code we were able to create forecasts for each stock in the NYSE with optimized parameters for the time series. What we noticed was that the stocks which exhibited the three parameters strongly such as seasonality would have better forecasts. We then did an application of portfolio optimization to a couple of the stocks that we forecasted. 

Tommy York, Web Scraper 
This actively scrapes the internet (it uses the Perl module finance::quote, so usually downloads from Yahoo) and stores price information every given interval until it has 26 said data points, and from then on prints a 26 and 12 period EMA on the interval.

Amir Sadoughi & Ryan Gaffney, FX Genetic Algorithm 
The initial goal of our project was to generate strategies for the automated trading of FX instruments. The idea was to create strategies based on the compositions of technical indicators to produce signals that would be acted upon to create market orders. The composition of these technical indicators would be created by using genetic algorithms. We also worked on the logistics of FX trading. I installed MetaTrader 4 and obtained a live brokerage account. The benefits of trading FX came in with the lack of commissions and the trivial amount of minimum initial capital required. This was ideal for a college student, such as myself. When I began the project I needed to seed the genetic algorithm with a strategy that was possibly profitable, allowing it to optimize the parameters. I created the seed strategy inside of MetaTrader as an Expert Advisor to see how the strategy traded by itself. With the strategy tester that MetaTrader provides I was able to see the results and hand optimize what I could for the seed strategy. 

Spencer Moscati, Screener
Programmed a customizable stock screener in Java that acquires data on its own.
and Pit Trading Simulation 
Campus-wide simulation of floor trading in the S&P futurepit on the Chicago Mercantile Exchange. 3 weeks of preparation and marketing, held in the Wells Fargo room at Haas. 

Jinghao Yan, Multiplayer Pit Trading Facebook Application
(in progress)

Sandeep Alluri, Data Scrapers
Wrote data scrapers for the Nasdaq Datastore with help from Jim Cai and for the National Stock Exchange of India (NSE) website. 


Amir Sadoughi 
Andrew Stevens
Benn Ackley 
Cristoph Boden 
Gabriele Vecchio 
Jinghao Yan
Joey Kogan
Jon Nathan 
Jonathan Choi 
Jonathan Yu  
Kou Sundberg 
MayC Huang
Ryan Gaffney 
Ryan Boone
Sandeep Alluri 
Sergei Turin 
Spencer Moscati 
Steve Bong 
Tommy York
Wei Hua Peng