Course: ORF 311
Instructor: John Mulvey
Description of Course Goals and CurriculumThis class looked at stochastic optimization with applications to financial optimization, investment management, and associated statistical and machine learning concepts. The class was divided into three parts. The first part was looking at the theory of linear and nonlinear programs with an emphasis on convexity and nonconvexity. The second part of the class was looking at the theory behind models for decision theory. The last part of the class was an application analysis looking at applying the theory we had learned to machine learning and investment decisions for various investment vehicles and audiences.
Learning From Classroom InstructionIn the first part of the class (theory of linear and nonlinear programs), the lectures were a good overview of the material and introduced you to the subject. The precept then went through in a very organized and structured way to teach you the most important parts from the lecture. The textbook was then the most helpful in terms of understanding how to apply the material learned especially because homeworks were due the day after precept and sometimes covered material learned only 2 days before it was due. However, for the last two parts of the class, the lecture was a great source for understanding how the material was applied to real world applications and the precepts were better for understanding the actual math behind everything.
Learning For and From AssignmentsThe psets were super helpful for actually applying the theory and understanding how the concepts learned in class were used. It was also helpful to actually go through and derive nonconvexity or the conditions for convexity because it solidified the understanding of the material. The coding portion was also helpful to see the results and how they match intuition. The exam was very similar to the psets and also tested a basic understanding of the material and whether the student could apply it to real application questions. This course really emphasized logical thinking for how to set up an optimization program as well as the ability to analyze and contextualize results in a real world setting, using logic and intuition to explain the results founded.
External ResourcesInvestopedia was actually very helpful for understanding financial terms and what was meant by questions asking to calculate volatility of a portfolio. Google searches for the application portion of the class were also helpful to see what other models and investing strategies investment firms had created and used.
What Students Should Know About This Course For Purposes Of Course SelectionThis course is coded in Python, so definitely know that language. They do teach the specific optimization packages like cvxpy, but you should still know the basics. Also, ORF 307 is pretty helpful for understanding the optimization theory and what the program is actually doing. This was a great course for understanding how to optimize investment portfolios and how to use machine learning to predict better portfolio allocations. It was also really interesting to learn about how the different investment funds invest and optimize their portfolios.
Stochastic Optimization and Machine Learning in Finance