Пример #1
0
        public override Cashflow[] GetPayoff(Dictionary <Date, double> pricePath)
        {
            var prices = new Dictionary <Date, double>(pricePath);

            //merges fixings and monte carlo path
            foreach (var key in Fixings.Keys)
            {
                prices[key] = Fixings[key];
            }

            var maxPrice = ObservationDates.Max(x => prices[x]);
            var minPrice = ObservationDates.Min(x => prices[x]);

            return(GetPayoff(new[] { minPrice, maxPrice, pricePath[ExerciseDates[0]] }));
        }