Logo
Reference manual - version qle_version
FxBlackVolatilitySurface Class Referenceabstract

Fx Black volatility surface. More...

#include <qle/termstructures/fxblackvolsurface.hpp>

Inheritance diagram for FxBlackVolatilitySurface:

Public Member Functions

 FxBlackVolatilitySurface (const Date &referenceDate, const std::vector< Date > &dates, const std::vector< Volatility > &atmVols, const std::vector< Volatility > &rr, const std::vector< Volatility > &bf, const DayCounter &dayCounter, const Calendar &cal, const Handle< Quote > &fxSpot, const Handle< YieldTermStructure > &domesticTS, const Handle< YieldTermStructure > &foreignTS, bool requireMonotoneVariance=true, const DeltaVolQuote::AtmType atmType=DeltaVolQuote::AtmType::AtmDeltaNeutral, const DeltaVolQuote::DeltaType deltaType=DeltaVolQuote::DeltaType::Spot, const Real delta=0.25, const Period &switchTenor=0 *Days, const DeltaVolQuote::AtmType longTermAtmType=DeltaVolQuote::AtmType::AtmDeltaNeutral, const DeltaVolQuote::DeltaType longTermDeltaType=DeltaVolQuote::DeltaType::Spot)
TermStructure interface
DayCounter dayCounter () const override
Date maxDate () const override
VolatilityTermStructure interface
Real minStrike () const override
Real maxStrike () const override

Visitability

std::vector< Time > times_
DayCounter dayCounter_
Handle< QuotefxSpot_
Handle< YieldTermStructure > domesticTS_
Handle< YieldTermStructure > foreignTS_
BlackVarianceCurve atmCurve_
std::vector< Volatility > rr_
std::vector< Volatility > bf_
DeltaVolQuote::AtmType atmType_
DeltaVolQuote::DeltaType deltaType_
Real delta_
Period switchTenor_
DeltaVolQuote::AtmType longTermAtmType_
DeltaVolQuote::DeltaType longTermDeltaType_
Interpolation rrCurve_
Interpolation bfCurve_
Date maxDate_
virtual void accept (AcyclicVisitor &) override
QuantLib::ext::shared_ptr< FxSmileSectionblackVolSmile (Time t) const
 Return an FxSmile for the time t.
virtual Volatility blackVolImpl (Time t, Real strike) const override
virtual QuantLib::ext::shared_ptr< FxSmileSectionblackVolSmileImpl (Real spot, Real rd, Real rf, Time t, Volatility atm, Volatility rr, Volatility bf) const =0
 this must be implemented.

Detailed Description

Fx Black volatility surface.

This class calculates time/strike dependent Black volatilities

Member Function Documentation

◆ blackVolSmile()

QuantLib::ext::shared_ptr< FxSmileSection > blackVolSmile ( Time t) const

Return an FxSmile for the time t.

Note the smile does not observe the spot or YTS handles, it will not update when they change

◆ blackVolSmileImpl()

virtual QuantLib::ext::shared_ptr< FxSmileSection > blackVolSmileImpl ( Real spot,
Real rd,
Real rf,
Time t,
Volatility atm,
Volatility rr,
Volatility bf ) const
protectedpure virtual

this must be implemented.

Implemented in FxBlackVannaVolgaVolatilitySurface.