QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.5
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
LiborForwardModel Class Reference

Libor forward model More...

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

+ Inheritance diagram for LiborForwardModel:

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 (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 ()
 returns end criteria result
 
Disposable< Arrayparams () const
 Returns array of arguments on which calibration is done.
 
- Public Member Functions inherited from Observer
 Observer (const Observer &)
 
Observeroperator= (const Observer &)
 
std::pair< std::set
< boost::shared_ptr
< Observable > >::iterator,
bool > 
registerWith (const boost::shared_ptr< Observable > &)
 
Size unregisterWith (const boost::shared_ptr< Observable > &)
 
void unregisterWithAll ()
 
- Public Member Functions inherited from Observable
 Observable (const Observable &)
 
Observableoperator= (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< Arrayw_0 (Size alpha, Size beta) const
 
- Protected Member Functions inherited from CalibratedModel
virtual void generateArguments ()
 

Protected Attributes

std::vector< Realf_
 
std::vector< TimeaccrualPeriod_
 
const boost::shared_ptr
< LfmCovarianceProxy
covarProxy_
 
const boost::shared_ptr
< LiborForwardModelProcess
process_
 
boost::shared_ptr
< SwaptionVolatilityMatrix
swaptionVola
 
- Protected Attributes inherited from CalibratedModel
std::vector< Parameterarguments_
 
boost::shared_ptr< Constraintconstraint_
 
EndCriteria::Type shortRateEndCriteria_
 

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