QuantLib: a free/open-source library for quantitative finance
Fully annotated sources - version 1.32
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | List of all members
SABRInterpolation Class Reference

SABR smile interpolation between discrete volatility points. More...

#include <ql/math/interpolations/sabrinterpolation.hpp>

+ Inheritance diagram for SABRInterpolation:
+ Collaboration diagram for SABRInterpolation:

Public Member Functions

template<class I1 , class I2 >
 SABRInterpolation (const I1 &xBegin, const I1 &xEnd, const I2 &yBegin, Time t, const Real &forward, Real alpha, Real beta, Real nu, Real rho, bool alphaIsFixed, bool betaIsFixed, bool nuIsFixed, bool rhoIsFixed, bool vegaWeighted=true, const ext::shared_ptr< EndCriteria > &endCriteria=ext::shared_ptr< EndCriteria >(), const ext::shared_ptr< OptimizationMethod > &optMethod=ext::shared_ptr< OptimizationMethod >(), const Real errorAccept=0.0020, const bool useMaxError=false, const Size maxGuesses=50, const Real shift=0.0, const VolatilityType volatilityType=VolatilityType::ShiftedLognormal)
 
Real expiry () const
 
Real forward () const
 
Real alpha () const
 
Real beta () const
 
Real nu () const
 
Real rho () const
 
Real rmsError () const
 
Real maxError () const
 
const std::vector< Real > & interpolationWeights () const
 
EndCriteria::Type endCriteria ()
 
- Public Member Functions inherited from Interpolation
 Interpolation ()=default
 
 ~Interpolation () override=default
 
bool empty () const
 
Real operator() (Real x, bool allowExtrapolation=false) const
 
Real primitive (Real x, bool allowExtrapolation=false) const
 
Real derivative (Real x, bool allowExtrapolation=false) const
 
Real secondDerivative (Real x, bool allowExtrapolation=false) const
 
Real xMin () const
 
Real xMax () const
 
bool isInRange (Real x) const
 
void update ()
 
- Public Member Functions inherited from Extrapolator
 Extrapolator ()=default
 
virtual ~Extrapolator ()=default
 
void enableExtrapolation (bool b=true)
 enable extrapolation in subsequent calls More...
 
void disableExtrapolation (bool b=true)
 disable extrapolation in subsequent calls More...
 
bool allowsExtrapolation () const
 tells whether extrapolation is enabled More...
 

Private Member Functions

const detail::XABRCoeffHolder< detail::SABRSpecs > & coeffs () const
 

Additional Inherited Members

- Public Attributes inherited from Interpolation
QL_DEPRECATED typedef Real argument_type
 
QL_DEPRECATED typedef Real result_type
 
- Protected Member Functions inherited from Interpolation
void checkRange (Real x, bool extrapolate) const
 
- Protected Attributes inherited from Interpolation
ext::shared_ptr< Implimpl_
 

Detailed Description

SABR smile interpolation between discrete volatility points.

Warning:
See the Interpolation class for information about the required lifetime of the underlying data.

Definition at line 150 of file sabrinterpolation.hpp.

Constructor & Destructor Documentation

◆ SABRInterpolation()

SABRInterpolation ( const I1 &  xBegin,
const I1 &  xEnd,
const I2 &  yBegin,
Time  t,
const Real forward,
Real  alpha,
Real  beta,
Real  nu,
Real  rho,
bool  alphaIsFixed,
bool  betaIsFixed,
bool  nuIsFixed,
bool  rhoIsFixed,
bool  vegaWeighted = true,
const ext::shared_ptr< EndCriteria > &  endCriteria = ext::shared_ptr<EndCriteria>(),
const ext::shared_ptr< OptimizationMethod > &  optMethod = ext::shared_ptr<OptimizationMethod>(),
const Real  errorAccept = 0.0020,
const bool  useMaxError = false,
const Size  maxGuesses = 50,
const Real  shift = 0.0,
const VolatilityType  volatilityType = VolatilityType::ShiftedLognormal 
)

Definition at line 153 of file sabrinterpolation.hpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ expiry()

Real expiry ( ) const

Definition at line 177 of file sabrinterpolation.hpp.

+ Here is the call graph for this function:

◆ forward()

Real forward ( ) const

Definition at line 178 of file sabrinterpolation.hpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ alpha()

Real alpha ( ) const

Definition at line 179 of file sabrinterpolation.hpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ beta()

Real beta ( ) const

Definition at line 180 of file sabrinterpolation.hpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nu()

Real nu ( ) const

Definition at line 181 of file sabrinterpolation.hpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rho()

Real rho ( ) const

Definition at line 182 of file sabrinterpolation.hpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rmsError()

Real rmsError ( ) const

Definition at line 183 of file sabrinterpolation.hpp.

+ Here is the call graph for this function:

◆ maxError()

Real maxError ( ) const

Definition at line 184 of file sabrinterpolation.hpp.

+ Here is the call graph for this function:

◆ interpolationWeights()

const std::vector< Real > & interpolationWeights ( ) const

Definition at line 185 of file sabrinterpolation.hpp.

+ Here is the call graph for this function:

◆ endCriteria()

EndCriteria::Type endCriteria ( )

Definition at line 188 of file sabrinterpolation.hpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ coeffs()

const detail::XABRCoeffHolder< detail::SABRSpecs > & coeffs ( ) const
private

Definition at line 191 of file sabrinterpolation.hpp.

+ Here is the caller graph for this function: