QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
Loading...
Searching...
No Matches
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:

Public Types

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

Public Member Functions

 AndreasenHugeVolatilityInterpl (const CalibrationSet &calibrationSet, Handle< Quote > spot, Handle< YieldTermStructure > rTS, Handle< YieldTermStructure > qTS, InterpolationType interpolationType=CubicSpline, CalibrationType calibrationType=Call, Size nGridPoints=500, Real minStrike=Null< Real >(), Real maxStrike=Null< Real >(), ext::shared_ptr< OptimizationMethod > optimizationMethod=ext::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
std::tuple< Real, Real, RealcalibrationError () 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 () override
bool isCalculated () const
void forwardFirstNotificationOnly ()
void alwaysForwardNotifications ()
void recalculate ()
void freeze ()
void unfreeze ()
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 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 Member Functions

void performCalculations () const override
virtual void calculate () const

Additional Inherited Members

bool calculated_ = false
bool frozen_ = false
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
overrideprotectedvirtual

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

Implements LazyObject.