Exemplo n.º 1
0
 public override List <object[]> DoExpectedCashflowReport(InstrumentControllerBase pricer)
 {
     if (pricer is PropertyTransactionPricer bond)
     {
         return((from PriceableCashflow flow in bond.GetChildren() select CashflowReportHelper.DoCashflowReport(pricer.Id, flow)).ToList());
     }
     return(null);
 }
 public override List <object[]> DoExpectedCashflowReport(InstrumentControllerBase pricer)
 {
     if (pricer is BulletPaymentPricer payment)
     {
         return((from PriceableCashflow flow in payment.GetChildren() select CashflowReportHelper.DoCashflowReport(pricer.Id, flow)).ToList());
     }
     return(null);
 }
 public override List <object[]> DoExpectedCashflowReport(InstrumentControllerBase pricer)
 {
     if (pricer is FraPricer payment)
     {
         var result = new List <object[]>();
         foreach (var cashflow in payment.GetChildren())
         {
             var flow         = (PriceableCashflow)cashflow;
             var reportHelper = CashflowReportHelper.DoCashflowReport(pricer.Id, flow);
             reportHelper[0] = pricer.Id;
             result.Add(reportHelper);
         }
         return(result);
     }
     return(null);
 }
Exemplo n.º 4
0
 public override List <object[]> DoExpectedCashflowReport(InstrumentControllerBase pricer)
 {
     if (pricer is VanillaEuropeanFxOptionPricer payment)
     {
         var result = new List <object[]>();
         var index  = 0;
         foreach (var cashflow in payment.GetChildren())
         {
             var flow         = (PriceableCashflow)cashflow;
             var reportHelper = CashflowReportHelper.DoCashflowReport(pricer.Id, flow);
             reportHelper[0] = pricer.Id;
             result[index]   = reportHelper;
             index++;
         }
         return(result);
     }
     return(null);
 }
Exemplo n.º 5
0
        public override List <object[]> DoExpectedCashflowReport(InstrumentControllerBase instrument)
        {
            var             interestRateSwaption = instrument as InterestRateSwaptionPricer;
            List <object[]> result = new List <object[]>();

            if (interestRateSwaption?.Swap != null)
            {
                var expectedCashFlows = new InterestRateSwapReporter().DoExpectedCashflowReport(interestRateSwaption.Swap);
                result.AddRange(expectedCashFlows);
                if (interestRateSwaption.PremiumPayments != null)
                {
                    foreach (var pemium in interestRateSwaption.PremiumPayments)
                    {
                        var expectedCashFlow = CashflowReportHelper.DoCashflowReport(instrument.Id, pemium);
                        expectedCashFlow[0] = instrument.Id;
                        result.Add(expectedCashFlow);
                    }
                }
            }
            return(result);
        }
        public override List <object[]> DoExpectedCashflowReport(InstrumentControllerBase instrument)
        {
            var interestRateSwap = instrument as InterestRateSwapPricer;
            var result           = new List <object[]>();

            if (interestRateSwap != null)
            {
                foreach (var leg in interestRateSwap.Legs)
                {
                    var expectedCashFlows = CashflowReportHelper.DoCashflowReport(instrument.Id, leg);
                    result.AddRange(expectedCashFlows);
                }
                if (interestRateSwap.AdditionalPayments != null)
                {
                    foreach (var payment in interestRateSwap.AdditionalPayments)
                    {
                        var pay = CashflowReportHelper.DoCashflowReport(instrument.Id, payment);
                        pay[0] = instrument.Id;
                        result.Add(pay);
                    }
                }
            }
            return(result);
        }