GeneralizedBlackScholesProcess Class Reference
Stochastic processes

Generalized Black-Scholes stochastic process. More...

`#include <ql/processes/blackscholesprocess.hpp>`

Inheritance diagram for GeneralizedBlackScholesProcess:
[legend]

## 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
Real | expectation (Time t0, Real x0, Time dt) const
Real | evolve (Time t0, Real x0, Time dt, Real dw) 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
Public Member Functions inherited from StochasticProcess1D
virtual Real | stdDeviation (Time t0, Real x0, Time dt) const
virtual Real | variance (Time t0, Real x0, Time dt) const
Public Member Functions inherited from StochasticProcess
virtual Size | factors () const
| returns the number of independent factors of the process
void | update ()
Public Member Functions inherited from Observer
| Observer (const Observer &)
Observer & | operator= (const Observer &)
std::pair< std::set< boost::shared_ptr< Observable > >::iterator, bool > | registerWith (const boost::shared_ptr< Observable > &)
void | registerWithObservables (const boost::shared_ptr< Observer > &)
Size | unregisterWith (const boost::shared_ptr< Observable > &)
void | unregisterWithAll ()
Public Member Functions inherited from Observable
| Observable (const Observable &)
Observable & | operator= (const Observable &)
void | notifyObservers ()

## Additional Inherited Members

Protected Member Functions inherited from StochasticProcess1D
| StochasticProcess1D (const boost::shared_ptr< discretization > &)
Protected Member Functions inherited from StochasticProcess
| StochasticProcess (const boost::shared_ptr< discretization > &)
Protected Attributes inherited from StochasticProcess1D
boost::shared_ptr< discretization > | discretization_
Protected Attributes inherited from StochasticProcess
boost::shared_ptr< discretization > | discretization_

## Detailed Description

Generalized Black-Scholes stochastic process.

This class describes the stochastic process \( S \) governed by

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

Warning:
  while the interface is expressed in terms of \( S \), the internal calculations work on \( ln S \).

## Member Function Documentation

Real drift | ( | Time | t,
|  | Real | x
| ) |  | const

virtual

Implements StochasticProcess1D.

Real diffusion | ( | Time | t,
|  | Real | x
| ) |  | const

virtual

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.

Real expectation | ( | Time | t0,
|  | Real | x0,
|  | Time | dt
| ) |  | const

virtual

Warning:
  raises a "not implemented" exception. It should be rewritten to return the expectation E(S) of the process, not exp(E(log S)).

Reimplemented from StochasticProcess1D.

Real evolve | ( | Time | t0,
|  | Real | x0,
|  | Time | dt,
|  | Real | dw
| ) |  | const

virtual

returns the asset value after a time interval \( \Delta t \) according to the given discretization. By default, it returns

\[ E(x_0,t_0,\Delta t) + S(x_0,t_0,\Delta t) \cdot \Delta w \]

where \( E \) is the expectation and \( S \) the standard deviation.

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.

Implements Observer.