#include <qle/termstructures/blackvolsurfacedelta.hpp>
Public Member Functions | |
BlackVolatilitySurfaceDelta (Date referenceDate, const std::vector< Date > &dates, const std::vector< Real > &putDeltas, const std::vector< Real > &callDeltas, bool hasAtm, const Matrix &blackVolMatrix, const DayCounter &dayCounter, const Calendar &cal, const Handle< Quote > &spot, const Handle< YieldTermStructure > &domesticTS, const Handle< YieldTermStructure > &foreignTS, DeltaVolQuote::DeltaType dt=DeltaVolQuote::DeltaType::Spot, DeltaVolQuote::AtmType at=DeltaVolQuote::AtmType::AtmDeltaNeutral, boost::optional< QuantLib::DeltaVolQuote::DeltaType > atmDeltaType=boost::none, const Period &switchTenor=0 *Days, DeltaVolQuote::DeltaType ltdt=DeltaVolQuote::DeltaType::Fwd, DeltaVolQuote::AtmType ltat=DeltaVolQuote::AtmType::AtmDeltaNeutral, boost::optional< QuantLib::DeltaVolQuote::DeltaType > longTermAtmDeltaType=boost::none, InterpolatedSmileSection::InterpolationMethod interpolationMethod=InterpolatedSmileSection::InterpolationMethod::Linear, bool flatExtrapolation=true) | |
TermStructure interface | |
Date | maxDate () const override |
VolatilityTermStructure interface | |
Real | minStrike () const override |
Real | maxStrike () const override |
Visitability | |
virtual void | accept (AcyclicVisitor &) override |
Inspectors | |
std::vector< Date > | dates_ |
std::vector< Time > | times_ |
std::vector< Real > | putDeltas_ |
std::vector< Real > | callDeltas_ |
bool | hasAtm_ |
std::vector< QuantLib::ext::shared_ptr< BlackVarianceCurve > > | interpolators_ |
Handle< Quote > | spot_ |
Handle< YieldTermStructure > | domesticTS_ |
Handle< YieldTermStructure > | foreignTS_ |
DeltaVolQuote::DeltaType | dt_ |
DeltaVolQuote::AtmType | at_ |
boost::optional< QuantLib::DeltaVolQuote::DeltaType > | atmDeltaType_ |
Period | switchTenor_ |
DeltaVolQuote::DeltaType | ltdt_ |
DeltaVolQuote::AtmType | ltat_ |
boost::optional< QuantLib::DeltaVolQuote::DeltaType > | longTermAtmDeltaType_ |
InterpolatedSmileSection::InterpolationMethod | interpolationMethod_ |
bool | flatExtrapolation_ |
Real | switchTime_ |
const std::vector< QuantLib::Date > & | dates () const |
QuantLib::ext::shared_ptr< FxSmileSection > | blackVolSmile (Time t) const |
Return an FxSmile for the time t. More... | |
QuantLib::ext::shared_ptr< FxSmileSection > | blackVolSmile (const QuantLib::Date &d) const |
virtual Volatility | blackVolImpl (Time t, Real strike) const override |
Real | forward (Time t) const |
Abstract Black volatility surface based on delta
Definition at line 84 of file blackvolsurfacedelta.hpp.
BlackVolatilitySurfaceDelta | ( | Date | referenceDate, |
const std::vector< Date > & | dates, | ||
const std::vector< Real > & | putDeltas, | ||
const std::vector< Real > & | callDeltas, | ||
bool | hasAtm, | ||
const Matrix & | blackVolMatrix, | ||
const DayCounter & | dayCounter, | ||
const Calendar & | cal, | ||
const Handle< Quote > & | spot, | ||
const Handle< YieldTermStructure > & | domesticTS, | ||
const Handle< YieldTermStructure > & | foreignTS, | ||
DeltaVolQuote::DeltaType | dt = DeltaVolQuote::DeltaType::Spot , |
||
DeltaVolQuote::AtmType | at = DeltaVolQuote::AtmType::AtmDeltaNeutral , |
||
boost::optional< QuantLib::DeltaVolQuote::DeltaType > | atmDeltaType = boost::none , |
||
const Period & | switchTenor = 0 * Days , |
||
DeltaVolQuote::DeltaType | ltdt = DeltaVolQuote::DeltaType::Fwd , |
||
DeltaVolQuote::AtmType | ltat = DeltaVolQuote::AtmType::AtmDeltaNeutral , |
||
boost::optional< QuantLib::DeltaVolQuote::DeltaType > | longTermAtmDeltaType = boost::none , |
||
InterpolatedSmileSection::InterpolationMethod | interpolationMethod = InterpolatedSmileSection::InterpolationMethod::Linear , |
||
bool | flatExtrapolation = true |
||
) |
Definition at line 64 of file blackvolsurfacedelta.cpp.
|
override |
Definition at line 104 of file blackvolsurfacedelta.hpp.
|
override |
Definition at line 108 of file blackvolsurfacedelta.hpp.
|
override |
Definition at line 109 of file blackvolsurfacedelta.hpp.
|
overridevirtual |
Definition at line 166 of file blackvolsurfacedelta.hpp.
const std::vector< QuantLib::Date > & dates | ( | ) | const |
Definition at line 118 of file blackvolsurfacedelta.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.
This is not really FX specific
Definition at line 126 of file blackvolsurfacedelta.cpp.
QuantLib::ext::shared_ptr< FxSmileSection > blackVolSmile | ( | const QuantLib::Date & | d | ) | const |
|
overrideprotectedvirtual |
Definition at line 220 of file blackvolsurfacedelta.cpp.
|
private |
Definition at line 216 of file blackvolsurfacedelta.cpp.
|
private |
Definition at line 135 of file blackvolsurfacedelta.hpp.
|
private |
Definition at line 136 of file blackvolsurfacedelta.hpp.
|
private |
Definition at line 138 of file blackvolsurfacedelta.hpp.
|
private |
Definition at line 139 of file blackvolsurfacedelta.hpp.
|
private |
Definition at line 140 of file blackvolsurfacedelta.hpp.
|
private |
Definition at line 141 of file blackvolsurfacedelta.hpp.
|
private |
Definition at line 143 of file blackvolsurfacedelta.hpp.
|
private |
Definition at line 144 of file blackvolsurfacedelta.hpp.
|
private |
Definition at line 145 of file blackvolsurfacedelta.hpp.
|
private |
Definition at line 147 of file blackvolsurfacedelta.hpp.
|
private |
Definition at line 148 of file blackvolsurfacedelta.hpp.
|
private |
Definition at line 149 of file blackvolsurfacedelta.hpp.
|
private |
Definition at line 150 of file blackvolsurfacedelta.hpp.
|
private |
Definition at line 151 of file blackvolsurfacedelta.hpp.
|
private |
Definition at line 152 of file blackvolsurfacedelta.hpp.
|
private |
Definition at line 153 of file blackvolsurfacedelta.hpp.
|
private |
Definition at line 155 of file blackvolsurfacedelta.hpp.
|
private |
Definition at line 156 of file blackvolsurfacedelta.hpp.
|
private |
Definition at line 158 of file blackvolsurfacedelta.hpp.