public override void SetRequiredDates(MarketObservable index, List <Date> requiredDates) { allDates.AddRange(requiredDates); }
public override List <Date> GetRequiredIndexDates(MarketObservable index) { return(new List <Date>()); }
public override void SetIndexValues(MarketObservable index, double[] indexValues) { }
/// <summary> /// The dates at which the provided index is required to calculate cashflows. This will be called /// repeatedly so if possible pre-calculate in <see cref="SetValueDate(Date)"/>. /// </summary> /// <param name="index"></param> /// <returns></returns> public abstract List <Date> GetRequiredIndexDates(MarketObservable index);
/// <summary> /// Precursor to calling <see cref="GetCFs"/>. Done in a separate step in case the indices come from /// multiple sources. /// </summary> /// <param name="index"></param> /// <param name="indexValues"></param> public abstract void SetIndexValues(MarketObservable index, double[] indexValues);
/// <summary> /// The floating rate fixing dates that correspond to payment dates strictly after the value date. /// </summary> /// <param name="index">Will be the same index as returned by <see cref="GetRequiredIndices"/>.</param> /// <returns></returns> public override List <Date> GetRequiredIndexDates(MarketObservable index) { return(_futureIndexDates); }
public override void SetIndexValues(MarketObservable index, double[] indexValues) { // Nothing to do. Product has no state. }
public override void SetRequiredDates(MarketObservable index, List<Date> requiredDates) { if (_allDates == null) _allDates = requiredDates; else _allDates.AddRange(requiredDates); }
public override bool ProvidesIndex(MarketObservable index) { return _floatRateIndices.Contains(index); }
public override void SetIndexValues(MarketObservable index, double[] indices) { _fwdPrice = indices[0]; }