25#ifndef quantlib_cds_option_hpp
26#define quantlib_cds_option_hpp
34 class YieldTermStructure;
49 const ext::shared_ptr<Exercise>&
exercise,
50 bool knocksOut =
true);
72 Real accuracy = 1.e-4,
73 Size maxEvaluations = 100,
79 ext::shared_ptr<CreditDefaultSwap>
swap_;
94 ext::shared_ptr<CreditDefaultSwap>
swap;
103 void reset()
override;
108 :
public GenericEngine<CdsOption::arguments, CdsOption::results> {};
Arguments for CDS-option calculation
ext::shared_ptr< CreditDefaultSwap > swap
void validate() const override
base class for swaption engines
Results from CDS-option calculation
Real riskyAnnuity() const
void setupArguments(PricingEngine::arguments *) const override
bool isExpired() const override
returns whether the instrument might have value greater than zero.
const ext::shared_ptr< CreditDefaultSwap > & underlyingSwap() const
Volatility impliedVolatility(Real price, const Handle< 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
void setupExpired() const override
void fetchResults(const PricingEngine::results *) const override
ext::shared_ptr< CreditDefaultSwap > swap_
template base class for option pricing engines
Shared handle to an observable.
ext::shared_ptr< Exercise > exercise() const
Real Volatility
volatility
std::size_t Size
size of a container
void swap(Array &v, Array &w) noexcept