GeneralizedBlackScholesProcess Class Reference
[Stochastic processes]

#include <ql/processes/blackscholesprocess.hpp>

Inheritance diagram for GeneralizedBlackScholesProcess:

Inheritance graph
[legend]
List of all members.

Detailed Description

Generalized Black-Scholes stochastic process.

This class describes the stochastic process governed by

\[ dS(t, S) = (r(t) - q(t) - \frac{\sigma(t, S)^2}{2}) dt + \sigma dW_t. \]


Public Member Functions

 GeneralizedBlackScholesProcess (const Handle< Quote > &x0, const Handle< YieldTermStructure > &dividendTS, const Handle< YieldTermStructure > &riskFreeTS, const Handle< BlackVolTermStructure > &blackVolTS, const boost::shared_ptr< discretization > &d=boost::shared_ptr< discretization >(new EulerDiscretization))
Time time (const Date &) const
StochasticProcess1D interface
Real x0 () const
 returns the initial value of the state variable
Real drift (Time t, Real x) const
Real diffusion (Time t, Real x) const
Real apply (Real x0, Real dx) const
Observer interface
void update ()
Inspectors
const Handle< Quote > & stateVariable () const
const Handle< YieldTermStructure > & dividendYield () const
const Handle< YieldTermStructure > & riskFreeRate () const
const Handle< BlackVolTermStructure > & blackVolatility () const
const Handle< LocalVolTermStructure > & localVolatility () const


Member Function Documentation

Real drift ( Time  t,
Real  x 
) const [virtual]

Todo:
revise extrapolation

Implements StochasticProcess1D.

Real diffusion ( Time  t,
Real  x 
) const [virtual]

Todo:
revise extrapolation

Implements StochasticProcess1D.

Real apply ( Real  x0,
Real  dx 
) const [virtual]

applies a change to the asset value. By default, it returns $ x + \Delta x $.

Reimplemented from StochasticProcess1D.

Time time ( const Date  )  const [virtual]

returns the time value corresponding to the given date in the reference system of the stochastic process.

Note:
As a number of processes might not need this functionality, a default implementation is given which raises an exception.

Reimplemented from StochasticProcess.

void update (  )  [virtual]

This method must be implemented in derived classes. An instance of Observer does not call this method directly: instead, it will be called by the observables the instance registered with when they need to notify any changes.

Reimplemented from StochasticProcess.