public InterpolatedForwardCurve(DayCounter dayCounter, List <Handle <Quote> > jumps = null, List <Date> jumpDates = null, Interpolator interpolator = default(Interpolator)) : base(dayCounter, jumps, jumpDates) { interpolator_ = interpolator ?? FastActivator <Interpolator> .Create(); }
public InterpolatedZeroCurve(DayCounter dayCounter, List <Handle <Quote> > jumps = null, List <Date> jumpDates = null, Interpolator interpolator = default(Interpolator)) : base(dayCounter, jumps, jumpDates) { interpolator_ = interpolator ?? new Interpolator(); }
public InterpolatedForwardCurve(Date referenceDate, DayCounter dayCounter, List <Handle <Quote> > jumps = null, List <Date> jumpDates = null, Interpolator interpolator = default(Interpolator)) : base(referenceDate, null, dayCounter, jumps, jumpDates) { interpolator_ = interpolator ?? new Interpolator(); }
public InterpolatedDiscountCurve(Date referenceDate, DayCounter dayCounter, List <Handle <Quote> > jumps = null, List <Date> jumpDates = null, Interpolator interpolator = default(Interpolator)) : base(referenceDate, null, dayCounter, jumps, jumpDates) { interpolator_ = interpolator ?? FastActivator <Interpolator> .Create(); }
public InterpolatedForwardCurve(int settlementDays, Calendar calendar, DayCounter dayCounter, List <Handle <Quote> > jumps = null, List <Date> jumpDates = null, Interpolator interpolator = default(Interpolator)) : base(settlementDays, calendar, dayCounter, jumps, jumpDates) { interpolator_ = interpolator ?? FastActivator <Interpolator> .Create(); }
public InterpolatedZeroCurve(int settlementDays, Calendar calendar, DayCounter dayCounter, List <Handle <Quote> > jumps = null, List <Date> jumpDates = null, Interpolator interpolator = default(Interpolator)) : base(settlementDays, calendar, dayCounter, jumps, jumpDates) { interpolator_ = interpolator ?? new Interpolator(); }
public InterpolatedForwardCurve(List <Date> dates, List <double> forwards, DayCounter dayCounter, Interpolator interpolator) : base(dates[0], null, dayCounter) { times_ = new List <double>(); data_ = forwards; interpolator_ = interpolator; dates_ = dates; initialize(); }
public InterpolatedDiscountCurve(List <Date> dates, List <double> discounts, DayCounter dayCounter, Interpolator interpolator) : base(dates[0], null, dayCounter) { times_ = new List <double>(); dates_ = dates; data_ = discounts; interpolator_ = interpolator; initialize(); }
/*! Protected version for use when descendents don't want to * (or can't) provide the points for interpolation on * construction. */ protected internal InterpolatedYoYInflationCurve(Date referenceDate, Calendar calendar, DayCounter dayCounter, Period lag, Frequency frequency, bool indexIsInterpolated, double baseZeroRate, Handle <YieldTermStructure> yTS, Interpolator interpolator = default(Interpolator)) : base(referenceDate, calendar, dayCounter, baseZeroRate, lag, frequency, indexIsInterpolated, yTS) { interpolator_ = interpolator ?? FastActivator <Interpolator> .Create(); }
//public InterpolatedDiscountCurve(List<Date> dates, List<double> discounts, DayCounter dayCounter, // Calendar cal = Calendar(), Interpolator interpolator = Interpolator()) public InterpolatedDiscountCurve(List <Date> dates, List <double> discounts, DayCounter dayCounter, Calendar cal, List <Handle <Quote> > jumps = null, List <Date> jumpDates = null, Interpolator interpolator = default(Interpolator)) : base(dates.First(), cal, dayCounter, jumps, jumpDates) { times_ = new List <double>(); data_ = discounts; interpolator_ = interpolator; dates_ = dates; if (dates_.empty()) { throw new ApplicationException("no input dates given"); } if (data_.empty()) { throw new ApplicationException("no input discount factors given"); } if (data_.Count != dates_.Count) { throw new ApplicationException("dates/discount factors count mismatch"); } if (data_[0] != 1.0) { throw new ApplicationException("the first discount must be == 1.0 " + "to flag the corrsponding date as settlement date"); } times_ = new InitializedList <double>(dates_.Count - 1); times_.Add(0.0); for (int i = 1; i < dates_.Count; i++) { if (!(dates_[i] > dates_[i - 1])) { throw new ApplicationException("invalid date (" + dates_[i] + ", vs " + dates_[i - 1] + ")"); } if (!(data_[i] > 0.0)) { throw new ApplicationException("negative discount"); } times_[i] = dayCounter.yearFraction(dates_[0], dates_[i]); if (Utils.close(times_[i], times_[i - 1])) { throw new ApplicationException("two dates correspond to the same time " + "under this curve's day count convention"); } } setupInterpolation(); interpolation_.update(); }
public InterpolatedForwardCurve(List <Date> dates, List <double> forwards, DayCounter dayCounter, List <Handle <Quote> > jumps, List <Date> jumpDates, Interpolator interpolator = default(Interpolator)) : base(dates[0], null, dayCounter, jumps, jumpDates) { times_ = new List <double>(); dates_ = dates; data_ = forwards; interpolator_ = interpolator ?? new Interpolator(); initialize(); }
public InterpolatedZeroCurve(List <Date> dates, List <double> yields, DayCounter dayCounter, Interpolator interpolator, Compounding compounding = Compounding.Continuous, Frequency frequency = Frequency.Annual) : base(dates[0], null, dayCounter) { times_ = new List <double>(); dates_ = dates; data_ = yields; interpolator_ = interpolator; initialize(compounding, frequency); }
public InterpolatedDiscountCurve(List <Date> dates, List <double> discounts, DayCounter dayCounter, List <Handle <Quote> > jumps, List <Date> jumpDates, Interpolator interpolator = default(Interpolator)) : base(dates[0], null, dayCounter, jumps, jumpDates) { times_ = new List <double>(); dates_ = dates; data_ = discounts; interpolator_ = interpolator ?? FastActivator <Interpolator> .Create(); initialize(); }
public InterpolatedDiscountCurve(List <Date> dates, List <double> discounts, DayCounter dayCounter, Calendar calendar = null, List <Handle <Quote> > jumps = null, List <Date> jumpDates = null, Interpolator interpolator = default(Interpolator)) : base(dates[0], calendar, dayCounter, jumps, jumpDates) { times_ = new List <double>(); dates_ = dates; data_ = discounts; interpolator_ = interpolator ?? new Interpolator(); initialize(); }
public InterpolatedForwardCurve(List <Date> dates, List <double> forwards, DayCounter dayCounter, Calendar calendar = null, List <Handle <Quote> > jumps = null, List <Date> jumpDates = null, Interpolator interpolator = default(Interpolator)) : base(dates[0], calendar, dayCounter, jumps, jumpDates) { times_ = new List <double>(); data_ = forwards; interpolator_ = interpolator ?? FastActivator <Interpolator> .Create(); dates_ = dates; initialize(); }
public InterpolatedZeroCurve(List <Date> dates, List <double> yields, DayCounter dayCounter, Calendar calendar = null, List <Handle <Quote> > jumps = null, List <Date> jumpDates = null, Interpolator interpolator = default(Interpolator), Compounding compounding = Compounding.Continuous, Frequency frequency = Frequency.Annual) : base(dates[0], calendar, dayCounter, jumps, jumpDates) { times_ = new List <double>(); dates_ = dates; data_ = yields; interpolator_ = interpolator ?? new Interpolator(); initialize(compounding, frequency); }
public InterpolatedForwardCurve(List <Date> dates, List <double> yields, DayCounter dayCounter, List <Handle <Quote> > jumps = null, List <Date> jumpDates = null, Interpolator interpolator = default(Interpolator)) : base(dates.First(), new Calendar(), dayCounter, jumps, jumpDates) { times_ = new List <double>(); dates_ = dates; data_ = yields; interpolator_ = interpolator; if (!(dates_.Count > 1)) { throw new ApplicationException("too few dates"); } if (data_.Count != dates_.Count) { throw new ApplicationException("dates/yields count mismatch"); } times_ = new List <double>(dates_.Count); times_.Add(0.0); for (int i = 1; i < dates_.Count; i++) { if (!(dates_[i] > dates_[i - 1])) { throw new ApplicationException("invalid date (" + dates_[i] + ", vs " + dates_[i - 1] + ")"); } //#if !defined(QL_NEGATIVE_RATES) //QL_REQUIRE(this->data_[i] >= 0.0, "negative forward"); //#endif times_[i] = dayCounter.yearFraction(dates_[0], dates_[i]); if (Utils.close(times_[i], times_[i - 1])) { throw new ApplicationException("two dates correspond to the same time " + "under this curve's day count convention"); } } setupInterpolation(); interpolation_.update(); }
public LogInterpolationImpl(List <double> xBegin, int size, List <double> yBegin, IInterpolationFactory factory) : base(xBegin, size, yBegin) { logY_ = new InitializedList <double>(size_); interpolation_ = factory.interpolate(xBegin_, size, logY_); }