43#ifndef quantext_cds_option_hpp
44#define quantext_cds_option_hpp
46#include <ql/instruments/creditdefaultswap.hpp>
48#include <ql/option.hpp>
52class YieldTermStructure;
75 CdsOption(
const QuantLib::ext::shared_ptr<CreditDefaultSwap>& swap,
const QuantLib::ext::shared_ptr<Exercise>& exercise,
76 bool knocksOut =
true,
const Real strike = Null<Real>(),
92 Volatility
impliedVolatility(Real price,
const Handle<QuantLib::YieldTermStructure>& termStructure,
93 const Handle<DefaultProbabilityTermStructure>&, Real recoveryRate,
94 Real accuracy = 1.e-4, Size maxEvaluations = 100, Volatility minVol = 1.0e-7,
95 Volatility maxVol = 4.0)
const;
99 QuantLib::ext::shared_ptr<CreditDefaultSwap>
swap_;
106 void fetchResults(
const PricingEngine::results*)
const override;
114 QuantLib::ext::shared_ptr<CreditDefaultSwap>
swap;
126 void reset()
override;
Arguments for CDS-option calculation
QuantLib::ext::shared_ptr< CreditDefaultSwap > swap
void validate() const override
base class for swaption engines
Real riskyAnnuity() const
void setupArguments(PricingEngine::arguments *) const override
Volatility impliedVolatility(Real price, const Handle< QuantLib::YieldTermStructure > &termStructure, const Handle< DefaultProbabilityTermStructure > &, Real recoveryRate, Real accuracy=1.e-4, Size maxEvaluations=100, Volatility minVol=1.0e-7, Volatility maxVol=4.0) const
bool isExpired() const override
QuantLib::ext::shared_ptr< CreditDefaultSwap > swap_
void setupExpired() const override
const QuantLib::ext::shared_ptr< CreditDefaultSwap > & underlyingSwap() const
void fetchResults(const PricingEngine::results *) const override