Calibration of a local volatility surface to a sparse grid of options. More...
#include <ql/termstructures/volatility/equityfx/andreasenhugevolatilityinterpl.hpp>
 Inheritance diagram for AndreasenHugeVolatilityInterpl:
 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< 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_ | 
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.