Interface class for the basic financial model with Brownian motion.
More...
#include <cfl/Brownian.hpp>
This is the interface class for the financial model where interest rate equals to zero and the state process is given by a one-dimensional Brownian motion. This abstract class is used to implement concrete class Brownian.
- See also
- Brownian
virtual cfl::IBrownian::~IBrownian |
( |
| ) |
|
|
inlinevirtual |
virtual void cfl::IModel::addDependence |
( |
Slice & |
rSlice, |
|
|
const std::vector< unsigned > & |
rStates |
|
) |
| const |
|
pure virtualinherited |
Transforms rSlice into the equivalent Slice object which, in addition, depends on the state processes with indexes rStates. This function is used to define arithmetic operations between objects of type Slice relying on different state processes.
- Parameters
-
rSlice | The representation of some random variable in the model. After this operation this random variable will also be dependent on the state processes with indexes rStates. |
rStates | Additional indexes of state processes on which rSlice will be dependent after this operation. |
Implemented in cfl::Brownian, and cfl::Extended.
virtual const std::vector<double>& cfl::IModel::eventTimes |
( |
| ) |
const |
|
pure virtualinherited |
Accessor function to the vector of event times in the model. Event times are sorted in increasing order and are given as year fractions. The front event time equals the initial time.
- Returns
- Vector of event times in the model.
Implemented in cfl::Brownian, and cfl::Extended.
virtual void cfl::IModel::indicator |
( |
Slice & |
rSlice, |
|
|
double |
dBarrier |
|
) |
| const |
|
pure virtualinherited |
Transforms rSlice into the indicator function of the event that the random variable represented by rSlice is greater than the barrier dBarrier.
- Parameters
-
rSlice | Before the operation rSlice represents some random variable. After the operation rSlice becomes equal the indicator of the event that this random variable is greater than dBarrier. |
dBarrier | The value of the barrier. |
Implemented in cfl::Brownian, and cfl::Extended.
This function explicitly defines the dependence of the given Slice object on the state processes. The dimension of the returned MultiFunction object coincides with the number of state processes on which rSlice is dependent.
- Parameters
-
rSlice | A random variable in the model. |
- Returns
- Multi-dimensional function object that shows the dependence of rSlice on state processes.
Implemented in cfl::Brownian, and cfl::Extended.
Virtual constructor of the model.
- Parameters
-
rVar | The vector of variances of the state process. The element with index i of this vector equals the average variance between the initial time and the event time with index i. The size of this vector should be equal the size of rEventTimes. |
rEventTimes | The vector of event times in the model. |
dInterval | The width of the interval of initial values of the Brownian motion which plays the role of the state process. The center of the interval of initial values equals zero. |
- Returns
- A pointer to dynamically allocated implementation of IBrownian. This implementation corresponds to the model with the parameters rEventTimes, rVar, and dInterval.
virtual unsigned cfl::IModel::numberOfNodes |
( |
unsigned |
iEventTime, |
|
|
const std::vector< unsigned > & |
rStates |
|
) |
| const |
|
pure virtualinherited |
Returns the size of array used in the representation of random variables (objects of the type Slice) defined at a given event time and dependent on a given state processes.
- Parameters
-
iEventTime | The index of event time. |
rStates | The indexes of state processes. |
- Returns
- The size of array needed to construct Slice object at event time iEventTime that depends on the state processes with indexes rStates.
Implemented in cfl::Brownian, and cfl::Extended.
virtual unsigned cfl::IModel::numberOfStates |
( |
| ) |
const |
|
pure virtualinherited |
Returns the dimension of the model, that is, the number of state processes.
- Returns
- The number of state processes in the model.
Implemented in cfl::Brownian, and cfl::Extended.
Returns the initial values of all state processes, that is, those values that correspond to the initial data structure of the model.
- Returns
- The initial values of the state processes.
Implemented in cfl::Brownian, and cfl::Extended.
virtual void cfl::IModel::rollback |
( |
Slice & |
rSlice, |
|
|
unsigned |
iEventTime |
|
) |
| const |
|
pure virtualinherited |
"Rolls back" rSlice to the event time with index iEventTime.
- Parameters
-
rSlice | Before the rollback operator this object represents the payoff of a financial security at an event time which index is larger than iEventTime. After the rollback operator it defines the equivalent value of this payoff at the event time with index iEventTime. |
iEventTime | The index of the "target" event time for rSlice. |
Implemented in cfl::Brownian, and cfl::Extended.
virtual Slice cfl::IModel::state |
( |
unsigned |
iEventTime, |
|
|
unsigned |
iState |
|
) |
| const |
|
pure virtualinherited |
Returns the representation of the state process with index iState at the event time with index iEventTime.
- Parameters
-
iEventTime | The index of the event time. |
iState | The index of the state process. |
- Returns
- State process with index iState at event time with index iEventTime.
Implemented in cfl::Brownian, and cfl::Extended.
The documentation for this class was generated from the following file: