/*! \note the upfront must be quoted in fractional units. */ public UpfrontCdsHelper(double upfront, double runningSpread, Period tenor, int settlementDays, Calendar calendar, Frequency frequency, BusinessDayConvention paymentConvention, DateGeneration.Rule rule, DayCounter dayCounter, double recoveryRate, Handle <YieldTermStructure> discountCurve, int upfrontSettlementDays = 0, bool settlesAccrual = true, bool paysAtDefaultTime = true, Date startDate = null, DayCounter lastPeriodDayCounter = null, bool rebatesAccrual = true, CreditDefaultSwap.PricingModel model = CreditDefaultSwap.PricingModel.Midpoint) : base(upfront, tenor, settlementDays, calendar, frequency, paymentConvention, rule, dayCounter, recoveryRate, discountCurve, settlesAccrual, paysAtDefaultTime, startDate, lastPeriodDayCounter, rebatesAccrual, model) { upfrontSettlementDays_ = upfrontSettlementDays; runningSpread_ = runningSpread; initializeDates(); }
public SpreadCdsHelper(double runningSpread, Period tenor, int settlementDays, // ISDA: 1 Calendar calendar, Frequency frequency, // ISDA: Quarterly BusinessDayConvention paymentConvention, //ISDA:Following DateGeneration.Rule rule, // ISDA: CDS DayCounter dayCounter, // ISDA: Actual/360 double recoveryRate, Handle <YieldTermStructure> discountCurve, bool settlesAccrual = true, bool paysAtDefaultTime = true, Date startDate = null, DayCounter lastPeriodDayCounter = null, // ISDA: Actual/360(inc) bool rebatesAccrual = true, // ISDA: true CreditDefaultSwap.PricingModel model = CreditDefaultSwap.PricingModel.Midpoint) : base(runningSpread, tenor, settlementDays, calendar, frequency, paymentConvention, rule, dayCounter, recoveryRate, discountCurve, settlesAccrual, paysAtDefaultTime, startDate, lastPeriodDayCounter, rebatesAccrual, model) { }
public CdsHelper(double quote, Period tenor, int settlementDays, Calendar calendar, Frequency frequency, BusinessDayConvention paymentConvention, DateGeneration.Rule rule, DayCounter dayCounter, double recoveryRate, Handle <YieldTermStructure> discountCurve, bool settlesAccrual = true, bool paysAtDefaultTime = true, Date startDate = null, DayCounter lastPeriodDayCounter = null, bool rebatesAccrual = true, CreditDefaultSwap.PricingModel model = CreditDefaultSwap.PricingModel.Midpoint) : base(quote) { tenor_ = tenor; settlementDays_ = settlementDays; calendar_ = calendar; frequency_ = frequency; paymentConvention_ = paymentConvention; rule_ = rule; dayCounter_ = dayCounter; recoveryRate_ = recoveryRate; discountCurve_ = discountCurve; settlesAccrual_ = settlesAccrual; paysAtDefaultTime_ = paysAtDefaultTime; lastPeriodDC_ = lastPeriodDayCounter; rebatesAccrual_ = rebatesAccrual; model_ = model; startDate_ = startDate; schedule_ = new Schedule(); initializeDates(); discountCurve_.registerWith(update); }
public double impliedHazardRate(double targetNPV, YieldTermStructureHandle discountCurve, DayCounter dayCounter, double recoveryRate, double accuracy, CreditDefaultSwap.PricingModel model) { double ret = NQuantLibcPINVOKE.CreditDefaultSwap_impliedHazardRate__SWIG_0(swigCPtr, targetNPV, YieldTermStructureHandle.getCPtr(discountCurve), DayCounter.getCPtr(dayCounter), recoveryRate, accuracy, (int)model); if (NQuantLibcPINVOKE.SWIGPendingException.Pending) { throw NQuantLibcPINVOKE.SWIGPendingException.Retrieve(); } return(ret); }