Brian G. Peterson

Brian Peterson is a Partner and the Head Trader for Automated Trading at DV Trading in Chicago, and has previously held similar roles at other Chicago proprietary trading firms and a quantitative global macro hedge fund. At DV, Brian runs a quantitative trading team that is a top-25 market maker in multiple Interest Rate and Energy markets, and a registered market maker in many of them. In addition to Interest Rate and Energy products, Brian’s team also trades FX, Agriculture, and other Commodities. Brian Peterson is author or co-author of over ten packages for using R in Finance, and a member of the founding committee for the annual R/Finance conference in Chicago. Brian also serves as the Organization Administrator for R’s participation in Google Summer of Code. Brian publishes papers on risk and portfolio construction in multiple peer-reviewed journals. or


AMATH 551 or prior approval from the instructors for students in the industry who already have working knowledge of the topics and tools to be covered.

A working knowledge of R and trading related packages such as xts, quantstrat, blotter, PerformanceAnalytics will be required.

Course work will also reference packages such as caret, forecast, ROCR, and e1071, among others, but prior knowledge of these packages should not be necessary. Analytical techniques will be briefly covered in lectures, and covered in full in the readings.

Specific analytical techniques and packages will vary widely across student projects. Students should understand that they will likely need to self-study package examples or online references for specific analytical techniques to complete their projects.

Course Description

This course will provide a detailed research process and tools for replicating, assessing, conceptualizing, and developing systematic trading strategies. Students will apply their knowledge in hands-on projects to replicate and evaluate existing research and to create and evaluate a new strategy model.

Development of systematic trading strategies should follow a highly scientific and repeatable process. This course will start by reviewing categories of systematic strategies, drawing out patterns followed throughout the industry.

We will demonstrate a repeatable process for evaluating ideas, constructing hypotheses, building each of the strategy components, and evaluating and improving the strategy at each step. Students will use the R Language for Statistical Computing and Graphics to replicate academic research and evaluate the claims made in papers. Students will also construct a non-trivial strategy from scratch, evaluate the power of each of its components, and examine the likelihood of overfitting. The strategy will be documented and presented in lieu of a final exam.

Learning objectives

Upon successful completion of this course students will be able to:

  1. Articulate the major classes of trading strategies and explain what market behavior different classes of strategies seek to exploit.
  2. Evaluate and Replicate research results presented in academic papers on trading system development or analytical techniques applicable to trading strategies.
  3. Create, evaluate, backtest, and optimize their own non-trivial quantitative trading strategy in R using appropriate R packages such as quantstrat and blotter.

Course Approach

We will be teaching the class using a “flipped” model. Lectures will be provided on the course website in advance, and will be structured as short (10-30 minute) videos on a single topic. Multiple short lectures will be reviewed by students before each class period.

During class sessions, our primary focus will be on the student projects.

We will start by answering questions or providing clarification submitted to the instructor in advance which have not been answered already on the course site. Time will be given to answering questions about the lectures, whether submitted in advance or asked in class.

We will then move to an interactive session focused on further clarification and the individual project work. Students will be encouraged to discuss what they are working on in their project, and collaborate with peers. Because each student’s strategy or paper will be different, an open mode of communication between students about their projects is encouraged. Questions about student projects will be addressed in a manner designed to benefit all students in the class in their projects by targeting common patterns for problems and solutions raised by the question.


The major portion of the grade for the class will come from two projects designed to mimic the activities of working strategy quants.

Students will have two individual projects to complete over the quarter.

The final deliverable for both projects will include a Rmarkdown or knitr document which includes both written commentary and all the code necessary to produce the analysis. Intermediate deliverables will help guide the student, and make sure that they are progressing towards a completed analysis, in much the same way that an analyst would confer with management and colleagues during the course of an analytical project.

Both projects will allow students to choose from a suggested topic list, or propose another appropriate paper or strategy model as the basis for their project. Two students will not be allowed to work on the same paper, though many papers or strategies will be related (they may share citations or techniques, for example)

Midterm Project: Paper Replication

The first project will replicate an academic paper. Analysis of new trading system hypotheses often starts when an analyst or their management reads something interesting, providing the seed of a new idea. The analyst needs to first replicate the paper, since most papers do not publish data and code.
After replicating the paper, the results need to be analyzed to determine whether the model or results are credible, and how the analysis of the paper can be improved. No two students will share the same paper. This will allow students to openly assist each other on project approach, code problems, etc. in a manner that is more realistic to a real environment, where colleagues would be contacted for ideas and assistance.

Final Project: Strategy Development

The second project will apply the process learned in class to create a new strategy from scratch. It will start from identifying constraints and objectives, proceed through hypothesis generation and test plans, and move to creating and evaluating each component of the strategy. Finally, the strategy will be tested for data snooping, look ahead biases, and overfitting.


Planned Schedule of lectures, readings, and deadlines:

Date Lecture Topic Readings Project Work
6/19 1 Introduction (live during class) Tomasini, review CFRM 551 slides on quantstrat
6/21 2 Process overview: replicating papers / creating strategies / formulating hypotheses essays on these topics
6/26 3 Constraints, Benchmarks, and Objectives Paper Summary due
6/28 4 Indicators and Filters / Evaluating and Improving Indicators Narang, Tomasini Data Summary due
7/3 5 Signals / Evaluating and Improving Signals Narang, Tomasini
7/5 6 Classes of Strategies Narang, Ilmanen
7/7 (no class) Literature Review due
7/10 7 Cryptocurrencies Lectures (Nick Kirk) Key Techniques due
7/12 8 Cryptocurrencies Lectures (Nick Kirk)
7/14 (no class) Replication Project due
7/17 9 Strategy Project Introduction Hyndman, Kuhn
7/19 10 Rules: (Introduction, Entry, Exit and Risk Rules, Rule Burden, Parameterization Intro)
7/24 11 Order Sizing & Money Management Strategy Specification due
7/26 12 Evaluating the Whole Strategy Tomasini, Aronson Strategy Hypothesis Summary and Tests due
7/31 13 Parameter Optimization Tomasini, Aronson Initial (working) Strategy Code
8/2 14 Walk Forward Analysis Tomasini, Aronson Evaluation of Indicators and Signals due
8/7 15 Overfitting I: Monte Carlo Analysis Hyndman, Kuhn, Aronson
8/9 16 Overfitting II Hyndman, Kuhn, Aronson Rule Evaluation and Walk Forward due
8/14 17 Common Mistakes / Asset Allocation
8/16 18 Loose Ends Final Project Due

The lecture titles above should be reviewed by students in approximately this order. Questions on the lectures may be submitted at any time via email or Canvas. Questions submitted more than 24 hours in advance of a scheduled class period are more likely to merit formal/structured responses, rather than ad-hoc or informal responses during class.

The interactive class periods (Lectures) are from 2:20pm to 4:30 pm, Seattle time, on Mondays and Wednesdays. They may not take this entire time. From experience, interactive class periods averaged about 1.5 hrs each, not the full allotted 2:10.

For the July 10 and 12 Class periods, Guest Lectures on Cryptocurrencies by Nick
Kirk, a former CFRM student who previously took this course, will be the main topic of conversation. I encourage you to take advantage of his expertise to learn as much as you can from a working quant about this exciting new asset class.

Brian Peterson will be outside the United States July 8-22. I believe I will have internet access during that time and plan to be present during class periods both weeks. If internet access proves more challenging than expected, I will record structured responses to lecture questions that have been received prior to the July 17 and July 19 class periods.

Required Texts

Tomasini, Emilio, and Urban Jaekle. 2011. Trading Systems. Harriman House.

Narang, Rishi K. 2013. Inside the Black Box: A Simple Guide to Quantitative and High Frequency Trading. John Wiley & Sons.

Hyndman, Rob J., and George Athanasopoulos. 2014. Forecasting: principles and practice. OTexts.

Peterson, Brian G. 2015. “Developing & Backtesting Systematic Trading Strategies”.

Supplementary Reading

Supplemental texts will be referred to in the lectures, and referenced by other readings, but no readings will be required from these texts. Whether a student should own these texts will in part be influenced by your career goals, or the types of analysis you choose to do for your projects.

Kuhn, Max, and Kjell Johnson. 2013. Applied Predictive Modeling. New York: Springer.

Hastie, Trevor, et. al. 2009. The Elements of Statistical Learning. Vol. 2, no. 1. New York: Springer.

Ilmanen, Antti. 2011. Expected Returns: An Investor’s Guide to Harvesting Market Rewards. John Wiley & Sons.

Pardo, Robert. 2008. The Evaluation and Optimization of Trading Strategies, Second Edition. John Wiley & Sons.

Aronson, David. 2006. Evidence-Based Technical Analysis: Applying the Scientific Method and Statistical Inference to Trading Signals. Wiley.

Both projects will require extensive additional reading. Required project reading will be determined by the paper or strategy chosen, and demonstrating understanding of your project-specific supplementary readings will be a key part of your grade.

Learning technology

Canvas learning management system

The Canvas learning management system is the central means of interaction and participation during the course.

  • news and announcements
  • general discussion forum with other students, TA, and instructor
  • links to recorded lectures
  • lecture slides
  • assignment posting
  • online quizzes

Students should post all course related questions to the general discussion forum for TA, instructor, and peer responses and discussion.

Zoom web conferences

Lectures and office hours will be conducted via Zoom Web Conferencing.

  • Live web conferencing
  • Screen sharing
  • Interactive chat

Office Hours

Brian is in the office from approximately 6am-6pm Chicago Time Monday-Friday. Google Hangouts or Zoom conferences may be scheduled at student request during these times, with flexibility for prior commitments.

Times outside the listed Office hours times will be considered on a case by case basis. Office hours should be utilized for private matters not suitable for interactive class/lecture periods or unsuitable for email.

Students are encouraged to network with and collaborate with their classmates, but the instructor will be available for appointments as well.


The final grade will be determined as follows:

Assessment % of final grade

Paper Project


Strategy Project


Lecture Quizzes




Policy on late assignment/project submission

No late midterm/final project submissions will be accepted. Extenuating circumstances (documented medical issue or death in the family) will be handled on an individual basis.

Assignments are targeted to help you make progress on your projects.
Failure to keep up with the assignments will likely result in lower project grades, as it will be difficult to cover all the project steps if you do not do all the interim steps. The projects reflect significant, non-trivial outlays of research, reading, coding, and writing time, and can not reasonably be completed in a marathon before the due date. Assignments are not graded other than ‘submitted’.

Lecture ‘Quizzes’ have been added to keep you on track with the lecture material. You will be asked to provide feedback on what you found most difficult about each lecture topic and for any questions you have which you want covered in the class period. We’ve learned from experience that engagement with the lectures is correlated with greater success in the course, so we’re making formal commentary on the lectures a structured part of the class.