Fx Black volatility surface. More...
#include <qle/termstructures/fxblackvolsurface.hpp>
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 |
QuantLib::ext::shared_ptr< FxSmileSection > | blackVolSmile (Time t) const |
Return an FxSmile for the time t. More... | |
virtual Volatility | blackVolImpl (Time t, Real strike) const override |
virtual QuantLib::ext::shared_ptr< FxSmileSection > | blackVolSmileImpl (Real spot, Real rd, Real rf, Time t, Volatility atm, Volatility rr, Volatility bf) const =0 |
this must be implemented. More... | |
Fx Black volatility surface.
This class calculates time/strike dependent Black volatilities
Definition at line 41 of file fxblackvolsurface.hpp.
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 |
||
) |
Definition at line 28 of file fxblackvolsurface.cpp.
|
override |
Definition at line 56 of file fxblackvolsurface.hpp.
|
override |
Definition at line 57 of file fxblackvolsurface.hpp.
|
override |
Definition at line 61 of file fxblackvolsurface.hpp.
|
override |
Definition at line 62 of file fxblackvolsurface.hpp.
|
overridevirtual |
Definition at line 101 of file fxblackvolsurface.hpp.
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
Definition at line 72 of file fxblackvolsurface.cpp.
|
overrideprotectedvirtual |
Definition at line 101 of file fxblackvolsurface.cpp.
|
protectedpure virtual |
this must be implemented.
Implemented in FxBlackVannaVolgaVolatilitySurface.
|
protected |
Definition at line 81 of file fxblackvolsurface.hpp.
|
protected |
Definition at line 82 of file fxblackvolsurface.hpp.
|
protected |
Definition at line 83 of file fxblackvolsurface.hpp.
|
protected |
Definition at line 84 of file fxblackvolsurface.hpp.
|
protected |
Definition at line 85 of file fxblackvolsurface.hpp.
|
protected |
Definition at line 86 of file fxblackvolsurface.hpp.
|
protected |
Definition at line 87 of file fxblackvolsurface.hpp.
|
protected |
Definition at line 88 of file fxblackvolsurface.hpp.
|
protected |
Definition at line 89 of file fxblackvolsurface.hpp.
|
protected |
Definition at line 90 of file fxblackvolsurface.hpp.
|
protected |
Definition at line 91 of file fxblackvolsurface.hpp.
|
protected |
Definition at line 92 of file fxblackvolsurface.hpp.
|
protected |
Definition at line 93 of file fxblackvolsurface.hpp.
|
protected |
Definition at line 94 of file fxblackvolsurface.hpp.
|
protected |
Definition at line 95 of file fxblackvolsurface.hpp.
|
protected |
Definition at line 96 of file fxblackvolsurface.hpp.
|
protected |
Definition at line 97 of file fxblackvolsurface.hpp.