Logo
Reference manual - version ored_version
RiskParticipationAgreementBaseEngine Class Referenceabstract
Inheritance diagram for RiskParticipationAgreementBaseEngine:

Public Types

enum class  OptionExpiryPosition { Mid , Left }

Public Member Functions

 RiskParticipationAgreementBaseEngine (const std::string &baseCcy, const std::map< std::string, Handle< YieldTermStructure > > &discountCurves, const std::map< std::string, Handle< Quote > > &fxSpots, const Handle< DefaultProbabilityTermStructure > &defaultCurve, const Handle< Quote > &recoveryRate, const Size maxGapDays=Null< Size >(), const Size maxDiscretizsationPoints=Null< Size >(), const OptionExpiryPosition optionExpiryPosition=OptionExpiryPosition::Mid)

Static Public Member Functions

static std::vector< Date > buildDiscretisationGrid (const Date &referenceDate, const Date &protectionStart, const Date &protectionEnd, const std::vector< Leg > &underlying, const Size maxGapDays=Null< Size >(), const Size maxDiscretisationPoints=Null< Size >())

Protected Member Functions

virtual Real protectionLegNpv () const =0
void calculate () const override

Protected Attributes

std::string baseCcy_
std::map< std::string, Handle< YieldTermStructure > > discountCurves_
std::map< std::string, Handle< Quote > > fxSpots_
Handle< DefaultProbabilityTermStructure > defaultCurve_
Handle< Quote > recoveryRate_
Size maxGapDays_
Size maxDiscretisationPoints_
OptionExpiryPosition optionExpiryPosition_
std::vector< Date > gridDates_
Date referenceDate_
Real effectiveRecoveryRate_