예제 #1
0
    protected DatedDataCollectionGen<double> ensureAllWeekdays(DatedDataCollectionGen<double> input_)
    {
      var dates = new List<DateTime>();
      var values = new List<double>();

      var date = input_.Dates[0];

      while (date <= input_.Dates.Last())
      {
        int index = input_.IndexOf(date);

        if (index == -1)
        {
          dates.Add(date);
          values.Add(double.NaN);
        }
        else
        {
          dates.Add(input_.Dates[index]);
          values.Add(input_.Data[index]);
        }

        date = MyCalendar.NextWeekDay(date);
      }

      return new DatedDataCollectionGen<double>(dates.ToArray(), values.ToArray());
    }
예제 #2
0
    public static DatedDataCollectionGen<double> ensureAllWeekdays(DatedDataCollectionGen<double> input_, bool insertNan_ = true)
    {
        var dates = new List<DateTime>();
        var values = new List<double>();

        var date = input_.Dates[0];

        double previous = input_.Data[0];

        while (date <= input_.Dates.Last())
        {
            int index = input_.IndexOf(date);

            if (index == -1)
            {
                dates.Add(date);
                if (insertNan_)
                    values.Add(double.NaN);
                else
                    values.Add(previous);
            }
            else
            {
                dates.Add(input_.Dates[index]);
                values.Add(input_.Data[index]);
                previous = input_.Data[index];
            }

            date = NextWeekDay(date);
        }

        return new DatedDataCollectionGen<double>(dates.ToArray(), values.ToArray());
    }