### A free/open-source library for quantitative finance

Public Types | Public Member Functions | Protected Attributes
CalibrationHelper Class Reference

liquid market instrument used during calibration More...

`#include <ql/models/calibrationhelper.hpp>`

Inheritance diagram for CalibrationHelper:
[legend]

List of all members.

## Public Types

enum | CalibrationErrorType { RelativePriceError, PriceError, ImpliedVolError }

## Public Member Functions

| CalibrationHelper (const Handle< Quote > &volatility, const Handle< YieldTermStructure > &termStructure, CalibrationErrorType calibrationErrorType=RelativePriceError)
void | update ()
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)

## Protected Attributes

Real | marketValue_
Handle< Quote > | volatility_
Handle< YieldTermStructure > | termStructure_
boost::shared_ptr< PricingEngine > | engine_

## Detailed Description

liquid market instrument used during calibration

## Member Function Documentation

void update | ( |  | ) | `[virtual]`

This method must be implemented in derived classes. An instance of Observer does not call this method directly: instead, it will be called by the observables the instance registered with when they need to notify any changes.

Implements Observer.