The Black-Scholes PDE can be transformed into the heat equation: ut−uxx=0, with known boundary conditions and initial condition u(x,0)=f(x). The heat equation can be approximated using finite difference methods.
Let
- x∈[XS,XE], and t∈[0,α], where α=12r T σ2, XS<<1 and XE>>1.
- i.e. XS:=−10 and XS:=2, assuming the share price is bounded by the interval St=e−10 E and St=e2 E, during the lifetime of the option.
- Discretize x over [XS,XE] with xi=XS+i h, ∀i∈[0,J], with an increment h=XE−XSJ, where J is the number of points required over the x-space.
- Discretize t over [0,α] with tn=n Δt, ∀n∈[0,N], with an increment Δt=αN, where N is the number of points required over the t-space.
- For a put option, we have the initial condition of u(xi,0)=max(e0.5(w−1)Xi−e0.5(w+1)Xi,0), and boundary conditions u(XE,tn)=0 and V(x1,tn)=e0.5(w−1)x1+(w+1)2 tn/4, where w=2rσ2.
The equation of the forward method:
u(xi,tn+1)−u(xi,tn)Δt− D2x[u(xi,tn)]=0, whereD2x[u(xi,tn)]=u(xi+1,tn)−2u(xi,tn)+u(xi−1,tn)h2, h=xi+1−xi and Δt=tn+1−tn. This givesun+1i=Δth2(uni+1+uni−1)+(1−2Δth2)uni. It can be shown that the forward numerical scheme is only stable when(1−2λ)>0⟺N>rTσ2J2(XE−XS)2, where λ=Δth2.
The equation of the backward method:
u(xi,tn+1)−u(xi,tn)Δt− D2x[u(xi,tn+1)]=0, whereD2x[u(xi,tn+1)]=u(xi+1,tn+1)−2u(xi,tn+1)+u(xi−1,tn+1)h2, h=xi+1−xi and Δt=tn+1−tn. This gives−Δth2un+1i+1+(1+2Δth2)un+1i−Δth2un+1i−1=uni. It can be shown that the backward numerical scheme is always stable. Thus, we can find the solution by solving the system of linear equation
M(J−1)×(J−1) Un+1(J−1)×1=Vn(J−1)×1, where Un+1(J−1)×1=(un+11un+12un+13⋮un+1J−2un+1J−1), Vn(J−1)×1=(un1+λun+10un2un3⋮unJ−2unJ−1+λun+1J)
M(J−1)×(J−1)=(1+2λ−λ000⋯0−λ1+2λ−λ00⋯00−λ1+2λ−λ0⋯00⋯⋯⋯⋯⋯00⋯⋯⋯⋯⋯00⋯⋯⋯−λ1+2λ−λ0⋯⋯⋯0−λ1+2λ).
Gauss elimination can then be used to find un+1i from uni, ∀n∈[1,N−1]. Note that solving for Un+1(J−1)×1=M−1(J−1)×(J−1)Vn(J−1)×1 is computationally expensive when calculating the inverse of a tridiagonal sparse matrix.
The equation of Crank-Nickolson method:
u(xi,tn+1)−u(xi,tn)Δt− D2x[u(xi,tn)+u(xi,tn+1)2]=0, whereD2x[u(xi,tn)+u(xi,tn+1)2]=12(D2x[u(xi,tn)]+D2x[u(xi,tn+1)]). It can be shown that Crank-Nickolson numerical scheme is always stable. Thus, we can find the solution by solving the system of linear equation
M(J−1)×(J−1) Un+1(J−1)×1=Vn(J−1)×1, where Un+1(J−1)×1=(un+11un+12un+13⋮un+1J−2un+1J−1), Vn(J−1)×1=(fn1+λun+10fn2fn3⋮fnJ−2fnJ−1+λun+1J),
M(J−1)×(J−1)=(1+2λ−λ000⋯0−λ1+2λ−λ00⋯00−λ1+2λ−λ0⋯00⋯⋯⋯⋯⋯00⋯⋯⋯⋯⋯00⋯⋯⋯−λ1+2λ−λ0⋯⋯⋯0−λ1+2λ),
where fni:=λuni+1+(1−2λ)uni+λuni−1. Gauss elimination can then be used to find un+1i from uni, ∀n∈[1,N−1].
Ameican Options.
For American options, we have to include the property of the early exercise of the option. For a Put option, the early exercise has a value of gn+1i=etn+14(w+1)2max(ew−12xi−ew+12xi,0).
Taking the forward method as an example, we get un+1i=max(gn+1i,Δth2(uni+1+uni−1)+(1−2Δth2)uni).
![]() |
Forward Finite Differences |
![]() |
Backward Finite Differences |
![]() |
Crank-Nicolson Finite Differences |
References
- Burden, R. L., & Faires, J. D. (2005).
Numerical analysis
. Thomson Brooks/Cole. - Haidar, H. (2008).
Pricing options for special prices movement
,” MSc dissertation, University of Sussex.
No comments:
Post a Comment