MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive


  • To: mathgroup at
  • Subject: [mg54997] Re: [mg54961] BS PDE
  • From: Andrzej Kozlowski <akoz at>
  • Date: Wed, 9 Mar 2005 06:34:23 -0500 (EST)
  • References: <>
  • Sender: owner-wri-mathgroup at

On 8 Mar 2005, at 11:03, GLP wrote:

> Hi would to like to solve a PDE (exact or num) for the black & scholes
> model. it is
> D1(t) f(s,t)+r*s*D1(s)f(s,t)+0.5*b^2*s^2*D2(s)f(s,t)=r*f(s,t)
> But i dont know how to put this final condition
> lim f(s,t)-s=const. when s goes to + Inf.
> any suggest?
> thnks
> giacomo

Life is not as easy as that.

1. Mathematica's DSolve can't solve directly parabolic PDEs. It can't 
even solve the Heat Equation. Mathematica can be helpful in solving the 
BS equation but you have to guide it. You need to use a method like the 
Fourier transform, which current DSolve does not use automatically. 
Alternatively you can apply the Feynman-Kac theorem, in which 
Mathematica can again be helpful  but it won't do it for you by itself.

2. NDSolve in version 5 and later can solve parabolic PDEs. But in any 
case, solving directly the BS equation is, in general, the wrong 
approach because of severe numerical instability. What you should do is 
to transform the equation and the initial and boundary conditions into 
the heat equation using standard transformations, NDSolve the heat 
equation and finally transform the solution into a solution of the BS 
equation. You will of course still have the problem with boundary 
conditions at Infinity (and also -Infinity) for the heat equation. You 
simply use suitable finite values for the endpoints of the grid over 
which the solution is computed.

Andrzej Kozlowski

  • References:
    • BS PDE
      • From: "GLP" <>
  • Prev by Date: Canonical order...
  • Next by Date: Re: repeating elements in a list
  • Previous by thread: BS PDE
  • Next by thread: Re: BS PDE