Calibration of a local volatility surface to a sparse grid of options. More...
#include <ql/termstructures/volatility/equityfx/andreasenhugevolatilityinterpl.hpp>
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 |
![]() | |
typedef boost::unordered_set< ext::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 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 |
ext::tuple< Real, Real, Real > | calibrationError () const |
Real | optionPrice (Time t, Real strike, Option::Type optionType) const |
Volatility | localVol (Time t, Real strike) const |
![]() | |
void | update () |
void | recalculate () |
void | freeze () |
void | unfreeze () |
void | alwaysForwardNotifications () |
![]() | |
Observable (const Observable &) | |
Observable & | operator= (const Observable &) |
void | notifyObservers () |
![]() | |
Observer (const Observer &) | |
Observer & | operator= (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 |
![]() | |
virtual void | calculate () const |
Additional Inherited Members | |
![]() | |
bool | calculated_ |
bool | frozen_ |
bool | alwaysForward_ |
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
|
protectedvirtual |
This method must implement any calculations which must be (re)done in order to calculate the desired results.
Implements LazyObject.