QuantLib: SmileSection Class Reference

A free/open-source library for quantitative finance Reference manual - version 1.12

Public Member Functions | Protected Member Functions | List of all members
SmileSection Class Referenceabstract

interest rate volatility smile section More...

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

Inheritance diagram for SmileSection:
[legend]

## Public Member Functions
| SmileSection (const Date &d, const DayCounter &dc=DayCounter(), const Date &referenceDate=Date(), const VolatilityType type=ShiftedLognormal, const Rate shift=0.0)
| SmileSection (Time exerciseTime, const DayCounter &dc=DayCounter(), const VolatilityType type=ShiftedLognormal, const Rate shift=0.0)
virtual void | update ()
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 Date & | exerciseDate () const
virtual VolatilityType | volatilityType () const
virtual Rate | shift () const
virtual const Date & | referenceDate () const
virtual Time | exerciseTime () const
virtual const DayCounter & | dayCounter () 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 &)
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
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 std::set< boost::shared_ptr< Observable > > | set_type
typedef set_type::iterator | iterator

## Detailed Description

interest rate volatility smile section

This abstract class provides volatility smile section interface

## Member Function Documentation

## ◆ update()

virtual void update | ( |  | ) |
| virtual

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.