Optimization for Finance
The optimisation toolbox behind every portfolio, hedging, and risk-budget problem in modern finance — convex programming, KKT, duality, quadratic programming, conic and stochastic optimisation. Ten modules taught practically: every theorem is followed by the finance problem it solves and the solver call (cvxpy, scipy, MOSEK) that produces the answer.
10
Modules
~9h 20m
Reading time
Advanced
Level
Self-paced
Format
Syllabus
- 01→
Optimisation — the problem statement
Decision variables, objective, constraints. Feasibility, local vs global optima, the convex/non-convex split that decides whether your problem is tractable.
~45 minModule 01 - 02→
Convex sets and convex functions
Why convexity matters: every local minimum is global. The operations that preserve convexity. Quick tests you can apply by hand.
~55 minModule 02 - 03→
Unconstrained methods — gradient and Newton
Gradient descent, step-size rules, Newton's method, BFGS quasi-Newton. Convergence rates, conditioning, and when each beats the others.
~60 minModule 03 - 04→
Constrained optimisation — the Lagrangian and duality
Lagrange multipliers, the dual function, weak and strong duality, Slater's condition. The shadow-price interpretation that every economist already half-knows.
~60 minModule 04 - 05→
KKT conditions
Karush-Kuhn-Tucker conditions as the workhorse first-order optimality test. Stationarity, primal/dual feasibility, complementary slackness.
~55 minModule 05 - 06→
Linear programming
Simplex and interior-point. LP duality. The transportation, blending, and arbitrage formulations a finance team actually runs.
~55 minModule 06 - 07→
Quadratic programming and mean-variance
The QP. Markowitz mean-variance as a QP. Adding constraints — long-only, sector caps, turnover. Why the unconstrained MV problem is closed-form.
~60 minModule 07 - 08→
Conic optimisation — SOCP and SDP
Second-order cone programs and semidefinite programs. Robust portfolio optimisation, ellipsoidal uncertainty, covariance-shrinkage cones.
~55 minModule 08 - 09→
Stochastic and robust optimisation
Scenario-based stochastic programming, chance constraints, CVaR optimisation (Rockafellar-Uryasev), worst-case robust formulations.
~60 minModule 09 - 10→
Solvers in practice — cvxpy, scipy, MOSEK
How to formulate a problem so a solver eats it. Modelling languages, warm-starting, infeasibility diagnosis, the pre-flight checklist before you trust a number.
~55 minModule 10
How to use this course
Start with module 01 if the material is new; skip ahead if you have prior exposure. Each module is self-contained but the arc is sequential — the projects in the final module assume the toolkit from modules 1-11. Every module ends with key takeaways and a curated further-reading list with primary sources.