The theta finite difference scheme is a common generalization of Crank-Nicolson. In finance, the book from Wilmott, a paper from A. Sepp, one from Andersen-Ratcliffe present it. Most of the time, it's just a convenient way to handle implicit θ=1, explicit θ=0 and Crank-Nicolson θ=0.5 with the same algorithm.
Wilmott makes an interesting remark: one can choose a theta that will cancel out higher order terms in the local truncation error and therefore should lead to increased accuracy.
θ=12−(Δx)212bΔt
where b is the diffusion coefficient.
This leads to θ<12, which means the scheme is not unconditionally stable anymore but needs to obey (see Morton & Mayers p 30):
bΔt(Δx)2≤56.
and to ensure that θ≥0:
bΔt(Δx)2≥16
Crank-Nicolson has a similar requirement to ensure the absence of oscillations given non smooth initial value, but because it is unconditionality stable, the condition is actually much weaker if b depends on x. Crank-Nicolson will be oscillation free if b(xj0)Δt(Δx)2<1 where j0 is the index of the discontinuity, while the theta scheme needs to be stable, that is max(b)Δt(Δx)2≤56
This is a much stricter condition if b varies a lot, as it is the case for the arbitrage free SABR PDE. where max(b)>200bj0
The advantages of such a scheme are then not clear compared to a simpler explicit scheme (eventually predictor corrector), that will have a similar constraint on the ratio Δt(Δx)2.
No comments :
Post a Comment