Logo
Reference manual - version qle_version
Public Member Functions | List of all members
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< Quote > fxSpot_
 
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
 
boost::shared_ptr< FxSmileSectionblackVolSmile (Time t) const
 Return an FxSmile for the time t. More...
 
virtual Volatility blackVolImpl (Time t, Real strike) const override
 
virtual boost::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()

boost::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