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

liquid Black76 market instrument used during calibration More...

#include <ql/models/calibrationhelper.hpp>

+ Inheritance diagram for BlackCalibrationHelper:

Public Types

enum  CalibrationErrorType { RelativePriceError, PriceError, ImpliedVolError }
 
- Public Types inherited from Observer
typedef boost::unordered_set< ext::shared_ptr< Observable > > set_type
 
typedef set_type::iterator iterator
 

Public Member Functions

 BlackCalibrationHelper (const Handle< Quote > &volatility, CalibrationErrorType calibrationErrorType=RelativePriceError, const VolatilityType type=ShiftedLognormal, const Real shift=0.0)
 
QL_DEPRECATED BlackCalibrationHelper (const Handle< Quote > &volatility, const Handle< YieldTermStructure > &termStructure, CalibrationErrorType calibrationErrorType=RelativePriceError, const VolatilityType type=ShiftedLognormal, const Real shift=0.0)
 
void performCalculations () const
 
Handle< Quotevolatility () const
 returns the volatility Handle
 
VolatilityType volatilityType () const
 returns the volatility type
 
Real marketValue () const
 returns the actual price of the instrument (from volatility)
 
virtual Real modelValue () const =0
 returns the price of the instrument according to the model
 
Real calibrationError ()
 returns the error resulting from the model valuation
 
virtual void addTimesTo (std::list< Time > &times) const =0
 
Volatility impliedVolatility (Real targetValue, Real accuracy, Size maxEvaluations, Volatility minVol, Volatility maxVol) const
 Black volatility implied by the model.
 
virtual Real blackPrice (Volatility volatility) const =0
 Black or Bachelier price given a volatility.
 
void setPricingEngine (const ext::shared_ptr< PricingEngine > &engine)
 
- Public Member Functions inherited from LazyObject
void update ()
 
void recalculate ()
 
void freeze ()
 
void unfreeze ()
 
void alwaysForwardNotifications ()
 
- Public Member Functions inherited from Observable
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
void notifyObservers ()
 
- 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 ()
 

Protected Attributes

Real marketValue_
 
Handle< Quotevolatility_
 
Handle< YieldTermStructuretermStructure_
 
ext::shared_ptr< PricingEngineengine_
 
const VolatilityType volatilityType_
 
const Real shift_
 
- Protected Attributes inherited from LazyObject
bool calculated_
 
bool frozen_
 
bool alwaysForward_
 

Additional Inherited Members

- Protected Member Functions inherited from LazyObject
virtual void calculate () const
 

Detailed Description

liquid Black76 market instrument used during calibration

Constructor & Destructor Documentation

◆ BlackCalibrationHelper()

QL_DEPRECATED BlackCalibrationHelper ( const Handle< Quote > &  volatility,
const Handle< YieldTermStructure > &  termStructure,
CalibrationErrorType  calibrationErrorType = RelativePriceError,
const VolatilityType  type = ShiftedLognormal,
const Real  shift = 0.0 
)
Deprecated:
Use the other constructor. It you're inheriting from BlackCalibrationHelper, move termStructure_ to your derived class. Deprecated in version 1.19.

Member Function Documentation

◆ performCalculations()

void performCalculations ( ) const
virtual

This method must implement any calculations which must be (re)done in order to calculate the desired results.

Implements LazyObject.

Reimplemented in HestonModelHelper.