#include <qle/termstructures/blackvolsurfaceabsolute.hpp>
Public Types | |
enum class | SmileInterpolation { Linear , Cubic } |
Public Member Functions | |
BlackVolatilitySurfaceAbsolute (Date referenceDate, const std::vector< Date > &dates, const std::vector< std::vector< Real > > &strikes, const std::vector< std::vector< Real > > &strikeQuotes, const DayCounter &dayCounter, const Calendar &calendar, const Handle< Quote > &spot, const Size spotDays, const Calendar spotCalendar, const Handle< YieldTermStructure > &domesticTS, const Handle< YieldTermStructure > &foreignTS, const DeltaVolQuote::DeltaType dt=DeltaVolQuote::DeltaType::Spot, const DeltaVolQuote::AtmType at=DeltaVolQuote::AtmType::AtmDeltaNeutral, const Period &switchTenor=2 *Years, const DeltaVolQuote::DeltaType ltdt=DeltaVolQuote::DeltaType::Fwd, const DeltaVolQuote::AtmType ltat=DeltaVolQuote::AtmType::AtmDeltaNeutral, const SmileInterpolation smileInterpolation=SmileInterpolation::Cubic, const bool flatExtrapolation=true) | |
Date | maxDate () const override |
Real | minStrike () const override |
Real | maxStrike () const override |
const std::vector< QuantLib::Date > & | dates () const |
const std::vector< std::vector< Real > > & | strikes () const |
const std::vector< std::vector< Real > > & | strikeQuotes () const |
const Handle< Quote > & | spot () const |
const Handle< YieldTermStructure > & | domesticTS () const |
const Handle< YieldTermStructure > & | foreignTS () const |
DeltaVolQuote::DeltaType | deltaType () const |
DeltaVolQuote::AtmType | atmType () const |
const Period & | switchTenor () const |
DeltaVolQuote::DeltaType | longTermDeltaType () const |
DeltaVolQuote::AtmType | longTermAtmType () const |
SmileInterpolation | smileInterpolation () const |
Private Member Functions | |
Volatility | blackVolImpl (Time t, Real strike) const override |
void | update () override |
Private Attributes | |
std::vector< Date > | dates_ |
std::vector< std::vector< Real > > | strikes_ |
std::vector< std::vector< Real > > | strikeQuotes_ |
Handle< Quote > | spot_ |
Size | spotDays_ |
Calendar | spotCalendar_ |
Handle< YieldTermStructure > | domesticTS_ |
Handle< YieldTermStructure > | foreignTS_ |
DeltaVolQuote::DeltaType | dt_ |
DeltaVolQuote::AtmType | at_ |
Period | switchTenor_ |
DeltaVolQuote::DeltaType | ltdt_ |
DeltaVolQuote::AtmType | ltat_ |
SmileInterpolation | smileInterpolation_ |
std::vector< QuantLib::ext::shared_ptr< Interpolation > > | interpolation_ |
bool | flatExtrapolation_ |
std::vector< Real > | expiryTimes_ |
std::vector< Date > | settlementDates_ |
std::map< std::pair< Real, Real >, Real > | cachedInterpolatedVols_ |
Definition at line 37 of file blackvolsurfaceabsolute.hpp.
|
strong |
Enumerator | |
---|---|
Linear | |
Cubic |
Definition at line 39 of file blackvolsurfaceabsolute.hpp.
BlackVolatilitySurfaceAbsolute | ( | Date | referenceDate, |
const std::vector< Date > & | dates, | ||
const std::vector< std::vector< Real > > & | strikes, | ||
const std::vector< std::vector< Real > > & | strikeQuotes, | ||
const DayCounter & | dayCounter, | ||
const Calendar & | calendar, | ||
const Handle< Quote > & | spot, | ||
const Size | spotDays, | ||
const Calendar | spotCalendar, | ||
const Handle< YieldTermStructure > & | domesticTS, | ||
const Handle< YieldTermStructure > & | foreignTS, | ||
const DeltaVolQuote::DeltaType | dt = DeltaVolQuote::DeltaType::Spot , |
||
const DeltaVolQuote::AtmType | at = DeltaVolQuote::AtmType::AtmDeltaNeutral , |
||
const Period & | switchTenor = 2 * Years , |
||
const DeltaVolQuote::DeltaType | ltdt = DeltaVolQuote::DeltaType::Fwd , |
||
const DeltaVolQuote::AtmType | ltat = DeltaVolQuote::AtmType::AtmDeltaNeutral , |
||
const SmileInterpolation | smileInterpolation = SmileInterpolation::Cubic , |
||
const bool | flatExtrapolation = true |
||
) |
Definition at line 31 of file blackvolsurfaceabsolute.cpp.
|
override |
Definition at line 51 of file blackvolsurfaceabsolute.hpp.
|
override |
Definition at line 52 of file blackvolsurfaceabsolute.hpp.
|
override |
Definition at line 53 of file blackvolsurfaceabsolute.hpp.
const std::vector< QuantLib::Date > & dates | ( | ) | const |
Definition at line 55 of file blackvolsurfaceabsolute.hpp.
const std::vector< std::vector< Real > > & strikes | ( | ) | const |
Definition at line 56 of file blackvolsurfaceabsolute.hpp.
const std::vector< std::vector< Real > > & strikeQuotes | ( | ) | const |
Definition at line 57 of file blackvolsurfaceabsolute.hpp.
const Handle< Quote > & spot | ( | ) | const |
Definition at line 58 of file blackvolsurfaceabsolute.hpp.
const Handle< YieldTermStructure > & domesticTS | ( | ) | const |
Definition at line 59 of file blackvolsurfaceabsolute.hpp.
const Handle< YieldTermStructure > & foreignTS | ( | ) | const |
Definition at line 60 of file blackvolsurfaceabsolute.hpp.
DeltaVolQuote::DeltaType deltaType | ( | ) | const |
Definition at line 61 of file blackvolsurfaceabsolute.hpp.
DeltaVolQuote::AtmType atmType | ( | ) | const |
Definition at line 62 of file blackvolsurfaceabsolute.hpp.
const Period & switchTenor | ( | ) | const |
Definition at line 63 of file blackvolsurfaceabsolute.hpp.
DeltaVolQuote::DeltaType longTermDeltaType | ( | ) | const |
Definition at line 64 of file blackvolsurfaceabsolute.hpp.
DeltaVolQuote::AtmType longTermAtmType | ( | ) | const |
Definition at line 65 of file blackvolsurfaceabsolute.hpp.
SmileInterpolation smileInterpolation | ( | ) | const |
Definition at line 66 of file blackvolsurfaceabsolute.hpp.
|
overrideprivate |
Definition at line 113 of file blackvolsurfaceabsolute.cpp.
|
overrideprivate |
Definition at line 109 of file blackvolsurfaceabsolute.cpp.
|
private |
Definition at line 72 of file blackvolsurfaceabsolute.hpp.
|
private |
Definition at line 73 of file blackvolsurfaceabsolute.hpp.
|
private |
Definition at line 74 of file blackvolsurfaceabsolute.hpp.
|
private |
Definition at line 75 of file blackvolsurfaceabsolute.hpp.
|
private |
Definition at line 76 of file blackvolsurfaceabsolute.hpp.
|
private |
Definition at line 77 of file blackvolsurfaceabsolute.hpp.
|
private |
Definition at line 78 of file blackvolsurfaceabsolute.hpp.
|
private |
Definition at line 79 of file blackvolsurfaceabsolute.hpp.
|
private |
Definition at line 80 of file blackvolsurfaceabsolute.hpp.
|
private |
Definition at line 81 of file blackvolsurfaceabsolute.hpp.
|
private |
Definition at line 82 of file blackvolsurfaceabsolute.hpp.
|
private |
Definition at line 83 of file blackvolsurfaceabsolute.hpp.
|
private |
Definition at line 84 of file blackvolsurfaceabsolute.hpp.
|
private |
Definition at line 85 of file blackvolsurfaceabsolute.hpp.
|
private |
Definition at line 86 of file blackvolsurfaceabsolute.hpp.
|
private |
Definition at line 87 of file blackvolsurfaceabsolute.hpp.
|
mutableprivate |
Definition at line 89 of file blackvolsurfaceabsolute.hpp.
|
mutableprivate |
Definition at line 90 of file blackvolsurfaceabsolute.hpp.
|
mutableprivate |
Definition at line 91 of file blackvolsurfaceabsolute.hpp.