list of algorithms
acknowledgements
1. introduction
1.1 about this book
1.2 principles
1.3 on software
1.4 on approximations and accuracy
1.5 summary: the theme of the book
part one fundamentals
2. numerical analysis in a nutshell
2.1 computer arithmetic
representation of real numbers
machine precision
example of limitations of floating point arithmetic
2.2 measuring errors
2.3 approxinaating derivatives with finite differences
approximating first-order derivatives
approximating second order derivatives
partial derivatives
.how to choose h
truncation error for forward difference
2.4 numerical instability and ill-conditioning
example ora numerically unstable algorithm
example of an ill-conditioned problem
2.5 condition number of a matrix
comments and examples
2.6 a primer on algorithmic and computational complexity
2.6.1 criteria for comparison
order of complexity and classification
2.a operation count for basic linear algebra operations
3. linear equations and least squares problems
choice of method
3. 1 direct methods
3.1.1 triangular systems
3.1.2 lu factorization
3.1.3 cholcsky factorization
3.1.4 qr decomposition
3.1.5 singular value decomposition
3.2 iterative methods
3.2.1 lacobi, gauss-seidel, and sor
successive overrelaxation
3.2.2 convergence of iterative methods
3.2.3 general structure of algorithms for iterative methods
3.2.4 block iterative methods
3.3 sparse linear systems
3.3.1 tridiagonal systems
3.3.2 irregular sparse matriccs
3.3.3 structural properties of sparse matrices
3.4 the least squares problem
3.4.1 method of normal equations
3.4.2 least squares via qr factorization
3.4.3 l.east squares via svd decomposition
3.4.4 final remarks
the backslash operator in matlab
4. finite difference methods
4.1 an example of a numerical solution
a first numerical approximation
a second numerical approximation
4.2 classification of differential equations
4.3 the biack-scholes equation
4.3.1 explicit, implicit, and o-methods
4.3.2 initial and boundary conditions and definition of the grid
4.3.3 implementation of the o-method with matlab
4.3.4 stability
4.3.5 coordinate transformation of space variables
4.4 american options
4.a a note on matlab’’s function spdiags
5. binomial trees
5.1 motivation
matching moments
5.2 growing the tree
5.2.1 implementing a tree
5.2.2 vectorization
5.2.3 binomial expansion
5.3 early exercise
5.4 dividends
5.5 the greeks
greeks from the tree
part two simulation
6. generating random numbers
6.1 monte carlo methods and sampling
6.1.1 how it all began
6.1.2 financial applications
6.2 uniform random number generators
6.2.1 congruential generators
6.2.2 mersenne twister
6.3 nonuniform distributions
6.3.1 the inversion method
6.3.2 acceptance-rejection method
6.4 specialized methods for selected distributions
6.4.1 normal distribution
6.4.2 higher order momcnts and the cornish-fisher expansion
6.4.3 further distributions
6.5 sampling from a discrete set
6.5.1 discrete uniforal selection
6.5.2 roulette wheel selection
6.5.3 random permutations and shuffling
6.6 sampling errors---and how to reduce them
6.6.1 the basic problem
6.6.2 quasi-monte carlo
6.6.3 stratified sampling
6.6.4 variance reduction
6.7 drawing from empirical distributions
6.7.1 data randomization
6.7.2 bootstrap
6.8 controlled experiments and experimental design
6.8.1 replicability and ceteris paribus analysis
6.8.2 available random number generators in matlab
6.8.3 uniform random numbers from matlab’’s rand function
6.8.4 gaussian random numbers from matlab’’s randn function
6.8.5 remedies
7. modeling dependencies
7.1 transformation methods
7.1.1 linear correlation
7.1.2 rank correlation
7.2 markov chains
7.2.1 concepts
7.2.2 the metropolis algorithm
7.3 copula models
7.3.1 concepts
7.3.2 simulation using copulas
8. a gentle introduction to financial simulation
8.1 setting the stage
8.2 single-period simulations
8.2.1 terminal asset prices
8.2.2 1-over-n portfolios
8.2.3 european options
8.2.4 var of a covered put portfolio
8.3 simple price processes
8.4 processes with memory in the levels of returns
8.4.1 efficient versus adaptive markets
8.4.2 moving averages
8.4.3 autoregressive models
8.4.4 autoregressive moving average (arma) models
8.4.5 simulatingarma models
8.4.6 models with long-term memory
8.5 time-varying volatility
8.5.1 the concepts
8.5.2 autocorrelated time-varying volatility
8.5.3 simulating garch processes
8.5.4 selected further autoregressive volatility models
8.6 adaptive expectations and patterns in price processes
8.6.1 price-earnings models
8.6.2 models with learning
8.7 historical simulation
8.7.1 backtesting
8.7.2 bootstrap
8.8 agent-based models and complexity
9. financial simulation at work: some case studies
9.1 constant proportion portfolio insurance (cppi)
9.1.1 basic concepts
9.1.2 bootstrap
9.2 var estimation with extreme value theory
9.2.1 basic concepts
9.2.2 scaling the data
9.2.3 using extreme value theory
9.3 option pricing
9.3.1 modeling prices
9.3.2 pricing models
9.3.3 greeks
9.3.4 quasi-monte carlo
part three optimization
10. optimization problems in finance
10.1 what to optimize?
10.2 solving the model
10.2.1 problems
10.2.2 classical methods and heuristics
10.3 evaluating solutions
10.4 examples
portfolio optimization with alternative risk measures
model selection
robust/resistant regression
agent-based models
calibration of option -pricing models
calibration of yield structure models
10.5 summary
11. basic methods
11.1 finding the roots off(x) = 0
11.1.1 a naive approach
graphical solution
random search
11.1.2 bracketing
11.1.3 bisection
11.1.4 fixed point method
convergence
11.1.5 newton’’s method
comments
11.2 classical unconstrained optimization
convergence
11.3 unconstrained optimization in one dimension
11.3.1 newton’’s method
11.3.2 golden section search
11.4 unconstrained optimization in multiple dimensions
11.4.1 steepest descent method
11.4.2 newton’’s method
11.4.3 quasi-newton method
11.4.4 direct search methods
11.4.5 practical issues with matlab
11.5 nonlinear least squares
11.5.1 problem statement and notation
11.5.2 gauss-newton method
11.5.3 levenberg-marquardt method
11.6 solving systems of nonlinear equations f (x) = 0
1 1.6.1 general considerations
11.6.2 fixed point methods
11.6.3 newton’’s method
11.6.4 quasi-newton methods
11.6.5 further approaches
11.7 synoptic view of solution methods
12. heuristic methods in a nutshell
12.1 heuristics
12.2 trajectory methods
12.2.1 stochastic local search
12.2.2 simulated annealing
12.2.3 threshold accepting
12.2.4 tabu search
12.3 population-based methods
12.3.1 genetic algorithms
12.3.2 differential evolution
12.3.3 particle swarm optimization
12.3.4 ant colony optimization
12.4 hybrids
12.5 constraints
12.6 the stochastics of heuristic search
12.6.1 stochastic solutions and computational resources
12.6.2 an illustrative experiment
12.7 general considerations
12.7.1 what technique to choose?
12.7.2 efficient implementations
12.7.3 parameter settings
12.8 summary
12.a implementing heuristic methods with matlab
12.a.1 threshold accepting
12.a.2 genetic algorithm
12.a.3 differential evolution
12.a.4 particle swarm optimization
13. portfolio optimization
13.1 the investment problem
13.2 the dassical case: mean-variance optimization
13.2.1 the model
13.2.2 solving the model
13.2.3 mean-variance models
13.2.4 true, estimated, and realized frontiers
13.2.5 repairing matrices
13.3 heuristic optimization of one-period models
13.3.1 asset selection with local search
13.3.2 scenario optimization with threshold accepting
13.3.3 examples
13.3.4 diagnostics
13.a more implementation issues in r
13.a.1 scoping rules in r and objective functions
13.a.2 vectorized objective functions
14. econometric models
14.1 term structure models
14.1.1 yield curves
14.1.2 the nelson-siegel model
14.1.3 calibration strategies
14.1.4 experiments
14.2 robust and resistant regression
14.2.1 the regression model
14.2.2 estimation
14.2.3 an example
14.2.4 numerical experiments
14.2.5 final remarks
14.a maximizing the sharpe ratio
15. calibrating option pricing models
15.1 implied volatility with black-scholes
the smile
15.2 pricing with the characteristic function
15.2.1 a pricing equation
15.2.2 numerical integration
15.3 calibration
15.3.1 techniques
15.3.2 organizing the problem and implementation
15.3.3 two experiments
15.4 final remarks
15.a quadrature rules for infinity
bibliography
index