24#ifndef quantext_cdsoptionhelper_hpp
25#define quantext_cdsoptionhelper_hpp
28#include <ql/instruments/creditdefaultswap.hpp>
30#include <ql/models/calibrationhelper.hpp>
31#include <ql/quotes/simplequote.hpp>
42 const Date& exerciseDate,
const Handle<Quote>& volatility,
const Protection::Side side,
43 const Schedule& schedule,
const BusinessDayConvention paymentConvention,
const DayCounter& dayCounter,
44 const Handle<DefaultProbabilityTermStructure>& probability,
const Real recoveryRate,
45 const Handle<YieldTermStructure>& termStructure,
const Rate spread = Null<Rate>(),
46 const Rate upfront = Null<Rate>(),
const bool settlesAccrual =
true,
47 const CreditDefaultSwap::ProtectionPaymentTime proteectionPaymentTime =
48 CreditDefaultSwap::ProtectionPaymentTime::atDefault,
49 const Date protectionStart = Date(),
const Date upfrontDate = Date(),
50 const QuantLib::ext::shared_ptr<Claim>& claim = QuantLib::ext::shared_ptr<Claim>(),
51 const BlackCalibrationHelper::CalibrationErrorType errorType = BlackCalibrationHelper::RelativePriceError);
53 virtual void addTimesTo(std::list<Time>& times)
const override {}
55 virtual Real
blackPrice(Volatility volatility)
const override;
57 QuantLib::ext::shared_ptr<CreditDefaultSwap>
underlying()
const {
return cds_; }
58 QuantLib::ext::shared_ptr<QuantExt::CdsOption>
option()
const {
return option_; }
62 QuantLib::ext::shared_ptr<CreditDefaultSwap>
cds_;
63 QuantLib::ext::shared_ptr<QuantExt::CdsOption>
option_;
CDS option, removed requirements (rec must knock out, no upfront amount), that should be taken care o...
QuantLib::ext::shared_ptr< QuantExt::CdsOption > option_
QuantLib::ext::shared_ptr< CreditDefaultSwap > cds_
virtual Real blackPrice(Volatility volatility) const override
QuantLib::ext::shared_ptr< PricingEngine > blackEngine_
virtual Real modelValue() const override
QuantLib::ext::shared_ptr< SimpleQuote > blackVol_
QuantLib::ext::shared_ptr< CreditDefaultSwap > underlying() const
virtual void addTimesTo(std::list< Time > ×) const override
Handle< YieldTermStructure > termStructure_
QuantLib::ext::shared_ptr< QuantExt::CdsOption > option() const