- 116 Views
- Uploaded on
- Presentation posted in: General

Computational Finance

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Computational Finance

Zvi Wiener

02-588-3049

http://pluto.mscc.huji.ac.il/~mswiener/zvi.html

Bank Hapoalim

1. Introduction, deterministic methods.

2. Stochastic methods.

3. Monte Carlo I.

4. Monte Carlo II.

5. Advanced methods for derivatives.

Other topics:

queuing theory, floaters, binomial trees, numeraire, ESPP, convertible bond, DAC, ML-CHKP.

CF1

1

-2 1

Vectors {1, 1}, {-2, 1}

rows or1-2

columns1 1

CF1

CF1

1 2 3

2 +-1= 1

-2 1-1

13

3 2 =6

26

CF1

vector

Vectors form a linear space.

Zero vector

Scalar multiplication

CF1

Matrices also

form a linear

space.

matrix

Zero matrix

Unit matrix

CF1

Matrix can operate on a vector

How does zero matrix operate?

How does unit matrix operate?

CF1

Transposition of a matrix

A symmetric matrix is A=AT

for example a variance-covariance matrix.

CF1

Matrix multiplication

CF1

a is orthogonal to b if ab = 0

CF1

Scalar product of two vectors

Euclidean norm

CF1

Determinant is 0 if the operator maps

some vectors to zero (and can not be inverted).

CF1

- Matrix multiplication corresponds to a consecutive application of each operator.
- Note that it is not commutative! ABBA.
- Unit matrix does not change a vector.
- An inverse matrix is such that AA-1=I.

CF1

- Determinant of a matrix ...
- A matrix can be inverted if det(A)0
- Rank of a matrix
- Matrix as a system of linear equations Ax=b.
- Uniqueness and existence of a solution.
- Trace tr(A) – sum of diagonal elements.

CF1

- Change of coordinates C-1AC.
- Jordan decomposition.
- Matrix power Ak.
- Matrix as a quadratic form (metric) xTAx.
- Markov process.
- Eigenvectors, eigenvalues Ax=x, optimization.

CF1

Check how the following matrices act on vectors:

CF1

- Show an example of ABBA.
- Construct a matrix that inverts each vector.
- Construct a matrix that rotates a two dimensional vector by an angle .
- Construct a covariance matrix, show that it is symmetric.
- What is mean and variance of a portfolio in matrix terms?

CF1

- Credit rating and credit dynamics.
- Variance-covariance model of VaR.
- Can the var-covar matrix be inverted
- VaR isolines (the ovals model).
- Prepayment model based on types of clients.
- Finding a minimum of a function.

CF1

- Function of one and many variables.
- Continuity in one and many directions.
- Derivative and partial derivative.
- Gradient and Hessian.
- Singularities, optimization, ODE, PDE.

CF1

$

x

CF1

CF1

CF1

Gradient vector:

CF1

CF1

CF1

For a short time period , the changes in the value are distributed approximately normal with the following mean and variance:

CF1

Then VaR can be found as:

CF1

Volatility estimate on day i based on last M days.

CF1

Covariance on day i based on last M days.

It is important to check that the resulting

matrix is positive definite!

CF1

For every vector x a we have x.A.x > 0

Only such a matrix can be used to define a norm.

For example, this matrix can not have negative diagonal elements. Any variance-covariance matrix must be positive.

CF1

Needs["LinearAlgebra`MatrixManipulation`"];

ClearAll[ positiveForm ];

positiveForm[ a_?MatrixQ ] := Module[{aa, i},

aa = Table[

Det[ TakeMatrix[ a, {1, 1}, {i, i}] ],

{i, Length[a]}];

{ aa, If[ Count[ aa, t_ /; t < 0] > 0, False, True]}

];

CF1

Used to define a Markov chain (only the last state matters).

A matrix P is stochastic if it is non-negative and sum of elements in each line is 1.

One can easily see that 1 is an eigenvalue of any stochastic matrix.

What is the eigenvector?

CF1

- credit migration
- prepayment and freezing of a program

CF1

Theorem: P0 is stochastic iff (1,1,…1) is an eigenvector with an eigenvalue 1 and this is the maximal eigenvalue.

If both P and PT are stochastic, then P is called double stochastic.

CF1

The Cholesky decomposition writes a symmetric positive definite matrix as the product of an uppertriangular matrix and its transpose.

In MMACholeskyDecomposition[m]

CF1

We need to sample two normally distributed variables with correlation .

If we can sample two independent Gaussian variables x1 and x2 then the required variables can be expressed as

CF1

We need to sample n normally distributed variables with correlation matrix ij, ( >0).

Sample n independent Gaussian variables x1…xn.

CF1

CF1

CF1

CF1

f

If the function is monotonic, e.g. implied vol.

x

CF1

f

x2

x3

x

x1

CF1

Solve[ 0 = = x2- 0.8x3- 0.3, {x}]

{{x -> -0.467297}, {x ->0.858648 -0.255363*I}, {x -> 0.858648 + 0.255363*I}}

FindRoot[ x2 + Sin[x] - 0.8x3 - 0.3, {x, 0,1}]

{x -> 0.251968}

CF1

- Gradient method
- Solve a system of equations(both derivatives)

CF1

CF1

ContourPlot[ x^2+y^3, {x,-2,2}, {y,- 2,2}]

ContourPlot[ x^2+y^3, {x,-2,2}, {y,- 2,2}], Contours->{1 ,-0.5}, ContourShading->False];

CF1

CF1

CF1

Consider a portfolio with two risk factors and benchmark duration of 6M.

The VaR limit is 3 bp. and you have to make two decisions:

a – % of assets kept in spread products

q – duration mismatch

we assume that all instruments (both treasuries and spread) have the same duration T+q months.

CF1

q - duration

mismatch

a (% of spread)

CF1

VaR=3 bp

position

VaR=2 bp

q - duration

mismatch

a (% of spread)

CF1

In order to reduce

risk one can increase duration

(in this case).

q - duration

mismatch

a (% of spread)

CF1

What we can do using limits

VaR = 6 bp

CF1

duration mismatch (yr)

Position 2M, and

10% spread

5% weekly VaR=2.2 bp

weekly VaR limit 3 bp

spread %

CF1

x1x2x3…xn

CF1

<<Graphics`Spline`

pts = {{0, 0}, {1, 2}, {2, 3}, {3, 1}, {4, 0}}

Show[

Graphics[

Spline[pts, Cubic, SplineDots -> Automatic]]]

CF1

pts = Table[{i, i + i^2 + (Random[] - 0.5)}, {i, 0, 1, .05}];

Show[Graphics[Spline[pts,Cubic,SplineDots ->Automatic]]]

CF1

data = Table[7*x + 3 + 10*Random[], {x, 10}];

f[x_] := Evaluate[Fit[data, {1, x}, x]]

Needs["Graphics`Graphics`"]

DisplayTogether[

ListPlot[data, PlotStyle -> {AbsolutePointSize[3],

RGBColor[1, 0, 0]}],

Plot[f[x], {x, 0, 10}, PlotStyle -> RGBColor[0, 0, 1]]

];

CF1

CF1

data = {{1.0, 1.0, .126}, {2.0, 1.0, .219},

{1.0, 2.0, .076}, {2.0, 2.0, .126}, {.1, .0, .186}};

ff[x_, y_] = NonlinearFit[data,

a*c*x/(1 + a*x + b*y), {x, y}, {a, b, c}];

ff[x, y]

nonlinear, multidimensional

CF1

MAKAM

CF1

CF1

CF1

S

time

Following P. Wilmott, “Derivatives”

Typically equal time and S (or logS) steps.

CF1

Time step t

asset step S

(i,k) node of the grid is t = T - kt, iS

0 i I, 0 k K

assets value at each node is

note the direction of time!

CF1

Linear parabolic PDE

Final conditions

Boundary conditions ...

CF1

CF1

CF1

CF1

CF1

V1

V2

A4

A3

A1

A2

Area of the rectangle

V3

V4

CF1

For example a European Call option

CF1

For example a Call option

For large S the Call value asymptotes to

S-Ee-r(T-t)

CF1

For example a Put option

For large S

CF1

CF1

CF1

Local truncation error

CF1

Value here is calculated

S

These values are

already known

time

CF1

This equation is defined for 1i I-1,

for i=1 and i=I we use boundary conditions.

CF1

For the BS equation (with dividends)

CF1

Stability problems related to step sizes.

These relationships should guarantee stability.

Note that reducing asset step by half we must reduce the time step by a factor of four.

CF1

Advantages

easy to program, hard to make a mistake

when unstable it is obvious

coefficients can be S and t dependent

Disadvantages

there are restrictions on time step, which may cause slowness.

CF1

CF1

CF1

Values here are calculated

S

This value is used

time

CF1

CF1

CF1

Values here are calculated

S

These values are used

time

CF1

A general form of the linear equation is:

Note that M are tridiagonal!

CF1

Theoretically this equation can be solved as

In practice this is inefficient!

CF1

M is tridiagonal, thus M=LU, where L is lower triangular, and U is upper triangular.

In fact L has 1 on the diagonal and one subdiagonal only, U has a diagonal and one superdiagonal.

CF1

Then in order to solve

Mv=q

or

LUv=q

We will solve

Lw=q

first, and then

Uv=w.

CF1

Very fast, especially when M is time independent.

Disadvantages:

Needs a big modification for American options

CF1

- SOR successive over relaxation
- Douglas scheme
- Three time-level scheme
- Alternating direction method
- Richardson Extrapolation
- Hopscotch method
- Multigrid methods

CF1

Fixed t layer

S

These values are used

to calculate space derivatives

r

Note additional boundary conditions.

CF1

CF1

CF1

CF1

CF1

Standard Normal

Diffusion process

ABM

GBM

CF1

dtdX

dt00

dX0dt

CF1

CF1

Consider two currencies X and Y. Define S an exchange rate (the number of units of currency Y for a unit of X).

The risk-neutral process for S is

By Ito’s lemma the process for 1/S is

CF1

The paradox is that the expected growth rate of 1/S is not ry - rX, but has a correction term.

CF1