Modern financial markets are marked by the widespread prevalence of new financial products, the importance of risk management, and the availability of powerful computational technology. In this class, we develop financial models and computational methods to solve pricing, hedging, and portfolio optimization problems that appear every day in financial markets. The emphasis is on a practical approach: we apply models and methods in a hands-on fashion to real problems, and simultaneously highlight their limitations in real situations. We develop techniques to price a wide
array of equity derivatives, including path-dependent options and multi-asset options. We explore the related problems of hedging and risk management, and we address issues that arise in short and long term portfolio optimization. Finally, we construct models for the evolution of interest rates, to allow for the pricing and hedging of interest rate derivatives.