#include <qle/termstructures/creditvolcurve.hpp>
Public Member Functions | |
InterpolatingCreditVolCurve (const QuantLib::Natural settlementDays, const QuantLib::Calendar &cal, QuantLib::BusinessDayConvention bdc, const QuantLib::DayCounter &dc, const std::vector< QuantLib::Period > &terms, const std::vector< QuantLib::Handle< CreditCurve > > &termCurves, const std::map< std::tuple< QuantLib::Date, QuantLib::Period, QuantLib::Real >, QuantLib::Handle< QuantLib::Quote > > "es, const Type &type) | |
InterpolatingCreditVolCurve (const QuantLib::Date &referenceDate, const QuantLib::Calendar &cal, QuantLib::BusinessDayConvention bdc, const QuantLib::DayCounter &dc, const std::vector< QuantLib::Period > &terms, const std::vector< QuantLib::Handle< CreditCurve > > &termCurves, const std::map< std::tuple< QuantLib::Date, QuantLib::Period, QuantLib::Real >, QuantLib::Handle< QuantLib::Quote > > "es, const Type &type) | |
QuantLib::Real | volatility (const QuantLib::Date &exerciseDate, const QuantLib::Real underlyingLength, const QuantLib::Real strike, const Type &targetType) const override |
Public Member Functions inherited from CreditVolCurve | |
CreditVolCurve (QuantLib::BusinessDayConvention bdc, const QuantLib::DayCounter &dc, const std::vector< QuantLib::Period > &terms, const std::vector< QuantLib::Handle< CreditCurve > > &termCurves, const Type &type) | |
CreditVolCurve (const QuantLib::Natural settlementDays, const QuantLib::Calendar &cal, QuantLib::BusinessDayConvention bdc, const QuantLib::DayCounter &dc, const std::vector< QuantLib::Period > &terms, const std::vector< QuantLib::Handle< CreditCurve > > &termCurves, const Type &type) | |
CreditVolCurve (const QuantLib::Date &referenceDate, const QuantLib::Calendar &cal, QuantLib::BusinessDayConvention bdc, const QuantLib::DayCounter &dc, const std::vector< QuantLib::Period > &terms, const std::vector< QuantLib::Handle< CreditCurve > > &termCurves, const Type &type) | |
QuantLib::Real | volatility (const QuantLib::Date &exerciseDate, const QuantLib::Period &underlyingTerm, const QuantLib::Real strike, const Type &targetType) const |
virtual QuantLib::Real | volatility (const QuantLib::Date &exerciseDate, const QuantLib::Real underlyingLength, const QuantLib::Real strike, const Type &targetType) const =0 |
QuantLib::Real | volatility (const QuantLib::Real exerciseTime, const QuantLib::Real underlyingLength, const QuantLib::Real strike, const Type &targetType) const |
virtual const std::vector< QuantLib::Period > & | terms () const |
virtual const std::vector< QuantLib::Handle< CreditCurve > > & | termCurves () const |
const Type & | type () const |
QuantLib::Real | atmStrike (const QuantLib::Date &expiry, const QuantLib::Period &term) const |
QuantLib::Real | atmStrike (const QuantLib::Date &expiry, const QuantLib::Real underlyingLength) const |
QuantLib::Real | minStrike () const override |
QuantLib::Real | maxStrike () const override |
QuantLib::Date | maxDate () const override |
Private Types | |
using | Smile = std::pair< QuantLib::Real, QuantLib::ext::shared_ptr< QuantLib::Interpolation > > |
using | Key = std::pair< QuantLib::Date, QuantLib::Period > |
Private Member Functions | |
void | init () |
void | performCalculations () const override |
void | createSmile (const QuantLib::Date &expiry, const QuantLib::Period &term, const QuantLib::Date &expiry_m, const QuantLib::Date &expiry_p) const |
Private Attributes | |
std::map< std::tuple< QuantLib::Date, QuantLib::Period, QuantLib::Real >, QuantLib::Handle< QuantLib::Quote > > | quotes_ |
std::vector< QuantLib::Period > | smileTerms_ |
std::vector< QuantLib::Date > | smileExpiries_ |
std::vector< QuantLib::Real > | smileTermLengths_ |
std::vector< QuantLib::Real > | smileExpiryTimes_ |
std::map< Key, std::vector< QuantLib::Real > > | strikes_ |
std::map< Key, std::vector< QuantLib::Real > > | vols_ |
std::map< Key, Smile > | smiles_ |
Additional Inherited Members | |
Public Types inherited from CreditVolCurve | |
enum class | Type { Price , Spread } |
Protected Member Functions inherited from CreditVolCurve | |
void | init () |
void | update () override |
void | performCalculations () const override |
QuantLib::Real | moneyness (const QuantLib::Real strike, const QuantLib::Real atmStrike) const |
QuantLib::Real | strike (const QuantLib::Real moneyness, const QuantLib::Real atmStrike) const |
Protected Attributes inherited from CreditVolCurve | |
std::vector< QuantLib::Period > | terms_ |
std::vector< QuantLib::Handle< CreditCurve > > | termCurves_ |
Type | type_ |
std::map< std::pair< QuantLib::Date, double >, double > | atmStrikeCache_ |
Definition at line 87 of file creditvolcurve.hpp.
|
private |
Definition at line 108 of file creditvolcurve.hpp.
|
private |
Definition at line 109 of file creditvolcurve.hpp.
InterpolatingCreditVolCurve | ( | const QuantLib::Natural | settlementDays, |
const QuantLib::Calendar & | cal, | ||
QuantLib::BusinessDayConvention | bdc, | ||
const QuantLib::DayCounter & | dc, | ||
const std::vector< QuantLib::Period > & | terms, | ||
const std::vector< QuantLib::Handle< CreditCurve > > & | termCurves, | ||
const std::map< std::tuple< QuantLib::Date, QuantLib::Period, QuantLib::Real >, QuantLib::Handle< QuantLib::Quote > > & | quotes, | ||
const Type & | type | ||
) |
InterpolatingCreditVolCurve | ( | const QuantLib::Date & | referenceDate, |
const QuantLib::Calendar & | cal, | ||
QuantLib::BusinessDayConvention | bdc, | ||
const QuantLib::DayCounter & | dc, | ||
const std::vector< QuantLib::Period > & | terms, | ||
const std::vector< QuantLib::Handle< CreditCurve > > & | termCurves, | ||
const std::map< std::tuple< QuantLib::Date, QuantLib::Period, QuantLib::Real >, QuantLib::Handle< QuantLib::Quote > > & | quotes, | ||
const Type & | type | ||
) |
|
overridevirtual |
Implements CreditVolCurve.
Definition at line 284 of file creditvolcurve.cpp.
|
private |
Definition at line 279 of file creditvolcurve.cpp.
|
overrideprivate |
Definition at line 342 of file creditvolcurve.cpp.
|
private |
Definition at line 470 of file creditvolcurve.cpp.
|
private |
Definition at line 116 of file creditvolcurve.hpp.
|
mutableprivate |
Definition at line 118 of file creditvolcurve.hpp.
|
mutableprivate |
Definition at line 119 of file creditvolcurve.hpp.
|
mutableprivate |
Definition at line 120 of file creditvolcurve.hpp.
|
mutableprivate |
Definition at line 121 of file creditvolcurve.hpp.
|
mutableprivate |
Definition at line 123 of file creditvolcurve.hpp.
|
mutableprivate |
Definition at line 124 of file creditvolcurve.hpp.
Definition at line 125 of file creditvolcurve.hpp.