24#ifndef quantlib_synthetic_cdo_hpp
25#define quantlib_synthetic_cdo_hpp
29#ifndef QL_PATCH_SOLARIS
41 class YieldTermStructure;
148 return ext::dynamic_pointer_cast<FixedRateCoupon>(
158 Real accuracy = 1.0e-3)
const;
210 void reset()
override;
227 SyntheticCDO::results> { };
basket of issuers and related notionals
template base class for option pricing engines
Shared handle to an observable.
Abstract instrument class.
template class providing a null value for a given type.
ext::shared_ptr< Basket > basket
void validate() const override
BusinessDayConvention paymentConvention
std::vector< Real > expectedTrancheLoss
Synthetic Collateralized Debt Obligation.
Real upfrontPremiumValue_
Rate fairUpfrontPremium() const
ext::shared_ptr< Basket > basket_
void setupArguments(PricingEngine::arguments *) const override
const ext::shared_ptr< Basket > & basket() const
bool isExpired() const override
returns whether the instrument might have value greater than zero.
const Date & maturity() const
Last protection date.
Real implicitCorrelation(const std::vector< Real > &recoveries, const Handle< YieldTermStructure > &discountCurve, Real targetNPV=0., Real accuracy=1.0e-3) const
Rate protectionValue() const
Real protectionLegNPV() const
BusinessDayConvention paymentConvention_
Real premiumLegNPV() const
void setupExpired() const override
const Real leverageFactor_
void fetchResults(const PricingEngine::results *) const override
std::vector< Real > expectedTrancheLoss() const
Rate premiumValue() const
Real leverageFactor() const
std::vector< Real > expectedTrancheLoss_
Real remainingNotional() const
Classes for default-event handling.
Coupon paying a fixed annual rate.
BusinessDayConvention
Business Day conventions.
std::size_t Size
size of a container
Abstract instrument class.
const boost::none_t & nullopt
std::vector< ext::shared_ptr< CashFlow > > Leg
Sequence of cash-flows.
Maps optional to either the boost or std implementation.
Global definitions and compiler switches.
information on a default-protection contract