Applied Programming for Investments
Course information
- Course Description
- FE459 develops computational problem-solving skills for finance using Python.
The course is an advanced treatment of investment topics using computer programming. Students will use programming techniques to implement financial algorithms for security pricing and risk analysis, including, bonds, stocks, and options. This will be a rigorous, hands-on programming course to prepare students for quantitative jobs in finance. The overall objective of the course is to enhance the students’ understanding of the well-known financial models used to price securities including bonds and options, to evaluate the risk and return characteristics of stocks and portfolios. After the course, students will have a deeper understanding of investment portfolios, risk management techniques that use derivatives, and arbitrage strategies. Additionally, students will become comfortable with a modern programming language based on functional and object-oriented programming, which will enhance their job opportunities in a variety of fields beyond finance.
- Prerequisites
- This class is an applied/computational investments class suited for an advanced undergraduate student in the Finance concentration, or a student majoring in computer science with a strong interest in Finance. Prerequisite courses will include the Core class in Financial Management (FE323) and an introductory computer-programming course (CS108 or CS111 or equivalent). There will be a quiz to test programming competency on the first day of class. Students who do not have sufficient programming skills must withdraw from the class.
Students are strongly recommended to take the Investments class (FE445) before taking FE459, or else be prepared to do independent readings before the class begins.
- Class Meetings
- Mondays and Wednesdays, 9:25am - 10:40am HAR 210
- Instructor
-
- Aaron Stevens
Senior Lecturer
(see the staff page for contact information and office hours)
- Aaron Stevens
- Online Textbooks
- How to Think Like a Computer Scientist with Python 3
by Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers
- What Hedge Funds Really Do by Philip Romero and Tucker Balch (denoted Hedge Funds) ISBN-13: 978-1-63157-089-6
-
Essentials of Investments by Zvi Bodie, Alex Kane, and Alan Marcus, 9th edition ISBN-13: 978-0077861674
Specific readings will be assigned each week. To get the most out of class time, you should read the assigned sections BEFORE coming to class.
- Requirements
-
- Regular assignments (30%)
-
- Exams: one midterm exam (30%) and a final exam (30%)
-
- Participation, attendance, class contributions (10%)
Teaching/Learning Method
The course will be a rigorous and hands-on programming experience. Learning to program is a skill that takes practice, similar to learning a sport or a musical instrument. You cannot learn to play basketball by simply watching the Celtics; rather, you need to go to the gym and practice your shots. Similarly, is not possible to learn how to program by simply “watching.” To become a programmer, you must actively program! Assignments will often be very time consuming, so you must plan ahead and start early.
Here is our general plan for each week:
- The assignment for each class will be posted on Monday for your review.
- Tuesday’s class meeting will be a discussion about assignment’s subject matter, the underlying finance concepts, and relevant programming topics.
- Begin working on the week’s assignment immediately after Tuesday’s class! The more progress you make, the better value you will get out of Thursday’s class time!
- Thursday’s class meeting will be a programming workshop for the assignment. We will begin with general questions about the week’s assignment (approximately 15 minutes), and proceed to individual questions (in 1-on-1 Zoom breakout rooms).
Assignments will generally be due on the Sunday following the week in which they are assigned.