VIEWS: 17 PAGES: 45 POSTED ON: 9/5/2011 Public Domain
Transparent boundary conditions Implementation and numerical results Localization of the Black-Scholes equation using transparent boundary conditions e Ekaterina Voltchkova and S´bastien Tordeux e TSE – Universit´ Toulouse 1 IMT – INSA Toulouse 3d Conference on Numerical Methods in Finance e Marne La Vall´e, April 15–17, 2009 E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Implementation and numerical results Black-Scholes equation for European option prices σ2S 2 2 ∂τ V (S, τ ) + ∂ V (S, τ ) + rS ∂S V (S, τ ) − r V (S, τ ) = 0, 2 S V (S, T ) = (S − K )+ , S ∈ (0, +∞), τ ∈ [0, T ) V (S, τ ) K S Asymptotic behavior: V (S, τ ) S − K e −r (T −τ ) , S −→ +∞, V (S, τ ) 0, S −→ 0+ . E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Implementation and numerical results Change of variables x = ln (S/S0 ), t = T − τ, w (x, t) = V (S, τ ) σ2 2 σ2 ∂t w (x, t) = ∂x w (x, t) + r − ∂x w (x, t) − r w (x, t). 2 2 We suppress the 0-order term: u(x, t) = exp(rt) w (x, t) Advection diﬀusion equation with constant coeﬃcients: σ2 2 σ2 ∂t u(x, t) = ∂ u(x, t) + µ ∂x u(x, t) with µ = r − 2 x 2 x ∈ (−∞, ∞), t ∈ (0, T ] E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Implementation and numerical results Initial condition Put V (S, T ) = (K − S)+ ⇔ u(x, 0) = (K − S0 e x )+ . Call V (S, T ) = (S − K )+ ⇔ u(x, 0) = (S0 e x − K )+ . Other payoﬀ functions V (S, T ) K1 K2 S E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Implementation and numerical results Initial condition Put V (S, T ) = (K − S)+ ⇔ u(x, 0) = (K − S0 e x )+ . Call V (S, T ) = (S − K )+ ⇔ u(x, 0) = (S0 e x − K )+ . Other payoﬀ functions V (S, T ) K1 K2 S E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Implementation and numerical results Initial condition Put V (S, T ) = (K − S)+ ⇔ u(x, 0) = (K − S0 e x )+ . Call V (S, T ) = (S − K )+ ⇔ u(x, 0) = (S0 e x − K )+ . Other payoﬀ functions V (S, T ) K1 K2 S E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Implementation and numerical results Localization on a bounded computational domain x ∈ (−∞, ∞) −→ x ∈ (x− , x+ ) Standard approach Dirichlet or Neumann boundary conditions based on the asymptotics of the solution. Example (call): Dirichlet: V (S− , τ ) = 0 ⇔ u(x− , t) = 0 V (S+ , τ ) = S+ − Ke −r (T −τ ) ⇔ u(x+ , t) = S0 e x+ +rt − K . Neumann: ∂S V (S− , τ ) = 0 ⇔ ∂x u(x− , t) = 0 ∂S V (S+ , τ ) = 1 ⇔ ∂x u(x+ , t) = S0 e x+ +rt . E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Implementation and numerical results Localization on a bounded computational domain x ∈ (−∞, ∞) −→ x ∈ (x− , x+ ) Standard approach Dirichlet or Neumann? How to chose x− and x+ ? Transparent boundary conditions Work for any interval (x− , x+ ) (provided it contains the singularities). Theoretically exact conditions. Numerically almost exact. Almost as easy to implement as Neumann or Dirichlet. E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Exact conditions Implementation and numerical results Approximate conditions Transparent boundary conditions for the advection diﬀusion equation t x+ x Idea: the initial condition on {x > x+ } and boundary values on {x = x+ } deﬁne completely the solution of the PDE in the gray domain. In particular, ∂x u(x+ , t) = S[u(x+ , t)t>0 , u(x, 0)x>x+ ] Find the operator S in an explicit form and use it as a boundary condition when solving for x ≤ x+ . E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Exact conditions Implementation and numerical results Approximate conditions Laplace Transform +∞ u(x, p) = u(x, t) exp(−pt)dt 0 Laplace transform of the time derivative: ∂t u(x, p) = p u(x, p) + u(x, 0) We introduce uH (x, t) = u(x, t) − ϕ(x, t) where ϕ is a solution of the PDE with ϕ(x, 0) = u(x, 0). Important: u(x, 0) has no singularity on x > x+ , and ϕ(x, t) has a simple explicit form, e.g. Call: ϕ(x, t) = S0 e x+rt − K , Put: ϕ(x, t) = 0. E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Exact conditions Implementation and numerical results Approximate conditions Solution in the Laplace domain In the quadrant {x > x+ } we have a homogeneous problem: σ2 2 ∂t uH (x, t) = ∂ uH (x, t) + µ ∂x uH (x, t), for x > x+ , t≥0 2 x uH (x, 0) = 0, for x > x+ Apply the Laplace transform: σ2 2 puH (x, p) = ∂x uH (x, p) + µ ∂x uH (x, p), for x > x+ ; 2 This is an ODE on uH (·, p). E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Exact conditions Implementation and numerical results Approximate conditions Solution in the Laplace domain (continued) σ2 2 puH (x, p) = ∂ uH (x, p) + µ ∂x uH (x, p), for x > x+ ; 2 x Solving this ODE gives uH (x, p) = A− e λ− x + A+ e λ+ x with µ |µ| 2pσ 2 λ± = − 2 ± 2 1+ σ σ µ2 To avoid exploding solutions for x → +∞, set A+ = 0 : µ |µ| 2pσ 2 uH (x, p) = A− exp − 2 + 2 1+ x . σ σ µ2 E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Exact conditions Implementation and numerical results Approximate conditions The Dirichlet-to-Neumann Map A Dirichlet-to-Neumann operator S maps the Dirichlet value to the Neumann value of the solution of a PDE ∂x uH = SuH at x = x+ In the Laplace domain we have for uH µ |µ| 2pσ 2 uH (x, p) = A exp − 2 + 2 1+ x . σ σ µ2 and consequently µ |µ| 2pσ 2 ∂x uH (x+ , p) = − 2 + 2 1+ uH (x+ , p). σ σ µ2 E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Exact conditions Implementation and numerical results Approximate conditions Some useful Laplace transforms function Laplace transform 1 1 √ √ πt p t 1 u(s) u(p) √ √ ds √ π 0 t −s p t 1 e −a(t−s) u(p) √ √ u(s)ds √ π 0 t −s p+a t 1 e −a(t−s) √ √ ∂t + a √ u(s)ds p + a u(p) π 0 t −s E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Exact conditions Implementation and numerical results Approximate conditions The exact DTN map: a non local operator The Dirichlet-to-Neumann map: a multiplication operator in Laplace domain an integro-diﬀerential operator in time domain µ ∂x uH (x+ , t) = − uH (x+ , t)− σ2 µ2 2 1 2 µ2 t e − 2σ2 (t−s) uH (x+ , s) − 2 ∂t + 2 √ ds =: S+ uH (x+ , t) σ π 2σ 0 t −s Coming back to the non-homogeneous solution we obtain ∂x u(x+ , t) = S+ u(x+ , t) + (∂x ϕ(x+ , t) − S+ ϕ(x+ , t)) E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Exact conditions Implementation and numerical results Approximate conditions The Dirichlet-to-Neumann map at x = x− t x− x Using the same arguments for {x < x− }, we obtain ∂x u(x− , t) = S− u(x− , t) + (∂x ψ(x− , t) − S− ψ(x− , t)) with µ2 µ 2 1 2 µ2 t e − 2σ2 (t−s) u(s) S− u(t) := − 2 u(t)+ 2 ∂t + 2 √ ds. σ σ π 2σ 0 t −s E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Exact conditions Implementation and numerical results Approximate conditions Implementation of the exact transparent conditions PDE: usual Finite Diﬀerence scheme (Cranck-Nicolson). Boundary: integration by parts to remove the singularity + trapezoidal rule. Numerical experiments Advantages Very good precision. The error is only due to the discretization of the integral which may be improved. Drawbacks Messy formulas to implement. At each time iteration, boundary conditions involve all previous values of u on the boundary (not only u n−1 ). E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Exact conditions Implementation and numerical results Approximate conditions Approximation of the transparent conditions First idea: approximate the integro-diﬀerential Dirichlet-to-Neumann operator by a diﬀerential operator by approximating its Laplace symbol by a polynomial. µ |µ| 2pσ 2 ∂x uH (x+ , p) = − + 2 1+ uH (x+ , p). σ2 σ µ2 ⇓ ∂x uH (x+ , p) = − a0 + a1 p + · · · + am p m uH (x+ , p). ⇓ m ∂x uH (x+ , t) = − a0 + a1 ∂t + · · · + am ∂t uH (x+ , t). E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Exact conditions Implementation and numerical results Approximate conditions Numerical results for polynomial approximation We have performed numerical experiments using Taylor expansion of the symbol at p = 0. Unfortunately, this approximation does not work well: The precision is not better than for Dirichlet or Neumann. Increasing m does not improve the precision. (see next slide) E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Exact conditions Implementation and numerical results Approximate conditions r = 0.05 σ = 0.2 S0 = 100 Put option K = 100 T =1 (Loading movie...) Nx = 101 Nt = 100 Dirichlet Neumann Taylor E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Exact conditions Implementation and numerical results Approximate conditions r = 0.05 σ = 0.2 S0 = 100 Put option K = 100 T =1 (Loading movie...) Nx = 101 Nt = 100 Dirichlet Neumann Taylor E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Exact conditions Implementation and numerical results Approximate conditions Comments on the polynomial approximation The polynomial approximation does not give good results. The reason is that polynomials are not a good approximation for 1 + (2σ 2 /µ2 )p ( see graphics ): the radius of convergence is small ⇒ bad approximation for p > rconv = µ2 /2σ 2 ; Remark: small p (low frequencies) correspond to large t, large p (high frequencies) correspond to small t. Example: if r = 0.05, σ = 0.2, then rconv ≈ 0.01. Heuristically, the approximation is bad for t < 100! We have also tried Taylor expansion at a diﬀerent point p > 0. The results are globally the same. E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Exact conditions Implementation and numerical results Approximate conditions Approximation by rational functions Alternative approach: approximate by rational functions. µ |µ| 2pσ 2 β1 βmr − + 1+ ≈ η0 + η1 p + +···+ σ2 σ2 µ2 p + γ1 p + γmr This leads to the boundary condition ∂x uH (x+ , t) = η0 uH (x+ , t) + η1 ρ0 (t) + β1 ρ1 (t) + · · · + βmr ρmr (t) where the auxiliary functions ρi satisfy the following ODEs: ρ0 (t) = ∂t uH (x+ , t), ∂t ρi (t) + γi ρi (t) = uH (x+ , t), ρi (0) = 0, i = 1, . . . , mr E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Exact conditions Implementation and numerical results Approximate conditions Approximation by rational functions √ z Approximation with 2 interpolation points 3 2 1 8 4 z z 1 2 3 4 5 6 7 8 9 20 40 60 E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Exact conditions Implementation and numerical results Approximate conditions Approximation by rational functions √ z Approximation with 3 interpolation points 3 2 1 8 4 z z 1 2 3 4 5 6 7 8 9 20 40 60 E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Exact conditions Implementation and numerical results Approximate conditions Approximation by rational functions √ z Approximation with 4 interpolation points 3 2 1 8 4 z z 1 2 3 4 5 6 7 8 9 20 40 60 E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Exact conditions Implementation and numerical results Approximate conditions Approximation by rational functions √ z Approximation with 5 interpolation points 3 2 1 8 4 z z 1 2 3 4 5 6 7 8 9 20 40 60 E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Exact conditions Implementation and numerical results Approximate conditions Approximation by rational functions √ z Approximation with 6 interpolation points 3 2 1 8 4 z z 1 2 3 4 5 6 7 8 9 20 40 60 E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Implementation and numerical results r = 0.05 σ = 0.2 S0 = 100 Put option K = 100 T =1 (Loading movie...) Nx = 101 Nt = 100 Dirichlet Neumann Rational E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Implementation and numerical results r = 0.05 σ = 0.2 S0 = 100 Put option K = 100 T =1 (Loading movie...) Nx = 101 Nt = 100 Transparent Rational E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Implementation and numerical results r = 0.05 σ = 0.2 S0 = 100 Put option K = 100 T =1 (Loading movie...) Nx = 101 Nt = 100 Transparent Rational E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Implementation and numerical results r = 0.05 σ = 0.2 S0 = 100 Put option K = 100 T =1 (Loading movie...) Nx = 101 Nt = 100 Transparent Rational E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Implementation and numerical results Comments on the implementation The implementation is easy due to the introduction of auxiliary functions. The vector of unknowns is u n = (λn l , . . . , λn , λn , u0 , u1 , . . . , uN , uN+1 , ρn , ρn , . . . , ρn r ) ˜ m 1 0 n n n n 0 1 m Iterations: A˜n+1 = b(˜n ) with constant matrix A u u show matrix . ... n+1 n+1 aui−1 + buin+1 + cui+1 = dui−1 + euin + fui+1 , n n i = 1, . . . , N n+1 n+1 uN+1 − uN−1 ˜ = η0 u n+1 + η1 ρn+1 + β1 ρn+1 + · · · + βmr ρn+1 + (Sφ)n+1 mr 0 1 N 2∆x n+1 n uN − uN 1 = (ρn+1 + ρn )0 ∆t 2 0 ρn+1 − ρn 1 n+1 i i = (uN − γi ρn+1 + uN − γi ρn ) i n i ∆t 2 E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Implementation and numerical results Conclusion Transparent conditions are: suitable for any small computational domain (containing the singularities) easy to implement apply to a wide range of initial conditions Remark: apply without changes to σ(S) provided that σ = const outside of (S− , S+ ). ⇒ Should be used instead of Dirichlet and Neumann Future work PDE with time-dependent coeﬃcients, PIDE. E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Implementation and numerical results Bibliography Halpern Laurence, Artiﬁcial boundary conditions for the linear advection diﬀusion equation. Math. Comp. (86) Joly Patrick, Pseudo-transparent boundary conditions for the diﬀusion equation. M2AS (89) Dubach Eric, Artiﬁcial boundary conditions for diﬀusion equations: numerical study. JCAM (95) Halpern L. and Rauch J., Absorbing boundary conditions for diﬀusion equation, Numer. math. (95) E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Implementation and numerical results Bibliography Halpern Laurence, Artiﬁcial boundary conditions for the linear advection diﬀusion equation. Math. Comp. (86) Joly Patrick, Pseudo-transparent boundary conditions for the diﬀusion equation. M2AS (89) Dubach Eric, Artiﬁcial boundary conditions for diﬀusion equations: numerical study. JCAM (95) Halpern L. and Rauch J., Absorbing boundary conditions for diﬀusion equation, Numer. math. (95) E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Transparent boundary conditions Implementation and numerical results Bibliography Halpern Laurence, Artiﬁcial boundary conditions for the linear advection diﬀusion equation. Math. Comp. (86) Joly Patrick, Pseudo-transparent boundary conditions for the diﬀusion equation. M2AS (89) Dubach Eric, Artiﬁcial boundary conditions for diﬀusion equations: numerical study. JCAM (95) Halpern L. and Rauch J., Absorbing boundary conditions for diﬀusion equation, Numer. math. (95) E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation r = 0.05 σ = 0.2 S0 = 100 Put option K = 100 T =1 (Loading movie...) Nx = 101 Nt = 100 Dirichlet Neumann Transparent next E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation r = 0.05 σ = 0.2 S0 = 100 Put option K = 100 T = 10 (Loading movie...) Nx = 101 Nt = 100 Dirichlet Neumann Transparent back E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Taylor approximation of the symbol 1 μ |μ| 2pσ 2 2 + 2 1+ 2 6 σ2 σ μ Taylor order 0 5 4 3 2 1 0 p .1 .2 .3 −1 −2 −3 E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Taylor approximation of the symbol 1 μ |μ| 2pσ 2 2 + 2 1+ 2 6 σ2 σ μ Taylor order 1 5 4 3 2 1 0 p .1 .2 .3 −1 −2 −3 E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Taylor approximation of the symbol 1 μ |μ| 2pσ 2 2 + 2 1+ 2 6 σ2 σ μ Taylor order 2 5 4 3 2 1 0 p .1 .2 .3 −1 −2 −3 E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Taylor approximation of the symbol 1 μ |μ| 2pσ 2 2 + 2 1+ 2 6 σ2 σ μ Taylor order 3 5 4 3 2 1 0 p .1 .2 .3 −1 −2 −3 E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Taylor approximation of the symbol 1 μ |μ| 2pσ 2 2 + 2 1+ 2 6 σ2 σ μ Taylor order 4 5 4 3 2 back 1 0 p .1 .2 .3 −1 −2 −3 E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation Matrix A of the linear system A˜n+1 = b n u 1 + Δt γ1 2 − Δt 2 1+ Δt 2 γ2 − Δt 2 1 + Δt γ3 2 − Δt 2 − Δt 2 1 −2Δxα1 −2Δxα2 −2Δxα3 −2Δxξ1 −1 −2Δxξ0 1 a b c a b c −1 −2Δxη0 1 −2Δxη1 −2Δxβ1 −2Δxβ2 −2Δxβ3 1 − Δt 2 −2Δt 1 + Δt δ1 2 − Δt 2 1 + Δt δ2 2 −2Δt 1 + Δt δ3 2 E. Voltchkova and S. Tordeux Transparent boundary conditions for the BS equation