CSE 691 -- Special Topics in Computer Science (Computational Finance)

Spring 2007
Course Time: 9:50-11:10PM Tuesday-Thursday
Place: SBS N117
Instructor: Steven Skiena

Course Syllabus

The financial industry is a tremendous consumer of advanced computing technologies and mathematical modeling techniques, and a primary employer of computer science graduates in the New York metropolitan area. In this course, we will present the principles of computational finance and financial data analysis, focusing on research problems of algorithmic interest.

The first half of the course will serve as an introduction to how financial markets work, and standard mathematical approaches for working with financial data. The second half of the course will build on this foundation to discuss special topics of research interest, including online algorithms, short-term trading strategies, technical analysis, and text/data mining.

Students will be required to do a significant semester research project, and participate actively in class. This means presenting regular project progress reports as well as making a substantial class presentation.

Check out our course blog, http://stonybrookfinance.blogspot.com/

Prerequisite: CSE 548 (Algorithms) or consent of instructor.

Recommended Texts:

Lecture Schedule

The first part of the course will present an introduction to financial markets, time-series data analysis, and Monte Carlo analysis. The bulk of this material will be drawn from the two texts above, and cover:

Introduction to Financial Markets (3.5 weeks)

All the material below is old stuff from the Spring 2004 offering of the course I have not yet had the heart to delete.

Financial Products (Hull, Chapter 1)
Financial Markets (Hull, Chapter 2)
Forward/Futures Prices (Hull, Chapter 3)
Hedging Strategies (Hull, Chapter 4)
Trading Strategies for Options (Hull, Chapters 8-9)
Random Walk Models (Hull, Chapters 10-11)
The Greek Letters (Hull, Chapter 14)

Time Series Analysis (4 weeks)
Financial Time Series (Tsay, Chapter 1)
Linear Time Series Analysis (Tsay, Chapter 2)
Garch models (Hull, C 17; Tsay C 3)
Non-Linear Models / Fractiles (Tsay, Chapter 4)
High-Frequency Data Analysis (Tsay, Chapter 5)
Correlation methods (Tsay, Chapter 8)
Dimension Reduction Techniques (Tsay, Chapter 8)
Fourier Analysis (CLR: Chapter 30)
Hopefully we will have occasional guest lecturers from the financial services industry.

Student Project Links

Special Topics

The second part of the course will cover several special topics related to financial markets which are of particular algorithmic/computational interest. The final selection of topics will depend upon the student's interests, but references to each area are included below. Links to all papers are provided.
Online Algorithms Short-Term Trading Pairs Trading Technical Analysis Text/Data Mining

Online Algorithms / Competitive Analysis

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. Papers on the application of competitive analysis to financial problems are given below:

Microstructures / Short-Term Trading

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:

Pairs Trading and Related Strategies

Pairs trading strategies work by identifying pairs of companies/securities whose price movements have historically been highly corrolated, and betting that they will resynchronize after drift apart has been observed.

Technical Analysis

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:

Graph Theoretic Analysis

Text/Data Mining

An overwhelming volume of text and numerical financial data is available, motivating the use of data mining algorithms for financial analysis. We will focus on data mining algorithms for textual data, such as news reports and EDGAR financial documents.

Related Links