public BondPricerTest()
        {
            bondPricerYield = new BondPricer(settlement: DateTime.Parse("1 January 2000"), maturity: DateTime.Parse("15 August 2010"),
                                             basis: DayCount.ActAct, period: 4, coupon: 0.08d, clean: 0.97d, principal: 1,
                                             horizonDate: DateTime.Parse("30 June 2005"), horizonPrice: 1d, horizonReinvestment: 0.06d);

            bondPricerClean = new BondPricer(settlement: DateTime.Parse("1 January 2000"), maturity: DateTime.Parse("15 August 2010"),
                                             basis: DayCount.ActAct, period: 4, coupon: 0.08d, principal: 1, yieldToMaturity: 0.084295197233745636d,
                                             horizonDate: DateTime.Parse("30 June 2005"), horizonPrice: 1d, horizonReinvestment: 0.06d);
        }
        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();
        }