private void AddCashFlow(TermDeposit depositFpML, bool isLenderBase) { var fixedInterest = new PriceableFixedRateCoupon(depositFpML.id + "FixedCoupon_1" , BasePartyPayingFixed , EffectiveDate , TerminationDate , depositFpML.dayCountFraction , depositFpML.fixedRate , isLenderBase ? MoneyHelper.GetMoney(depositFpML.principal) : MoneyHelper.Neg(depositFpML.principal) , null , PaymentDate , null , null , null , null); InterestAmount = fixedInterest; }
private void AddCashFlows(ILogger logger, ICoreCache cache, IBusinessCalendar fixingCalendar, IBusinessCalendar paymentCalendar, Fra fraFpML, bool isBuyer, String nameSpace) { EffectiveDate = fraFpML.adjustedEffectiveDate.Value; TerminationDate = fraFpML.adjustedTerminationDate; if (paymentCalendar == null) { paymentCalendar = BusinessCenterHelper.ToBusinessCalendar(cache, fraFpML.paymentDate.dateAdjustments.businessCenters, nameSpace); } if (fixingCalendar == null) { fixingCalendar = BusinessCenterHelper.ToBusinessCalendar(cache, fraFpML.fixingDateOffset.businessCenters, nameSpace); } DateTime unadjustedPaymentDate = fraFpML.paymentDate.unadjustedDate.Value; var notional = MoneyHelper.GetAmount(fraFpML.notional.amount, fraFpML.notional.currency); PaymentDate = paymentCalendar.Roll(unadjustedPaymentDate, BusinessDayConventionHelper.Parse(fraFpML.paymentDate.dateAdjustments.businessDayConvention.ToString())); DateTime adjustedFixingDate = GetResetDate(logger, cache, fixingCalendar, fraFpML, nameSpace); var interval = fraFpML.indexTenor[0]; var floatingInterest = new PriceableFloatingRateCoupon(fraFpML.id + "FloatingCoupon_1" , isBuyer , EffectiveDate , TerminationDate , adjustedFixingDate , fraFpML.dayCountFraction , 0.0m , FixedRate , null , isBuyer ? MoneyHelper.Neg(notional) : notional , PaymentDate , new ForecastRateIndex { floatingRateIndex = fraFpML.floatingRateIndex, indexTenor = interval } , null , null , fraFpML.fraDiscounting , paymentCalendar , fixingCalendar) { ForecastRateInterpolation = ForecastRateInterpolation }; // Combine two cashflows into one leg // FloatingCoupon = floatingInterest;//fraFpML.fraDiscounting, }