The financial industry is a tremendous consumer of advanced computing technologies and mathematical modeling techniques, and a primary employer of computer science graduates. In this course, we will present the principles of computational finance and financial data analysis, focusing on research problems of algorithmic interest.
There will be divided roughly equally into three major topics:
Prerequisite: Mathematical and computational maturity, or or consent of instructor.
Zucchini and Nenadic have written a brief but nice introduction to time series analysis using the publically-available R statistical library. Consider using R for your course projects, since it is quite comprehensive.
We have posted lecture videos for the full 2008 HKUST course, along with the complete lecture notes.
Lecture notes with audio are available from the previous time I taught a similar course (CSE 691 at Stony Brook in Spring 2007). A tentative lecture schedule for the current semester is available.
One student's problem was that he did not have his orders sorted in increasing order of time. This has hopefully been fixed. The output has been changed to make it more intuitive. See the following:
original output format:
One small change in category.csv(just add the TICKER NAME because it was previously missing)
Note that the stock data can have different begin and end dates, e.g. Google begins at 2004. The stock begin and end dates are contained in the file category.csv. Strategies should be aware of this issue,but deal with it in the simplest possible way.
Competitive analysis provides a way to measure the performance of online algorithms, which repeatedly make decisions to act based on knowledge of past/current conditions, but not the future. Online algorithms naturally model real-time trading strategies.
The best introduction to the field is the book Online Computation and Competitive Analysis by Borodin and El-Yaniv.
Many advanced trading strategies attempt to profit from short-term fluctuations of supply and demand for particular financial securities. To sell a large block of a given stock, financial institutions must employ strategies to avoid swamping the market and depressing the price.
Here we focus on real-time trading systems and strategies:
Technical analysis focuses on the shape of curves reflecting historical stock prices as a means to predict the future. Such technical analysis methods clearly have no merit if stock prices are pure random walks, however they have many outspoken adherents and may well reflect psychological aspects of trader behavior. We will look at the evidence for and against technical analysis, as well as algorithmic notions to measure and/or exploit it: