FIN566: Algorithmic Market Microstructure: Logistics
FIN566: Algorithmic Market Microstructure: Logistics
FIN566: Algorithmic Market Microstructure: Logistics
Logistics
• Professor: Adam D. Clark-Joseph (Mail: 435 Wohlers Hall. Fax: 217-244-3102. Telex: 510101 1969)
Course Overview
The focus of this course is trading in financial markets. While economics and finance predominantly
examine equilibrium outcomes, this course examines processes and mechanisms by which equilibrium
outcomes are reached. In a perfect and complete equilibrium, all feasible trade would already have
taken place, but scope for trade arises whenever prevailing equilibrium conditions are perturbed. The
study and analysis of trading mechanisms in financial markets is known as market microstructure, and
this course will introduce the foundations of market microstructure. Unlike a traditional introductory
microstructure class, however, this course will emphasize applications to algorithmic trading, and you
will learn how to use economic theory to better understand, utilize, and design trading algorithms.
Roughly speaking, this course will familiarize you with the guiding principles and rationale under-
lying what various market participants try to accomplish with trading algorithms, and why. Students
who plan to pursue finance careers not directly connected to algorithmic trading can treat this as
a stand-alone introduction to modern market microstructure. Students who plan to pursue careers
explicitly focused on algorithmic trading can use this course to structure and/or leverage additional
training (programming, computer science, electrical engineering, etc.) related to the efficient imple-
mentation of trading algorithms, i.e., related to how good trading algorithms should operate.
Learning Objectives
At the end of this course, you will be able to:
• Analyze trading in financial markets as an information-transmission mechanism
• Understand how to approach the challenges and opportunities facing different types of traders
• Apply your knowledge and understanding of economic microstructure principles to create and
assess trading algorithms
1
Textbooks and Readings
Market microstructure is a broad and varied field, and one which has evolved rapidly in recent years.
The curriculum of this course draws primarily from the texts below:
O’Hara, Maureen, 1998. Market Microstructure Theory. Blackwell, Malden.
This course loosely follows O’Hara’s exposition, but (in general) at a much lower level of technical
rigor. I mark readings from the O’Hara text with an asterisk (*) as a reminder that you are not
responsible for the technical parts.
Harris, Larry, 2003. Trading and Exchanges: Market Microstructure for Practitioners.
Oxford University Press, New York.
Harris’ book provides a non-technical and very readable introduction to much of the institutional
background relevant for this course. Some of the material is slightly outdated, and some of the
normative judgments may not necessarily reflect an academic consensus, but subject to those two
caveats, Harris’ text is very useful.
Hasbrouck, Joel, 2016. Securities Trading: Procedures and Principles (Version 12a).
Available http://pages.stern.nyu.edu/~jhasbrou/TeachingMaterials/STPPms12a.pdf
Joel Hasbrouck of NYU Stern kindly makes available his lecture notes from a microstructure course
that he teaches. Hasbrouck’s notes offer concise and up-to-date treatment of institutional material,
and they provide clear expositions of some theoretical issues covered in this course.
T. Foucault, M. Pagano, and A. Röell, 2015, Market Liquidity: Theory, Evidence, and
Policy. Oxford University Press.
The FPR text is not required, but I recommend it for further reading.
Particularly in the early weeks of this course, the curriculum will include introductions to institu-
tional details and background. This will provide concrete contexts and precise terminology to facilitate
sophisticated analyses of theoretical issues throughout the rest of the term. Although institutional
nuances are apt to change in the face of technological innovation, regulatory reform, and industry
turnover, the economic principles driving the structure of trading in financial markets are not.
I will post my lecture notes after class. You may not make audio and/or video recordings of
lectures in this course without my express prior written permission.
Software
The following software is required:
• Matlab (2015b or later)
Assignments
Problem Sets
I will assign eight problem sets, and these problem sets will be primarily programming-based. The first
problem set will entail constructing a matching engine for a limit-order market and analyzing some
features of a market populated by “background traders” who place orders in a simple stochastic man-
ner. Subsequent assignments will involve writing and analyzing trading algorithms that accomplish
2
specified objectives in simulated markets populated by various other types of traders. The program-
ming assignments are intended to demonstrate and make concrete some of the theory that we discuss
in lecture. Coding is not the emphasis of this course, but translating economic theory into algorithmic
applications is. Your ability to analyze the instructive elements of an assignment, rather than the
elegance of your code, will be the primary criterion upon which problem sets will be evaluated.
Problem sets #7 and #8 are somewhat open-ended, and I will ask you to present your results
during lecture, as well as submitting a write-up of them.
For a variety of logistical reasons, programs must be written in Matlab. Assignments will specify
the required names of certain output variables, and this should allow me to run/check your code,
and it should allow you to run the code that I post alongside problem set solutions. Also, Matlab is
fairly easy to use/learn (it’s designed for object-oriented programming). Early on, my expectations for
coding will be very low, and throughout the course I will explain unusual features specific to Matlab
that might be useful or important for upcoming assignments.
Problem sets are due at the beginning of lecture on the indicated dates. Except where otherwise
specified, please turn in hard-copies of your problem sets. On some assignments, I may also ask you
to send me parts of your code; please send these electronic portions between 12:01AM and 10:59AM
CT on the indicated dates.
Unless otherwise noted, collaboration on problem sets is both allowed and strongly encouraged.
However, if you collaborate on a problem set, you are still responsible for understanding exactly what
every part of your code does, and why. Groups should just turn in a single set of solutions and list on
it all group members’ names.
Exams
There will be two in-class midterm exams and a final exam. These will be sit-down exams (as opposed
to take-home exams), and they may be conducted in a computer lab. You should bring all of the
(corrected) code from previous problem sets to each exam, and you will be asked to make some minor
modifications to your code to answer some questions that are slightly different from the ones on the
problem sets, then explain what you changed and why. If you thoroughly understand your code and
its relation to the material in the lectures/readings, modifying your programs to answer these exam
questions should be extremely easy. The purpose of these assessments is to check that each student
individually understands all of the material covered in the problem sets. The exams will also include
some straight-forward questions about the material covered in assigned readings and lectures.
The exams are cumulative, but the second midterm will emphasize material from the problem sets
that were due after the first midterm.
Grading
I will assign grades with pluses and minuses. Problem sets grades and exam grades contribute to
overall course grades with the following weights:
3
component of the first midterm is less than or equal to half of your minimum score on the first four
problem sets, your scores on those four problem sets will be multiplied by your percentage score on the
programming component of the first midterm. Similarly, if your score on the programming component
of the second midterm is more than 30 percentage points lower than your minimum score on problem
sets #5-6, or if your score on the programming component of the second midterm is less than or equal
to half of your minimum score on problem sets #5-6, your scores on those two problem sets will be
multiplied by your percentage score on the programming component of the second midterm. I expect
that this mechanism will never turn out to be applicable, but I include it to remove the incentive to
turn in problem sets that are highly unrepresentative of your own individual command of the material.
Letter grades will be assigned on an ordinal basis—only your relative scores (as opposed to your
absolute scores) effect1 your ultimate course grade. Grades will be curved to a median of about A-.
Administrative Policies
The UIUC 2018-2019 Student Code specifies the policies on topics including (but not limited to): ac-
commodations for students with disabilities, excused absences, sexual harassment, non-discrimination,
make-up exams, and academic misconduct. Please note that students who require accommodations
for disabilities must inform me of this within the first week of the course. Requests for special ac-
commodation will require documentation from the Disability Resources and Educational Services
(DRES).
Late work will only be accepted, and make-up exams will only be permitted in cases of the specific
exceptions detailed in the Student Code. If you miss a midterm exam because of documentable conflicts
with job interviews, your score on the final exam may replace your score on the missed midterm. Note
that adjustments to your problem set scores, if applicable, will still be computed in the same manner
detailed in the “Grading” section above.
1 [Sic]
4
Syllabus
Class Session Subject Description Reading
1 Mon 8/27 Introduction to Background on financial markets Hasbrouck Ch. 1-3
Limit-Order Harris Ch. 1, 3-4
2 Weds 8/29 Markets Limit-order markets Hasbrouck Ch. 4
(Hasbrouck Ch. 6-7)
Harris Ch. 5-6
The market for immediacy:
3 Weds 9/5 Market-Making: *O’Hara Ch. 1
Grossman-Miller (1988)
Inventory and Harris Ch. 8, 14
4 Mon 9/10 Immediacy Inventory risk/costs *O’Hara Ch. 2
Harris Ch. 13
5 Weds 9/12 Beyond inventory risk Harris Ch. 9-10
6 Mon 9/17 Private Market-making I: Glosten-Milgrom Hasbrouck Ch. 9-12
7 Weds 9/19 Information Algorithmic Glosten-Milgrom Harris Ch. 7
8 Mon 9/24 Topics on Market-Making Algorithms
Price-Impact and
9 Weds 9/26 Easley-O’Hara *O’Hara Ch. 3
Trading Costs
10 Mon 10/1 DMMs
11 Weds 10/3 Recap for midterm
12 Mon 10/8 MIDTERM #1
Transient and permanent
13 Weds 10/10 Price-Impact and Hasbrouck Ch. 15
price-impact
Trading Costs
14 Mon 10/15 Measuring trading costs Hasbrouck Ch. 14
Harris Ch. 21-22
15 Weds 10/17 Order splitting Hasbrouck Ch. 13,16
Agency Trading
Harris Ch. 18-19
16 Mon 10/22 Order splitting
17 Weds 10/24 Market-Making Order-splitting in limit-order markets
18 Mon 10/29 with Strategic Order-splitting in limit-order markets
Counterparties Measures of liquidity; MM
19 Weds 10/31 Baruch-Glosten
and Competitors strategery; competition and “speed”
*O’Hara Ch. 8.1-8.3
Harris Ch. 15
21 Mon 11/5 Institutional Regulation NMS Hasbrouck Ch. 5, 18
22 Weds 11/7 Factors Dark trading; fees, rebates, etc. Hasbrouck Ch. 8, 17
*O’Hara Ch. 8.4
Harris Ch. 25-26
23 Mon 11/12 MIDTERM #2
Fundamental news: Kyle,
24 Weds 11/14 Informed Trading Hasbrouck Ch. 11
Grossman-Stiglitz
*O’Hara Ch. 4
Harris Ch. 16-17
25 Mon 11/26 [Presentations]
26 Weds 11/28 [Presentations]
27 Mon 12/3 Topics in Modern Frontier research and strategies
28 Weds 12/5 Market Structure High-frequency trading; “speed” Hasbrouck Ch. 19
29 Mon 12/10 [Presentations]
30 Weds 12/12 FINAL EXAM/[Presentations]
5
Relevant Dates
Class Session Event
1 Mon 8/27 PS #1 posted.
2 Weds 8/29
3 Weds 9/5 PS#1 due. PS#2 posted.
4 Mon 9/10
5 Weds 9/12
6 Mon 9/17 PS#2 due. PS#3 posted.
7 Weds 9/19
8 Mon 9/24 PS#3 due. PS#4 posted.
9 Weds 9/26
10 Mon 10/1
11 Weds 10/3 PS#4 due.
12 Mon 10/8 MIDTERM #1
13 Weds 10/10
14 Mon 10/15 PS#5 posted.
15 Weds 10/17
16 Mon 10/22
17 Weds 10/24
18 Mon 10/29 PS#5 due. PS#6 posted.
19 Weds 10/31
21 Mon 11/5 PS#6 due. PS#7 posted.
22 Weds 11/6
23 Mon 11/12 MIDTERM #2
24 Weds 11/14
25 Mon 11/26 PS#7 due. Presentations for PS#7 begin.
26 Weds 11/28 Presentations for PS#7 continue. PS#8 posted.
27 Mon 12/3
28 Weds 12/5
29 Mon 12/10 PS#8 due. Presentations for PS#8 begin.
30 Weds 12/12 FINAL EXAM (And PS#8 presentations continue.)