Ejemplo n.º 1
0
        /// <summary>
        /// Discount factor
        /// </summary>
        /// <param name="date"></param>
        /// <returns></returns>
        public double GetDiscountFactors(DateTime date)
        {
            // Convert dates to contineous time in untis of years
            var t = Utilities.ConvertToDayCountFraction(SettleDate, date);

            var interpolation = new BulirschStoerRationalInterpolation(T.ToArray(), DiscountFactor.ToArray());

            return(interpolation.Interpolate(t));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Discount factors
        /// </summary>
        /// <param name="dates"></param>
        /// <returns></returns>
        public Vector <double> GetDiscountFactors(DateTime[] dates)
        {
            // Convert dates to contineous time in untis of years
            var t = Vector <double> .Build.DenseOfArray(Utilities.ConvertToDayCountFraction(SettleDate, dates));

            var interpolation = new BulirschStoerRationalInterpolation(T.ToArray(), DiscountFactor.ToArray());

            var result = Vector <double> .Build.Dense(t.Count);

            t.Map(p => interpolation.Interpolate(p), result);

            return(result);
        }