Beispiel #1
0
 // builds node times from node dates
 private DoubleArray buildNodeTimes(LocalDate valuationDate, CurveMetadata metadata)
 {
     if (metadata.XValueType.Equals(ValueType.YEAR_FRACTION))
     {
         return(DoubleArray.of(ParameterCount, i =>
         {
             LocalDate nodeDate = ((DatedParameterMetadata)metadata.ParameterMetadata.get().get(i)).Date;
             return DayCount.get().yearFraction(valuationDate, nodeDate);
         }));
     }
     else if (metadata.XValueType.Equals(ValueType.MONTHS))
     {
         return(DoubleArray.of(ParameterCount, i =>
         {
             LocalDate nodeDate = ((DatedParameterMetadata)metadata.ParameterMetadata.get().get(i)).Date;
             return YearMonth.from(valuationDate).until(YearMonth.from(nodeDate), MONTHS);
         }));
     }
     else
     {
         throw new System.ArgumentException("Metadata XValueType should be YearFraction or Months in curve definition");
     }
 }