| |
| |
Preface to the Second Edition | |
| |
| |
From the Preface to the First Edition | |
| |
| |
| |
Background | |
| |
| |
| |
Motivation | |
| |
| |
| |
Need for numerical methods | |
| |
| |
| |
Need for numerical computing environments: why MATLAB? | |
| |
| |
| |
Need for theory | |
| |
| |
For further reading | |
| |
| |
References | |
| |
| |
| |
Financial Theory | |
| |
| |
| |
Modeling uncertainty | |
| |
| |
| |
Basic financial assets and related issues | |
| |
| |
| |
Bonds | |
| |
| |
| |
Stocks | |
| |
| |
| |
Derivatives | |
| |
| |
| |
Asset pricing, portfolio optimization, and risk management | |
| |
| |
| |
Fixed-income securities: analysis and portfolio immunization | |
| |
| |
| |
Basic theory of interest rates: compounding and present value | |
| |
| |
| |
Basic pricing of fixed-income securities | |
| |
| |
| |
Interest rate sensitivity and bond portfolio immunization | |
| |
| |
| |
MATLAB functions to deal with fixed-income securities | |
| |
| |
| |
Critique | |
| |
| |
| |
Stock portfolio optimization | |
| |
| |
| |
Utility theory | |
| |
| |
| |
Mean-variance portfolio optimization | |
| |
| |
| |
MATLAB functions to deal with mean-variance portfolio optimization | |
| |
| |
| |
Critical remarks | |
| |
| |
| |
Alternative risk measures: Value at Risk and quantile-based measures | |
| |
| |
| |
Modeling the dynamics of asset prices | |
| |
| |
| |
From discrete to continuous time | |
| |
| |
| |
Standard Wiener process | |
| |
| |
| |
Stochastic integrals and stochastic differential equations | |
| |
| |
| |
Ito's lemma | |
| |
| |
| |
Generalizations | |
| |
| |
| |
Derivatives pricing | |
| |
| |
| |
Simple binomial model for option pricing | |
| |
| |
| |
Black-Scholes model | |
| |
| |
| |
Risk-neutral expectation and Feynman-Kac formula | |
| |
| |
| |
Black-Scholes model in MATLAB | |
| |
| |
| |
A few remarks on Black-Scholes formula | |
| |
| |
| |
Pricing American options | |
| |
| |
| |
Introduction to exotic and path-dependent options | |
| |
| |
| |
Barrier options | |
| |
| |
| |
Asian options | |
| |
| |
| |
Lookback options | |
| |
| |
| |
An outlook on interest-rate derivatives | |
| |
| |
| |
Modeling interest-rate dynamics | |
| |
| |
| |
Incomplete markets and the market price of risk | |
| |
| |
For further reading | |
| |
| |
References | |
| |
| |
| |
Numerical Methods | |
| |
| |
| |
Basics of Numerical Analysis | |
| |
| |
| |
Nature of numerical computation | |
| |
| |
| |
Number representation, rounding, and truncation | |
| |
| |
| |
Error propagation, conditioning, and instability | |
| |
| |
| |
Order of convergence and computational complexity | |
| |
| |
| |
Solving systems of linear equations | |
| |
| |
| |
Vector and matrix norms | |
| |
| |
| |
Condition number for a matrix | |
| |
| |
| |
Direct methods for solving systems of linear equations | |
| |
| |
| |
Tridiagonal matrices | |
| |
| |
| |
Iterative methods for solving systems of linear equations | |
| |
| |
| |
Function approximation and interpolation | |
| |
| |
| |
Ad hoc approximation | |
| |
| |
| |
Elementary polynomial interpolation | |
| |
| |
| |
Interpolation by cubic splines | |
| |
| |
| |
Theory of function approximation by least squares | |
| |
| |
| |
Solving non-linear equations | |
| |
| |
| |
Bisection method | |
| |
| |
| |
Newton's method | |
| |
| |
| |
Optimization-based solution of non-linear equations | |
| |
| |
| |
Putting two things together: solving a functional equation by a collocation method | |
| |
| |
| |
Homotopy continuation methods | |
| |
| |
For further reading | |
| |
| |
References | |
| |
| |
| |
Numerical Integration: Deterministic and Monte Carlo Methods | |
| |
| |
| |
Deterministic quadrature | |
| |
| |
| |
Classical interpolatory formulas | |
| |
| |
| |
Gaussian quadrature | |
| |
| |
| |
Extensions and product rules | |
| |
| |
| |
Numerical integration in MATLAB | |
| |
| |
| |
Monte Carlo integration | |
| |
| |
| |
Generating pseudorandom variates | |
| |
| |
| |
Generating pseudorandom numbers | |
| |
| |
| |
Inverse transform method | |
| |
| |
| |
Acceptance-rejection method | |
| |
| |
| |
Generating normal variates by the polar approach | |
| |
| |
| |
Setting the number of replications | |
| |
| |
| |
Variance reduction techniques | |
| |
| |
| |
Antithetic sampling | |
| |
| |
| |
Common random numbers | |
| |
| |
| |
Control variates | |
| |
| |
| |
Variance reduction by conditioning | |
| |
| |
| |
Stratified sampling | |
| |
| |
| |
Importance sampling | |
| |
| |
| |
Quasi-Monte Carlo simulation | |
| |
| |
| |
Generating Halton low-discrepancy sequences | |
| |
| |
| |
Generating Sobol low-discrepancy sequences | |
| |
| |
For further reading | |
| |
| |
References | |
| |
| |
| |
Finite Difference Methods for Partial Differential Equations | |
| |
| |
| |
Introduction and classification of PDEs | |
| |
| |
| |
Numerical solution by finite difference methods | |
| |
| |
| |
Bad example of a finite difference scheme | |
| |
| |
| |
Instability in a finite difference scheme | |
| |
| |
| |
Explicit and implicit methods for the heat equation | |
| |
| |
| |
Solving the heat equation by an explicit method | |
| |
| |
| |
Solving the heat equation by a fully implicit method | |
| |
| |
| |
Solving the heat equation by the Crank-Nicolson method | |
| |
| |
| |
Solving the bidimensional heat equation | |
| |
| |
| |
Convergence, consistency, and stability | |
| |
| |
For further reading | |
| |
| |
References | |
| |
| |
| |
Convex Optimization | |
| |
| |
| |
Classification of optimization problems | |
| |
| |
| |
Finite- vs. infinite-dimensional problems | |
| |
| |
| |
Unconstrained vs. constrained problems | |
| |
| |
| |
Convex vs. non-convex problems | |
| |
| |
| |
Linear vs. non-linear problems | |
| |
| |
| |
Continuous vs. discrete problems | |
| |
| |
| |
Deterministic vs. stochastic problems | |
| |
| |
| |
Numerical methods for unconstrained optimization | |
| |
| |
| |
Steepest descent method | |
| |
| |
| |
The subgradient method | |
| |
| |
| |
Newton and the trust region methods | |
| |
| |
| |
No-derivatives algorithms: quasi-Newton method and simplex search | |
| |
| |
| |
Unconstrained optimization in MATLAB | |
| |
| |
| |
Methods for constrained optimization | |
| |
| |
| |
Penalty function approach | |
| |
| |
| |
Kuhn-Tucker conditions | |
| |
| |
| |
Duality theory | |
| |
| |
| |
Kelley's cutting plane algorithm | |
| |
| |
| |
Active set method | |
| |
| |
| |
Linear programming | |
| |
| |
| |
Geometric and algebraic features of linear programming | |
| |
| |
| |
Simplex method | |
| |
| |
| |
Duality in linear programming | |
| |
| |
| |
Interior point methods | |
| |
| |
| |
Constrained optimization in MATLAB | |
| |
| |
| |
Linear programming in MATLAB | |
| |
| |
| |
A trivial LP model for bond portfolio management | |
| |
| |
| |
Using quadratic programming to trace efficient portfolio frontier | |
| |
| |
| |
Non-linear programming in MATLAB | |
| |
| |
| |
Integrating simulation and optimization | |
| |
| |
| |
Elements of convex analysis | |
| |
| |
| |
Convexity in optimization | |
| |
| |
| |
Convex polyhedra and polytopes | |
| |
| |
For further reading | |
| |
| |
References | |
| |
| |
| |
Pricing Equity Options | |
| |
| |
| |
Option Pricing by Binomial and Trinomial Lattices | |
| |
| |
| |
Pricing by binomial lattices | |
| |
| |
| |
Calibrating a binomial lattice | |
| |
| |
| |
Putting two things together: pricing a pay-later option | |
| |
| |
| |
An improved implementation of binomial lattices | |
| |
| |
| |
Pricing American options by binomial lattices | |
| |
| |
| |
Pricing bidimensional options by binomial lattices | |
| |
| |
| |
Pricing by trinomial lattices | |
| |
| |
| |
Summary | |
| |
| |
For further reading | |
| |
| |
References | |
| |
| |
| |
Option Pricing by Monte Carlo Methods | |
| |
| |
| |
Path generation | |
| |
| |
| |
Simulating geometric Brownian motion | |
| |
| |
| |
Simulating hedging strategies | |
| |
| |
| |
Brownian bridge | |
| |
| |
| |
Pricing an exchange option | |
| |
| |
| |
Pricing a down-and-out put option | |
| |
| |
| |
Crude Monte Carlo | |
| |
| |
| |
Conditional Monte Carlo | |
| |
| |
| |
Importance sampling | |
| |
| |
| |
Pricing an arithmetic average Asian option | |
| |
| |
| |
Control variates | |
| |
| |
| |
Using Halton sequences | |
| |
| |
| |
Estimating Greeks by Monte Carlo sampling | |
| |
| |
For further reading | |
| |
| |
References | |
| |
| |
| |
Option Pricing by Finite Difference Methods | |
| |
| |
| |
Applying finite difference methods to the Black-Scholes equation | |
| |
| |
| |
Pricing a vanilla European option by an explicit method | |
| |
| |
| |
Financial interpretation of the instability of the explicit method | |
| |
| |
| |
Pricing a vanilla European option by a fully implicit method | |
| |
| |
| |
Pricing a barrier option by the Crank-Nicolson method | |
| |
| |
| |
Dealing with American options | |
| |
| |
For further reading | |
| |
| |
References | |
| |
| |
| |
Advanced Optimization Models and Methods | |
| |
| |
| |
Dynamic Programming | |
| |
| |
| |
The shortest path problem | |
| |
| |
| |
Sequential decision processes | |
| |
| |
| |
The optimality principle and solving the functional equation | |
| |
| |
| |
Solving stochastic decision problems by dynamic programming | |
| |
| |
| |
American option pricing by Monte Carlo simulation | |
| |
| |
| |
A MATLAB implementation of the least squares approach | |
| |
| |
| |
Some remarks and alternative approaches | |
| |
| |
For further reading | |
| |
| |
References | |
| |
| |
| |
Linear Stochastic Programming Models with Recourse | |
| |
| |
| |
Linear stochastic programming models | |
| |
| |
| |
Multistage stochastic programming models for portfolio management | |
| |
| |
| |
Split-variable model formulation | |
| |
| |
| |
Compact model formulation | |
| |
| |
| |
Asset and liability management with transaction costs | |
| |
| |
| |
Scenario generation for multistage stochastic programming | |
| |
| |
| |
Sampling for scenario tree generation | |
| |
| |
| |
Arbitrage free scenario generation | |
| |
| |
| |
L-shaped method for two-stage linear stochastic programming | |
| |
| |
| |
A comparison with dynamic programming | |
| |
| |
For further reading | |
| |
| |
References | |
| |
| |
| |
Non-Convex Optimization | |
| |
| |
| |
Mixed-integer programming models | |
| |
| |
| |
Modeling with logical variables | |
| |
| |
| |
Mixed-integer portfolio optimization models | |
| |
| |
| |
Fixed-mix model based on global optimization | |
| |
| |
| |
Branch and bound methods for non-convex optimization | |
| |
| |
| |
LP-based branch and bound for MILP models | |
| |
| |
| |
Heuristic methods for non-convex optimization | |
| |
| |
For further reading | |
| |
| |
References | |
| |
| |
| |
Appendices | |
| |
| |
| |
Introduction to MATLAB Programming | |
| |
| |
| |
MATLAB environment | |
| |
| |
| |
MATLAB graphics | |
| |
| |
| |
MATLAB programming | |
| |
| |
| |
Refresher on Probability Theory and Statistics | |
| |
| |
| |
Sample space, events, and probability | |
| |
| |
| |
Random variables, expectation, and variance | |
| |
| |
| |
Common continuous random variables | |
| |
| |
| |
Jointly distributed random variables | |
| |
| |
| |
Independence, covariance, and conditional expectation | |
| |
| |
| |
Parameter estimation | |
| |
| |
| |
Linear regression | |
| |
| |
For further reading | |
| |
| |
References | |
| |
| |
| |
Introduction to AMPL | |
| |
| |
| |
Running optimization models in AMPL | |
| |
| |
| |
Mean variance efficient portfolios in AMPL | |
| |
| |
| |
The knapsack model in AMPL | |
| |
| |
| |
Cash flow matching | |
| |
| |
For further reading | |
| |
| |
References | |
| |
| |
Index | |