LiborForwardModel Class Reference

Libor forward model More...

`#include <ql/legacy/libormarketmodels/liborforwardmodel.hpp>`

Inheritance diagram for LiborForwardModel:
[legend]

## Public Member Functions

| LiborForwardModel (const boost::shared_ptr< LiborForwardModelProcess > &process, const boost::shared_ptr< LmVolatilityModel > &volaModel, const boost::shared_ptr< LmCorrelationModel > &corrModel)
Rate | S_0 (Size alpha, Size beta) const
virtual boost::shared_ptr< SwaptionVolatilityMatrix > | getSwaptionVolatilityMatrix () const
DiscountFactor | discount (Time t) const
| Implied discount curve.
Real | discountBond (Time now, Time maturity, Array factors) const
Real | discountBondOption (Option::Type type, Real strike, Time maturity, Time bondMaturity) const
void | setParams (const Array &params)
Public Member Functions inherited from CalibratedModel
| CalibratedModel (Size nArguments)
void | update ()
virtual void | calibrate (const std::vector< boost::shared_ptr< CalibrationHelper > > &, OptimizationMethod &method, const EndCriteria &endCriteria, const Constraint &constraint=Constraint(), const std::vector< Real > &weights=std::vector< Real >(), const std::vector< bool > &fixParameters=std::vector< bool >())
| Calibrate to a set of market instruments (usually caps/swaptions) More...
Real | value (const Array &params, const std::vector< boost::shared_ptr< CalibrationHelper > > &)
const boost::shared_ptr< Constraint > & | constraint () const
EndCriteria::Type | endCriteria () const
| Returns end criteria result.
const Array & | problemValues () const
| Returns the problem values.
Disposable< Array > | params () const
| Returns array of arguments on which calibration is done.
Integer | functionEvaluation () const
Public Member Functions inherited from Observer
| Observer (const Observer &)
Observer & | operator= (const Observer &)
std::pair< iterator, bool > | registerWith (const boost::shared_ptr< Observable > &)
void | registerWithObservables (const boost::shared_ptr< Observer > &)
Size | unregisterWith (const boost::shared_ptr< Observable > &)
void | unregisterWithAll ()
virtual void | deepUpdate ()
Public Member Functions inherited from Observable
| Observable (const Observable &)
Observable & | operator= (const Observable &)
void | notifyObservers ()
Public Member Functions inherited from AffineModel
virtual Real | discountBondOption (Option::Type type, Real strike, Time maturity, Time bondStart, Time bondMaturity) const

## Protected Member Functions

Disposable< Array > | w_0 (Size alpha, Size beta) const
Protected Member Functions inherited from CalibratedModel
virtual void | generateArguments ()

## Protected Attributes

std::vector< Real > | f_
std::vector< Time > | accrualPeriod_
const boost::shared_ptr< LfmCovarianceProxy > | covarProxy_
const boost::shared_ptr< LiborForwardModelProcess > | process_
boost::shared_ptr< SwaptionVolatilityMatrix > | swaptionVola
Protected Attributes inherited from CalibratedModel
std::vector< Parameter > | arguments_
boost::shared_ptr< Constraint > | constraint_
EndCriteria::Type | shortRateEndCriteria_
Array | problemValues_
Integer | functionEvaluation_

## Additional Inherited Members

Public Types inherited from Observer
typedef std::set< boost::shared_ptr< Observable > > | set_type
typedef set_type::iterator | iterator

## Detailed Description

Libor forward model

References:

Stefan Weber, 2005, Efficient Calibration for Libor Market Models, (http://workshop.mathfinance.de/2005/papers/weber/slides.pdf)

Damiano Brigo, Fabio Mercurio, Massimo Morini, 2003, Different Covariance Parameterizations of Libor Market Model and Joint Caps/Swaptions Calibration, (http://www.business.uts.edu.au/qfrc/conferences/qmf2001/Brigo_D.pdf

Tests:
  the correctness is tested using Monte-Carlo Simulation to reproduce swaption npvs, model calibration and exact cap pricing