24#ifndef quantlib_montecarlo_catbond_engine_hpp
25#define quantlib_montecarlo_catbond_engine_hpp
37 ext::shared_ptr<CatRisk> catRisk,
39 const ext::optional<bool>& includeSettlementDateFlows =
ext::nullopt);
46 Real npv(
bool includeSettlementDateFlows,
49 Real& lossProbability,
50 Real& exhaustionProbability,
51 Real& expectedLoss)
const;
base class for cat bond engine
Shared handle to an observable.
Handle< YieldTermStructure > discountCurve_
ext::shared_ptr< CatRisk > catRisk_
ext::optional< bool > includeSettlementDateFlows_
Real npv(bool includeSettlementDateFlows, Date settlementDate, Date npvDate, Real &lossProbability, Real &exhaustionProbability, Real &expectedLoss) const
Handle< YieldTermStructure > discountCurve() const
Real pathNpv(bool includeSettlementDateFlows, Date settlementDate, const NotionalPath ¬ionalPath) const
Real cashFlowRiskyValue(const ext::shared_ptr< CashFlow > &cf, const NotionalPath ¬ionalPath) const
void calculate() const override
const boost::none_t & nullopt
Maps optional to either the boost or std implementation.