Stochastic Calculus

MATH-GA 2902.001
Courant Institute of Mathematical Sciences,
New York University
Fall Semester, 2015
Lectures: Monday, 7:10 to 9 pm, Room 101, Warren Weaver Hall
Problem sessions: Wednesday, 5:30pm to 7pm, room 202, Warren Weaver Hall.


Jonathan Goodman
room 529 Warren Weaver Hall
office hours: 4 to 6 pm Thursdays
          or by appointment

Teaching Assistant


          or by appointment

Course description

This is a course on stochastic processes intended for people who will apply these ideas to practical problems. It covers mathematical terminology used to describe stochastic processes, including filtrations and transition probabilities. It uses some measure theoretic terminology but is not mathematically rigorous. The emphasis is on analytical tools (forward, backward equations, etc.) and computational methods (difference equations, simuation, Monte Carlo) for studying specific processes.

We start with linear Gaussian Markov processes in discrete and continuous time, including AR processes and Brownian motion. We move to discrete probability and Markov chains, emphasizing path space and filtrations in this simple setting. The bulk of the class is devoted to stochastic integration, the Ito calculus, and the relation between partial differential equations and diffusion processes. We cover Girsanov theory and applications of change of measure. We discuss the derivation of diffusion models and approximations. Applications and examples are taken from finance and physical sciences. Some of the homework exercises will involve computation.


A mastery of multivariate calculus, multivariate probability, and linear algebra is required. There is an assignment 0 (see the assignments page) to check that you are ready for the class. It would be very helpful to have some experience in computing.

Assignments, exams, grading

The final grade will be based on weekly homework assignments and a final exam. Assignments will be given each week and due in class, in paper, at the beginning of the following class. There will be a penalty for assignments submitted late, which is moderate but increasing and unspecified. Within reason, it is better to submit an assignment late but complete rather than on the due date but incomplete. The overall course grade will be determined by the homework grades and the final, with roughly equal weight on each. We compute total scores using several weightings and use different weightings for different students in a way that is forgiving. For example, if you do particularly well on the final, the final will get more weight for you. If you do poorly on the final, the homework will get more weight.

Communication and announcements

There is a course page on the NYU Classes site. Look there for important course announcements, in particular corrections to assignments. This site has a class message board that everyone in the class can see. If you have a technical question or comment, please post it there rather than sending an email to the instructor or the TA. That way everyone can see the question (and be grateful someone asked it) as well as the answer. If you think there is something wrong with the lecture notes or an assignment, please post as soon as possible. The instructor and TA will check this site often to post replies. Please feel free to reply to other posts if you have something to contribute, even if it's just more questions. Polite and constructive feedback on the class (particularly helpful negative feedback) also is encouraged. Also welcome are posts intended for other students rather than the instructor or TA. You can check your grades on Blackboard. If you are an NYU student not registered for the class, email the instructor for access. Please email the instructor or TA only for personal matters (schedule an appointment, request to submit an assignment late, etc.).


The assignments will require some lightweight computing in R. Previous experience with R specifically is not needed, but students should have some exposure to programming in R, or C, or C++, Java, Python, Matlab, VBA, Fortran, etc. The R package is available as a free download. Students will learn the R they need, often through provided code templates, as the course progresses.