Fx Black vanna volga volatility surface. More...
#include <qle/termstructures/fxblackvolsurface.hpp>
Public Member Functions | |
FxBlackVannaVolgaVolatilitySurface (const Date &refDate, const std::vector< Date > &dates, const std::vector< Volatility > &atmVols, const std::vector< Volatility > &rr, const std::vector< Volatility > &bf, const DayCounter &dc, const Calendar &cal, const Handle< Quote > &fx, const Handle< YieldTermStructure > &dom, const Handle< YieldTermStructure > &fore, bool requireMonotoneVariance=true, const bool firstApprox=false, 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) | |
Public Member Functions inherited from FxBlackVolatilitySurface | |
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) | |
DayCounter | dayCounter () const override |
Date | maxDate () const override |
Real | minStrike () const override |
Real | maxStrike () const override |
virtual void | accept (AcyclicVisitor &) override |
QuantLib::ext::shared_ptr< FxSmileSection > | blackVolSmile (Time t) const |
Return an FxSmile for the time t. More... | |
Protected Member Functions | |
virtual QuantLib::ext::shared_ptr< FxSmileSection > | blackVolSmileImpl (Real spot, Real rd, Real rf, Time t, Volatility atm, Volatility rr, Volatility bf) const override |
this must be implemented. More... | |
Protected Member Functions inherited from FxBlackVolatilitySurface | |
virtual Volatility | blackVolImpl (Time t, Real strike) const override |
Protected Attributes | |
bool | firstApprox_ |
Protected Attributes inherited from FxBlackVolatilitySurface | |
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_ |
Fx Black vanna volga volatility surface.
This class calculates time/strike dependent Black volatilities
Definition at line 113 of file fxblackvolsurface.hpp.
FxBlackVannaVolgaVolatilitySurface | ( | const Date & | refDate, |
const std::vector< Date > & | dates, | ||
const std::vector< Volatility > & | atmVols, | ||
const std::vector< Volatility > & | rr, | ||
const std::vector< Volatility > & | bf, | ||
const DayCounter & | dc, | ||
const Calendar & | cal, | ||
const Handle< Quote > & | fx, | ||
const Handle< YieldTermStructure > & | dom, | ||
const Handle< YieldTermStructure > & | fore, | ||
bool | requireMonotoneVariance = true , |
||
const bool | firstApprox = false , |
||
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 |
||
) |
Definition at line 115 of file fxblackvolsurface.hpp.
|
overrideprotectedvirtual |
this must be implemented.
Implements FxBlackVolatilitySurface.
Definition at line 109 of file fxblackvolsurface.cpp.
|
protected |
Definition at line 130 of file fxblackvolsurface.hpp.