Exemple #1
0
        public static Money GetPayPresentValueOfAdditionalPayments(Swap swap, string baseParty)
        {
            var valueList = new List <Money>();

            if (null != swap.additionalPayment)
            {
                valueList.AddRange(from payment in swap.additionalPayment where baseParty == payment.payerPartyReference.href select payment.presentValueAmount);
            }
            return(MoneyHelper.Sum(valueList));
        }
Exemple #2
0
        public static Money GetPayFutureValueOfAdditionalPayments(CapFloor capFloor, string baseParty)
        {
            var valueList = new List <MoneyBase>();

            if (null != capFloor.additionalPayment)
            {
                valueList.AddRange((from payment in capFloor.additionalPayment where baseParty == payment.payerPartyReference.href select payment.paymentAmount));
            }
            return(MoneyHelper.Sum(valueList));
        }
Exemple #3
0
        public static Money GetFutureValue(CapFloor capFloor, string baseParty)
        {
            var list = new List <Money>();
            InterestRateStream stream = capFloor.capFloorStream;
            Money futureValueOfStream = CashflowsHelper.GetForecastValue(stream.cashflows);

            list.AddRange(GetValue(stream.payerPartyReference.href, stream.receiverPartyReference.href, baseParty, futureValueOfStream));
            Money futureValueOfAdditionalPayments = GetValueOfAdditionalPayments(capFloor, baseParty);

            list.Add(futureValueOfAdditionalPayments);
            return(MoneyHelper.Sum(list));
        }
Exemple #4
0
        public static Money GetPresentValueOfAdditionalPayments(CapFloor capFloor, string baseParty)
        {
            var list = new List <Money>();

            if (null != capFloor.additionalPayment)
            {
                foreach (Payment payment in capFloor.additionalPayment)
                {
                    list.AddRange(GetValue(payment.payerPartyReference.href, payment.receiverPartyReference.href, baseParty, payment.presentValueAmount));
                }
            }
            return(MoneyHelper.Sum(list));
        }
Exemple #5
0
        public static Money GetPresentValueOfAdditionalPayments(Swap swap, string baseParty, Currency currencyToAdd)
        {
            var list = new List <Money>();

            if (null != swap.additionalPayment)
            {
                foreach (Payment payment in swap.additionalPayment)
                {
                    list.AddRange(GetValue(payment.payerPartyReference.href, payment.receiverPartyReference.href, baseParty, payment.presentValueAmount));
                }
            }
            return(MoneyHelper.Sum(list, currencyToAdd));
        }
Exemple #6
0
        public static Money GetFutureValue(Swap swap, string baseParty)
        {
            var list = new List <Money>();

            foreach (InterestRateStream stream in swap.swapStream)
            {
                Money futureValueOfStream = CashflowsHelper.GetForecastValue(stream.cashflows);
                list.AddRange(GetValue(stream.payerPartyReference.href, stream.receiverPartyReference.href, baseParty, futureValueOfStream));
            }
            Money futureValueOfAdditionalPayments = GetValueOfAdditionalPayments(swap, baseParty);

            list.Add(futureValueOfAdditionalPayments);
            return(MoneyHelper.Sum(list));
        }
Exemple #7
0
        /// <summary>
        /// Returns present value of the swap for a specified baseParty.
        /// </summary>
        /// <param name="swap"></param>
        /// <param name="baseParty">The party, from which point of view the valuations are computed.</param>
        /// <returns></returns>
        public static Money GetPresentValue(Swap swap, string baseParty)
        {
            var list = new List <Money>();

            foreach (InterestRateStream stream in swap.swapStream)
            {
                Money presentValueOfStream = CashflowsHelper.GetPresentValue(stream.cashflows);
                list.AddRange(GetValue(stream.payerPartyReference.href, stream.receiverPartyReference.href, baseParty, presentValueOfStream));
            }
            Money sumPVs = MoneyHelper.Sum(list);
            //only add a pv in the same currency.
            Money presentValueOfAdditionalPayments = GetPresentValueOfAdditionalPayments(swap, baseParty, sumPVs.currency);

            sumPVs = MoneyHelper.Add(sumPVs, presentValueOfAdditionalPayments);
            return(sumPVs);
        }
Exemple #8
0
        public static Money GetPayFutureValue(CapFloor capFloor, string baseParty)
        {
            var list = new List <Money>();
            InterestRateStream stream = capFloor.capFloorStream;
            {
                Money presentValueOfStream = CashflowsHelper.GetForecastValue(stream.cashflows);

                if (baseParty == stream.payerPartyReference.href)
                {
                    list.Add(presentValueOfStream);
                }
            }
            Money payFutureValueOfAdditionalPayments = GetPayFutureValueOfAdditionalPayments(capFloor, baseParty);

            list.Add(payFutureValueOfAdditionalPayments);
            return(MoneyHelper.Sum(list));
        }
Exemple #9
0
        public static Money GetPayFutureValue(Swap swap, string baseParty)
        {
            var list = new List <Money>();

            foreach (InterestRateStream stream in swap.swapStream)
            {
                Money presentValueOfStream = CashflowsHelper.GetForecastValue(stream.cashflows);
                if (baseParty == stream.payerPartyReference.href)
                {
                    list.Add(presentValueOfStream);
                }
            }
            Money payFutureValueOfAdditionalPayments = GetPayFutureValueOfAdditionalPayments(swap, baseParty);

            list.Add(payFutureValueOfAdditionalPayments);
            return(MoneyHelper.Sum(list));
        }
Exemple #10
0
        public static Money GetPresentValue(Cashflows cashflows)
        {
            var presentValueList = cashflows.paymentCalculationPeriod.Select(period => period.presentValueAmount).ToList();

            return(MoneyHelper.Sum(presentValueList));
        }
Exemple #11
0
        public static Money GetForecastValue(Cashflows cashflows)
        {
            var forecastValueList = cashflows.paymentCalculationPeriod.Select(period => period.forecastPaymentAmount).ToList();

            return(MoneyHelper.Sum(forecastValueList));
        }