QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
Loading...
Searching...
No Matches
LiborForwardModel Class Reference

Libor forward model More...

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

Inheritance diagram for LiborForwardModel:

Public Member Functions

 LiborForwardModel (const ext::shared_ptr< LiborForwardModelProcess > &process, const ext::shared_ptr< LmVolatilityModel > &volaModel, const ext::shared_ptr< LmCorrelationModel > &corrModel)
Rate S_0 (Size alpha, Size beta) const
virtual ext::shared_ptr< SwaptionVolatilityMatrixgetSwaptionVolatilityMatrix () const
DiscountFactor discount (Time t) const override
 Implied discount curve.
Real discountBond (Time now, Time maturity, Array factors) const override
Real discountBondOption (Option::Type type, Real strike, Time maturity, Time bondMaturity) const override
void setParams (const Array &params) override
Public Member Functions inherited from CalibratedModel
 CalibratedModel (Size nArguments)
void update () override
virtual void calibrate (const std::vector< ext::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)
Real value (const Array &params, const std::vector< ext::shared_ptr< CalibrationHelper > > &)
const ext::shared_ptr< Constraint > & constraint () const
EndCriteria::Type endCriteria () const
 Returns end criteria result.
const ArrayproblemValues () const
 Returns the problem values.
Array params () const
 Returns array of arguments on which calibration is done.
Integer functionEvaluation () const
Public Member Functions inherited from Observer
 Observer (const Observer &)
Observeroperator= (const Observer &)
std::pair< iterator, bool > registerWith (const ext::shared_ptr< Observable > &)
void registerWithObservables (const ext::shared_ptr< Observer > &)
Size unregisterWith (const ext::shared_ptr< Observable > &)
void unregisterWithAll ()
virtual void deepUpdate ()
Public Member Functions inherited from Observable
 Observable (const Observable &)
Observableoperator= (const Observable &)
 Observable (Observable &&)=delete
Observableoperator= (Observable &&)=delete
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

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

Protected Attributes

std::vector< Realf_
std::vector< TimeaccrualPeriod_
const ext::shared_ptr< LfmCovarianceProxycovarProxy_
const ext::shared_ptr< LiborForwardModelProcessprocess_
ext::shared_ptr< SwaptionVolatilityMatrixswaptionVola
Protected Attributes inherited from CalibratedModel
std::vector< Parameterarguments_
ext::shared_ptr< Constraintconstraint_
EndCriteria::Type shortRateEndCriteria_ = EndCriteria::None
Array problemValues_
Integer functionEvaluation_

Additional Inherited Members

Public Types inherited from Observer
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

Member Function Documentation

◆ discount()

DiscountFactor discount ( Time t) const
overridevirtual

Implied discount curve.

Implements AffineModel.

◆ discountBond()

Real discountBond ( Time now,
Time maturity,
Array factors ) const
overridevirtual

Implements AffineModel.

◆ discountBondOption()

Real discountBondOption ( Option::Type type,
Real strike,
Time maturity,
Time bondMaturity ) const
overridevirtual

Implements AffineModel.

◆ setParams()

void setParams ( const Array & params)
overridevirtual

Reimplemented from CalibratedModel.