Quantitative Decisions in Life, Love, and Finance#
Description#
Decision-making is essential to almost everything facet of life. However, are you making the best possible decisions? This course introduces quantitative decision-making tools and strategies that will give students a framework to make the best possible decisions in life, love, and finance. Students will be introduced to concepts such as utility maximization using personalized happiness functions. Students will also be introduced to modern machine learning and artificial intelligence approaches to decision-making, such as Markov Decisions Processes (MDP), Reinforcement Learning (RL), Imitation Learning (IL), and Multiagent decision-making tools and methods.
Times, places and websites#
Credits: 3-credits
Lectures and discussions: Lectures TuTh 11:15 AM - 12:05 PM, Discussions Fr 1:25 PM - 2:15 PM
Website: Canvas and GitHub.
The labs are available on our GitHub lab repository
The lecture examples are available on our GitHub example repository
Lectures, labs and problem sets will use the the VLDecisionsPackage.jl package.
Schedule: The lecture, lab and problem set schedule can be viewed here (requires Cornell login).
Outcomes#
In this course, students will:
Outcome 1: Identify personalized happiness functions and use these functions, along with key concepts such as utility maximization, to make optimal decisions in personal and professional contexts.
Outcome 2: Demonstrate fluency in developing and applying artificial intelligence and machine learning tools to problems in decision-making in personal and professional contexts.
Outcome 3: Interrogate process, product, and financial data sets to compute optimal decisions in offline and real-time contexts.
Topics#
Lectures are organized into units, each having roughly four weeks of class time
Unit 1: Utility and Simple Optimal Decisions In this unit, we will introduce the concept of utility maximization using personalized happiness (utility) functions. We will also introduce the concept of simple optimal decisions using the Lagrange multiplier and numerical optimization methods.
Unit 2: Rational Uncertain Optimal Decisions In this unit, we will introduce the concept of rational uncertain optimal decisions where the decision-maker is uncertain about the state of the world (which can be random).
Unit 3: Sequential Decisions and Games This unit will introduce Markov Decision Processes (MDP) and Monte Carlo Tree Search (MCTS) to analyze multi-agent games and sequential decisions.
Unit 4: Machine Learning Methods and Decisions In this unit, we will introduce machine learning methods and their role in decision-making. Specifically, we will focus on Reinforcement Learning (RL) and Imitation Learning (IL) and their applications to optimal decision-making.
Prerequisites#
There are no formal prerequisites for this course. However, general familiarity with common programming languages such as Python/Matlab/Julia and mathematical and computing topics such as probability, statistics, optimization, and data science tools such as Jupyter notebooks, DataFrames, etc., will be helpful.
Grading#
We expect this course to draw from a spectrum of students, including “those less comfortable with computing,” “those more comfortable with computing,” and those in between. However, what ultimately matters is not where you end up relative to your classmates but where you are relative to yourself.
Each student’s final grade is individually determined at the end of the semester based on their peformance in the following components (percentages subject to change):
Percentage |
Component |
---|---|
10% |
Participation. Course participation (code reviews, questions and TA/course evaluations) will be an important component of the course. Participation opportunities will be identified throughout the semester. |
40% |
Problem sets. Approximately 10 problem sets will be administered over the semester. Problem sets will be distributed via Canvas or GitHub classroom (typically released on Friday afternoons and due one-week later). Problem sets can be completed in teams. |
20% |
Mid-term exam. One take-home, mid-term examination will be distributed. The distribution date will be announced ahead of time, and once distributed, students will have a specified number of hours (at least 36 hours) to complete the exam. |
30% |
Final project. Development of a research project by each student (semester long with additional emphasis during the final 5 weeks of the course). The projects will conclude with a written report and an oral presentation to the class near the end of the semester. The final written reports will be due on the University assigned date for final projects. |
Grading details#
Problem sets and the final project are evaluated using correctness, design, and style, with scores computed as 3 x correctness + 2 x design + 1 x style.
The course does not have pre-determined cutoffs for final grades. The course is not graded on a curve. Those less comfortable and somewhere in between are not disadvantaged compared to those more comfortable.
Remarkable effort and upward trending are considered, as is input from the teaching team.
Course policies and procedures#
Students must know and abide by Cornell’s Code of Academic Integrity. You may discuss (and complete) problem sets with classmates. However, take-home exams must be completed individually without the help of students, teaching assistants, faculty, and other sources. Please review Cornell’s academic integrity policy
Late problem sets: You are granted 5 \(\times\) free late days to use throughout the semester. You may use these late days however you wish, but once they are used up, late homework will be penalized. After you consume your late-day budget, 25% will be deducted from your grade each day the homework assignment is late.
Exam re-grade requests must be submitted in writing within one week of the return of the exam document. The entire exam document will be re-graded in addition to addressing the re-grade request.
If you need to request an extension on a problem set because of an extenuating circumstance, please get in touch with Professor Varner before the problem set is due to discuss an extension.
The course will officially support numerical computing in various programming languages (open source and platform agnostic). We’ll use Visual Studio Code (VSCode) as our Integrated Development Environment (IDE), and Julia as our primary programming language. However, students are free to use whatever
free open source language
they wish, e.g., Python, the C-programming language or R for course assignments (but no help unless you use Julia).
Do over policy#
In addition to the free late days, you will be granted 3 \(\times\) do-overs for problem sets and prelim questions. You may use these do-overs in any way you wish, but re-submissions will not be accepted once they are used up.
Disabilities statement#
If you have a disability-related need for reasonable academic adjustments in this course, please provide Professor Varner with an accommodation letter from Student Disability Services. Students are expected to give two weeks’ notice of the need for accommodations.
Diversity statement#
We aspire to create an environment for learning, intellectual discourse, and professional and social interactions where everyone feels welcome and valued. We recognize all course participants as responsible adults with differing perspectives based partly on their unique experiences. We espouse the broader mission and values of the Smith School.