QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
Loading...
Searching...
No Matches
SmileSection Class Referenceabstract

interest rate volatility smile section More...

#include <ql/termstructures/volatility/smilesection.hpp>

Inheritance diagram for SmileSection:

Public Member Functions

 SmileSection (const Date &d, DayCounter dc=DayCounter(), const Date &referenceDate=Date(), VolatilityType type=ShiftedLognormal, Rate shift=0.0)
 SmileSection (Time exerciseTime, DayCounter dc=DayCounter(), VolatilityType type=ShiftedLognormal, Rate shift=0.0)
void update () override
virtual Real minStrike () const =0
virtual Real maxStrike () const =0
Real variance (Rate strike) const
Volatility volatility (Rate strike) const
virtual Real atmLevel () const =0
virtual const DateexerciseDate () const
virtual VolatilityType volatilityType () const
virtual Rate shift () const
virtual const DatereferenceDate () const
virtual Time exerciseTime () const
virtual const DayCounterdayCounter () const
virtual Real optionPrice (Rate strike, Option::Type type=Option::Call, Real discount=1.0) const
virtual Real digitalOptionPrice (Rate strike, Option::Type type=Option::Call, Real discount=1.0, Real gap=1.0e-5) const
virtual Real vega (Rate strike, Real discount=1.0) const
virtual Real density (Rate strike, Real discount=1.0, Real gap=1.0E-4) const
Volatility volatility (Rate strike, VolatilityType type, Real shift=0.0) const
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

virtual void initializeExerciseTime () const
virtual Real varianceImpl (Rate strike) const
virtual Volatility volatilityImpl (Rate strike) const =0

Additional Inherited Members

Public Types inherited from Observer
typedef set_type::iterator iterator

Detailed Description

interest rate volatility smile section

This abstract class provides volatility smile section interface

Member Function Documentation

◆ update()

void update ( )
overridevirtual

This method must be implemented in derived classes. An instance of Observer does not call this method directly: instead, it will be called by the observables the instance registered with when they need to notify any changes.

Implements Observer.