#include <qle/termstructures/creditvolcurve.hpp>
Inheritance diagram for InterpolatingCreditVolCurve:
Collaboration diagram for InterpolatingCreditVolCurve: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.
Here is the call graph for this function:
|
private |
Definition at line 279 of file creditvolcurve.cpp.
|
overrideprivate |
Definition at line 342 of file creditvolcurve.cpp.
Here is the call graph for this function:
|
private |
Definition at line 470 of file creditvolcurve.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
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.