SabrVolSurface Class Reference

#include <ql/experimental/sabrvolsurface.hpp>

Inheritance diagram for SabrVolSurface:

List of all members.


Detailed Description

SABR volatility (smile) surface.

blah blah

Public Member Functions

 SabrVolSurface (const boost::shared_ptr< InterestRateIndex > &, const Handle< BlackAtmVolCurve > &, const std::vector< Period > &optionTenors, const std::vector< Spread > &atmRateSpreads, const std::vector< std::vector< Handle< Quote > > > &volSpreads)
const Handle< BlackAtmVolCurve > & atmCurve () const
std::vector< VolatilityvolatilitySpreads (const Period &) const
std::vector< VolatilityvolatilitySpreads (const Date &) const
TermStructure interface
DayCounter dayCounter () const
 the day counter used for date/time conversion
Date maxDate () const
 the latest date for which the curve can return values
Time maxTime () const
 the latest time for which the curve can return values
const DatereferenceDate () const
 the date at which discount = 1.0 and/or variance = 0.0
Calendar calendar () const
 the calendar used for reference and/or option date calculation
Natural settlementDays () const
 the settlementDays used for reference date calculation
Visitability
virtual void accept (AcyclicVisitor &)
BlackVolSurface interface
boost::shared_ptr< SmileSectionsmileSectionImpl (Time) const

Protected Member Functions

boost::array< Real, 4 > sabrGuesses (const Date &) const
LazyObject interface
void performCalculations () const
virtual void update ()


Member Function Documentation

virtual void update (  )  [protected, 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.

Reimplemented from TermStructure.