Option Pricing with Greek Calculation

Option Pricing with Greek Calculation Andreas Griewank Institute for Applied Mathematics, Humboldt Universit¨ at zu Berlin, Germany Matheon, DFG - Res...
Author: Mercy Horton
3 downloads 0 Views 276KB Size
Option Pricing with Greek Calculation Andreas Griewank Institute for Applied Mathematics, Humboldt Universit¨ at zu Berlin, Germany Matheon, DFG - Research Center, Berlin, Germany [email protected]

November 14, 2007

Andreas Griewank (HUB, Matheon)

Option Pricing with Greek Calculation

November 14, 2007

1 / 24

References

F.Y. Kuo and I. Sloan (2005): Lifting the Curse of Dimensionality M. Giles and P. Glassermann (2007): Smoking Adjoints for Monte Carlo Greeks A. Griewank and A. Walther (2000, 2008): Evaluating Derivatives, Principles and Techniques of Algorithmic Differentiation A. Griewank (2008):( in preparation) Evaluating and Bounding Cross-derivatives

Andreas Griewank (HUB, Matheon)

Option Pricing with Greek Calculation

November 14, 2007

2 / 24

Contents

Quadratures by Quasi-Monte Carlo (QMC) Cross-Derivative Evaluation by AD Cross-Derivative Bounding by AD Application to Asia Options of 80 stocks (Tentative) Conclusions

Andreas Griewank (HUB, Matheon)

Option Pricing with Greek Calculation

November 14, 2007

3 / 24

High Dimensional Quadrature by QCD

Z I(f ) =

f (x)dx

with n ≥ 50

[0,1]n

≈  N N k ·z +∆ 1 X f (xk ) with xk = QX (f ) ≡ N k=1 N k=1 for some generating vector z ∈ Z. Doable if f is in some sense largely separable, i.e., small cross terms X f (x) = f J (xJ ) for xJ = (xj )j∈J . J⊂{1,...,n}

Andreas Griewank (HUB, Matheon)

Option Pricing with Greek Calculation

November 14, 2007

4 / 24

High Dimensional Quadrature by QCD This NOVA decomposition is unique if Z1

f J (xJ )dxj = 0 for all j ∈ J.

0

We call f partially separable if equivalently f {1,2,...,n} (x) = 0

⇐⇒

f{1,2,,...,n} (x) = 0,

where fJ (x) ≡

∂ |J| f (x) denotes cross − derivative (∂xj )j∈J

Andreas Griewank (HUB, Matheon)

Option Pricing with Greek Calculation

November 14, 2007

5 / 24

High Dimensional Quadrature by QCD

Multiplicative bounds g = (γ1 , . . . , γn ) ∈ IR n s.t. Y |fj (x)| ≤ γj for x ∈ Ω j∈J

yield unanchored Sobolev space F w.r.t hf , hiF



X J⊂{1,...,n}

Andreas Griewank (HUB, Matheon)

1 Q γj j∈J

Z fJ (x) · gJ (x) dx [0,1]n

Option Pricing with Greek Calculation

November 14, 2007

6 / 24

Reproducing Kernel by Grace Waba With B2 (z) = x 2 − x +

1 2

the kernel k(x, y ) =

n  Y

 1 + γj

j=1

 1 1  1 B2 (|xj − yj |) + (xj − )(yj − ) 2 2 2

yields Z hk(·, y ), f (·)i =

k(x, y )f (x)dx = f (y ) [0,1]n

Andreas Griewank (HUB, Matheon)

Option Pricing with Greek Calculation

November 14, 2007

7 / 24

High Dimensional Quadrature by QCD Quadrature Error Bound for X = (xk )Nk=1... eN (X ) ≡ max [QX (f ) − I(f )]2 f ∈F

=

N N 1 XX k(xk , x` ) N 2 k=1 `=1

Average error w.r.t. X ∈ [0, 1]d·N yields

e¯N = ≤

Andreas Griewank (HUB, Matheon)

! 21 γk  1+ −1 6 k=1 ! N X 1 1 √ exp γk N 12 k=1 √1 N

n  Y

Option Pricing with Greek Calculation

November 14, 2007

8 / 24

(In)Tractability Results γj = 1 =⇒ eN2 (X )

γ¯ ≡

1 ≥ N

∞ X

for j = 1, . . . , N 

1/p

γj

13 12

n −1

0

Option Pricing with Greek Calculation

November 14, 2007

9 / 24

High Dimensional Quadrature by QCD Suitable choice: Shifted Lattice Rule n z o xk = k + ∆ with ∆ ∈ [0, 1]n N

Averaging w.r.t ∆ yields e¯N2 (z1 , . . . , zn )

  n n  1 XY kzj = −1 + (1 + γj B2 N k=1 j=1 N

allows recursive = greedy construction from z1 = 1 for j = 2, . . . , n zj = argmin e¯N (z2 , . . . , zj−1 , z) z

result achieves (∗). Andreas Griewank (HUB, Matheon)

Option Pricing with Greek Calculation

November 14, 2007

10 / 24

Cross-Derivative Evaluation by AD

Number cross-derivatives versus all derivatives of order ≤ n n



2 

2n n

 ≈

4n p πn/2

Cost of propagation through multiplication operation n

3 

Andreas Griewank (HUB, Matheon)



3n n

 ≈

6.75n p 4πn/3

Option Pricing with Greek Calculation

November 14, 2007

11 / 24

Workhorse: Incremental Convolution for(int j=0;j< h;j++) v[j] = 0; // with h = pow(2,n) void inconv(int h,double* u,double* w,double* v) if(h==1) v[0]+=u[0]*w[0]; // -= u[0]*w[0]; for deconv else h = h/2 inconv(h,u,w,v); inconv(h,u+h,w,v+h); inconv(h,u,w+h,v+h);

Significant speed up by unrolling lowest 3 levels of recursion!! Andreas Griewank (HUB, Matheon)

Option Pricing with Greek Calculation

November 14, 2007

12 / 24

Recursive Multiplications void mult(int h, double* u, double* w, double* v) { v[0]=u[0]*w[0]; for(int j=1;j

Suggest Documents