#include <Option.h>
Inheritance diagram for LiborDerivative:
To compound the payoff forward from time the of exercise to the horizon we need all Libors . The standing assumption is that the underlying LMM makes one time step per Libor compounding period. This class does not take ownership of the underlying LMM (delete separately).
Definition at line 186 of file Option.h.
Public Member Functions  
LiborDerivative (LiborMarketModel *lmm, int s, bool an, bool lt, bool mc, bool cv)  
virtual  ~LiborDerivative () 
virtual int  getPeriodsToExpiry () 
int  getDimension () const 
int  effectiveDimension () const 
LmmLattice *  getDefaultLattice () 
virtual Real  forwardPayoff (StandardBrownianNode *node, LmmLattice *theLattice, int s) 
Real  latticeForwardPrice (LmmLattice *theLattice) 
Real  latticeForwardPrice () 
std::ostream &  printSelf (std::ostream &os) const 
virtual void  testPrice (int nPath) 
Protected Attributes  
LiborMarketModel *  LMM 
int  n 
int  t 





Number t of Libor compounding periods to expiry (at T_t). Reimplemented in Caplet. 

Dimension n of the underlying Libor market model. 

The effective dimension of computing one payoff. This is the number of independent uniform deviates generated to compute one sample of the necessary Libors. 

The default lattice used for pricing: a two factor LmmLattice based on the underlying LMM. Constructed on the heap and must be deallocated by the user. This lattice is built with steps=6 time steps per Libor compounding period unless the constant Referenced by latticeForwardPrice(). 

Payoff at a node living at time step s in theLattice. Empty default implementation: aborts with error message. Reimplemented in BermudanSwaption, Caplet, Swaption, and BondCall. 

Price computed in theLattice. 

Forward price computed in the default lattice. See getDefaultLattice(). Reimplemented from Option. Definition at line 249 of file Option.h. References getDefaultLattice(), and Real. 

Message announcing a generic Libor derivative. Reimplemented from Option. Reimplemented in BermudanSwaption, Caplet, Swaption, and BondCall. 

Tests the analytic price against Lattice, Monte Carlo and Quasi Monte Carlo prices with and without control variates. Reports error relative to the analytic price if this price is defined. Note however that the analytic price itself may be an approximation.






