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

liquid market instrument used during calibration More...

#include <ql/models/calibrationhelper.hpp>

+ Inheritance diagram for CalibrationHelper:

Public Types

enum  CalibrationErrorType { RelativePriceError, PriceError, ImpliedVolError }
 

Public Member Functions

 CalibrationHelper (const Handle< Quote > &volatility, const Handle< YieldTermStructure > &termStructure, CalibrationErrorType calibrationErrorType=RelativePriceError)
 
void performCalculations () const
 
Handle< Quotevolatility ()
 returns the volatility Handle
 
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
 
virtual 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 price given a volatility.
 
void setPricingEngine (const boost::shared_ptr< PricingEngine > &engine)
 
- Public Member Functions inherited from LazyObject
void update ()
 
void recalculate ()
 
void freeze ()
 
void unfreeze ()
 
- 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< std::set< boost::shared_ptr< Observable > >::iterator, bool > registerWith (const boost::shared_ptr< Observable > &)
 
void registerWithObservables (const boost::shared_ptr< Observer > &)
 
Size unregisterWith (const boost::shared_ptr< Observable > &)
 
void unregisterWithAll ()
 

Protected Attributes

Real marketValue_
 
Handle< Quotevolatility_
 
Handle< YieldTermStructuretermStructure_
 
boost::shared_ptr< PricingEngineengine_
 
- Protected Attributes inherited from LazyObject
bool calculated_
 
bool frozen_
 

Additional Inherited Members

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

Detailed Description

liquid market instrument used during calibration

Member Function Documentation

void performCalculations ( ) const
virtual

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

Implements LazyObject.