Ejemplo n.º 1
0
        public override double MarkToMarket(DateTime mtmSettlement, double mtmRate, Position position)
        {
            var certificateDeposit = new CertificateDeposit(this.Principal, this.Rate, this.DayCountBasis, mtmSettlement,
                                                            this.Maturity, this.Settlement, mtmRate);

            CalculatePV();
            certificateDeposit.CalculatePV();

            return(position == Position.Long ? certificateDeposit.PV - this.PV : this.PV - certificateDeposit.PV);
        }
Ejemplo n.º 2
0
        static void Main()
        {
            var cashflowPricer = new CashflowPricer();

            cashflowPricer.Calculate();
            Console.WriteLine(cashflowPricer);

            var bondPricer = new BondPricer();

            bondPricer.Calculate();
            Console.WriteLine(bondPricer);

            var yieldCurve = new YieldCurve();

            yieldCurve.BootstrapSpotYields();
            Console.WriteLine(yieldCurve);

            var depositCertificate = new CertificateDeposit();

            depositCertificate.Calculate();
            Console.WriteLine(depositCertificate);

            var discountPaper = new DiscountPaper();

            discountPaper.Calculate();
            Console.WriteLine(discountPaper);

            var fixedDeposit = new FixedDeposit();

            fixedDeposit.Calculate();
            Console.WriteLine(fixedDeposit);

            var fxQuote = new FXQuote();

            Console.WriteLine(fxQuote);

            Console.ReadKey();
        }