AndreasenHugeVolatilityInterpl Class Reference

Calibration of a local volatility surface to a sparse grid of options. More...

`#include <ql/termstructures/volatility/equityfx/andreasenhugevolatilityinterpl.hpp>`

Inheritance diagram for AndreasenHugeVolatilityInterpl:
[legend]

## Public Types

enum | InterpolationType { PiecewiseConstant, Linear, CubicSpline }
enum | CalibrationType { Call = Option::Call, Put = Option::Put, CallPut }
typedef std::vector< std::pair< boost::shared_ptr< VanillaOption >, boost::shared_ptr< Quote > > > | CalibrationSet
Public Types inherited from Observer
typedef std::set< boost::shared_ptr< Observable > > | set_type
typedef set_type::iterator | iterator

## Public Member Functions

AndreasenHugeVolatilityInterpl (const CalibrationSet &calibrationSet, const Handle< Quote > &spot, const Handle< YieldTermStructure > &rTS, const Handle< YieldTermStructure > &qTS, InterpolationType interpolationType=CubicSpline, CalibrationType calibrationType=Call, Size nGridPoints=500, Real minStrike=Null< Real >(), Real maxStrike=Null< Real >(), const boost::shared_ptr< OptimizationMethod > &optimizationMethod=boost::shared_ptr< OptimizationMethod >(new LevenbergMarquardt), const EndCriteria &endCriteria=EndCriteria(500, 100, 1e-12, 1e-10, 1e-10))

Date | maxDate () const
Real | minStrike () const
Real | maxStrike () const
Real | fwd (Time t) const
const Handle< YieldTermStructure > & | riskFreeRate () const
boost::tuple< Real, Real, Real > | calibrationError () const
Real | optionPrice (Time t, Real strike, Option::Type optionType) const
Volatility | localVol (Time t, Real strike) const
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 &)
Observable & | operator= (const Observable &)
void | notifyObservers ()
Public Member Functions inherited from Observer
| Observer (const Observer &)
Observer & | operator= (const Observer &)
std::pair< iterator, bool > | registerWith (const boost::shared_ptr< Observable > &)
void | registerWithObservables (const boost::shared_ptr< Observer > &)
Size | unregisterWith (const boost::shared_ptr< Observable > &)
void | unregisterWithAll ()
virtual void | deepUpdate ()

## Protected Member Functions

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

## Additional Inherited Members

Protected Attributes inherited from LazyObject
bool | calculated_
bool | frozen_
bool | alwaysForward_

## Detailed Description

Calibration of a local volatility surface to a sparse grid of options.

References:

Andreasen J., Huge B., 2010. Volatility Interpolation https://ssrn.com/abstract=1694972

## Member Function Documentation

## performCalculations()

void performCalculations | ( |  | ) | const

protected virtual

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

Implements LazyObject.