exponenta event banner

fillts

Заполнить отсутствующие значения во временных рядах

fillts не рекомендуется. Использовать timetable вместо этого. Дополнительные сведения см. в разделе Преобразование объектов финансового временного ряда в расписания.

Синтаксис

newfts = fillts(oldfts,fill_method)
newfts = fillts(oldfts,fill_method,newdates)
newfts = fillts(oldfts,fill_method,newdates,{'T1','T2',...})
newfts = fillts(oldfts,fill_method,newdates,'SPAN',{'TS','TE'},delta)
newfts = fillts(... sortmode)

Аргументы

oldfts

Объект финансового временного ряда.

fill_method

(Необязательно) Заменяет отсутствующие значения (NaN) в oldfts с использованием процесса интерполяции, константы или удержания нулевого порядка.

Допустимые методы заполнения (методы интерполяции):

  • линейный - 'linear ' - 'l' (по умолчанию)

  • линейная с экстраполяцией - 'linearExtrap' - 'le'

  • cubic - 'cubic' - 'c'

  • кубический с экстраполяцией - 'cubicExtrap' - 'ce'

  • spline - 'spline' - 's'

  • сплайн с экстраполяцией - 'splineExtrap' -'se'

  • nearest - 'nearest' - 'n'

  • ближайший с экстраполяцией - 'nearestExtrap' -'ne'

  • pchip - 'pchip' - 'p'

  • pchip с экстраполяцией - 'pchipExtrap' -'pe'

(см. interp1 для обсуждения экстраполяции.)

Для заполнения константой введите ее.

Удержание нулевого порядка ('zero') заполняет отсутствующее значение значением, непосредственно предшествующим ему. Если первое значение во временном ряду отсутствует, оно остается NaN.

newdates

(Необязательно) Вектор-столбец серийных дат, вектор символов даты или массив ячеек-столбцов дат символьных векторов. Если oldfts содержит информацию о времени суток, newdates должен сопровождаться вектором времени (newtimes). В противном случае newdates предполагается, что время '00:00'.

T1, T2, TS, TE

Первый раз, второй раз, время начала, время окончания

delta

Интервал времени в минутах для интервала между временем начала и временем окончания

sortmode

(Необязательно) По умолчанию = 0 (несортированный). 1 = отсортировано.

Описание

newfts = fillts(oldfts,fill_method) заменяет отсутствующие значения (представлены NaN) в объекте финансового временного ряда oldfts с действительными значениями, используя либо константу, либо процесс интерполяции, указанный fill_method.

newfts = fillts(oldfts,fill_method,newdates) заменяет все отсутствующие значения на указанные даты newdates добавлен в финансовый временной ряд oldfts с новыми значениями. Значения могут быть одной константой или значениями, полученными посредством процесса интерполяции, обозначенного fill_method. Если какая-либо из дат в newdates существует в oldfts, существующий имеет приоритет.

newfts = fillts(oldfts,fill_method, newdates,{'T1','T2',...}) дополнительно позволяет определить конкретное время суток для добавления или замены данных.

newfts = fillts(oldfts,fill_method,newdates,'SPAN',{'TS','TE'},delta) аналогичен предыдущему формату, за исключением того, что указывается только время начала и время окончания. Вы следуете за этими временными интервалами, delta.

Если указать только одну дату для newdatesуказание времени начала и окончания создает только время для этой конкретной даты.

newfts = fillts(... sortmode) кроме того, указывает, должен ли порядок дат в выходном объекте оставаться таким же, как в входном объекте, или должен быть отсортирован в хронологическом порядке.

sortmode = 0 (несортированный) добавляет любые новые даты к концу. Процессы интерполяции и нулевого порядка, которые вычисляют значения для новых дат, работают с отсортированным объектом. По завершении существующие даты переупорядочиваются в том виде, в каком они были первоначально, и новые даты добавляются к концу.

sortmode = 1 сортирует выходные данные. После интерполяции переупорядочивание последовательности дат не происходит.

Примеры

Пример 1. Создайте объект финансового временного ряда с отсутствующими данными в четвертой и пятой строках.

dates = ['01-Jan-2001';'01-Jan-2001'; '02-Jan-2001';...
         '02-Jan-2001'; '03-Jan-2001';'03-Jan-2001'];
times = ['11:00';'12:00';'11:00';'12:00';'11:00';'12:00'];
dates_times = cellstr([dates, repmat(' ',size(dates,1),1),... 
                       times]);
OpenFts = fints(dates_times,[(1:3)'; nan; nan; 6],{'Data1'},1,... 
'Open Financial Time Series')

OpenFts выглядит следующим образом:

Warning: FINTS will be removed in a future release. Use TIMETABLE instead. 
> In fints (line 165) 
Warning: FINTS will be removed in a future release. Use TIMETABLE instead. 
> In fints/display (line 66) 

OpenFts = 
 
    desc:  Open Financial Time Series
    freq:  Daily (1)

    'dates:  (6)'    'times:  (6)'    'Data1:  (6)'
    '01-Jan-2001'    '11:00'          [          1]
    '     "     '    '12:00'          [          2]
    '02-Jan-2001'    '11:00'          [          3]
    '     "     '    '12:00'          [        NaN]
    '03-Jan-2001'    '11:00'          [        NaN]
    '     "     '    '12:00'          [          6]

Пример 2. Заполните недостающие данные в OpenFts с использованием кубической интерполяции.

FilledFts = fillts(OpenFts,'cubic')
Warning: FINTS will be removed in a future release. Use TIMETABLE instead. 
> In fints/fillts (line 213) 
Warning: FINTS will be removed in a future release. Use TIMETABLE instead. 
> In fints/display (line 66) 

FilledFts = 
  
       desc:  Filled Open Financial Time Series
       freq:  Unknown (0)
 
       'dates:  (6)'    'times:  (6)'    'Data1:  (6)'
       '01-Jan-2001'    '11:00'          [          1]
       '     "     '    '12:00'          [          2]
       '02-Jan-2001'    '11:00'          [          3]
       '     "     '    '12:00'          [     3.0663]
       '03-Jan-2001'    '11:00'          [     5.8411]
       '     "     '    '12:00'          [     6.0000]

Пример 3. Заполните недостающие данные в OpenFts с постоянным значением.

FilledFts = fillts(OpenFts,0.3)
Warning: FINTS will be removed in a future release. Use TIMETABLE instead. 
> In fints/fillts (line 213) 
Warning: FINTS will be removed in a future release. Use TIMETABLE instead. 
> In fints/display (line 66) 

FilledFts = 
 
    desc:  Filled Open Financial Time Series
    freq:  Unknown (0)

    'dates:  (6)'    'times:  (6)'    'Data1:  (6)'
    '01-Jan-2001'    '11:00'          [          1]
    '     "     '    '12:00'          [          2]
    '02-Jan-2001'    '11:00'          [          3]
    '     "     '    '12:00'          [     0.3000]
    '03-Jan-2001'    '11:00'          [     0.3000]
    '     "     '    '12:00'          [          6]

Пример 4. Вы можете использовать fillts для определения конкретного времени в конкретный день для замены отсутствующих данных. В этом примере показано, как заменить отсутствующие данные в 12:00 2 января и 11:00 3 января.

FilltimeFts = fillts(OpenFts,'c',... 
{'02-Jan-2001';'03-Jan-2001'}, {'12:00';'11:00'},0)
Warning: FINTS will be removed in a future release. Use TIMETABLE instead. 
> In fints/fillts (line 213) 
Warning: FINTS will be removed in a future release. Use TIMETABLE instead. 
> In fints/display (line 66) 

FilltimeFts = 
  
       desc:  Filled Open Financial Time Series
       freq:  Unknown (0)
 
       'dates:  (6)'    'times:  (6)'    'Data1:  (6)'
       '01-Jan-2001'    '11:00'          [          1]
       '     "     '    '12:00'          [          2]
       '02-Jan-2001'    '11:00'          [          3]
       '     "     '    '12:00'          [     3.0663]
       '03-Jan-2001'    '11:00'          [     5.8411]
       '     "     '    '12:00'          [     6.0000]

Пример 5. Используйте интервал времени для добавления дополнительного дня к OpenFts.

SpanFts = fillts(OpenFts,'c','04-Jan-2001','span',... 
               {'11:00';'12:00'},60,0)
Warning: FINTS will be removed in a future release. Use TIMETABLE instead. 
> In fints/fillts (line 213) 
Warning: FINTS will be removed in a future release. Use TIMETABLE instead. 
> In fints/display (line 66) 

SpanFts = 
  
       desc:  Filled Open Financial Time Series
       freq:  Unknown (0)
 
       'dates:  (8)'    'times:  (8)'    'Data1:  (8)'
       '01-Jan-2001'    '11:00'          [          1]
       '     "     '    '12:00'          [          2]
       '02-Jan-2001'    '11:00'          [          3]
       '     "     '    '12:00'          [     3.0663]
       '03-Jan-2001'    '11:00'          [     5.8411]
       '     "     '    '12:00'          [     6.0000]
       '04-Jan-2001'    '11:00'          [     9.8404]
       '     "     '    '12:00'          [     9.9994]
Представлен до R2006a