fillts

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

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

Синтаксис

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 = заливка (oldfts, fill_method) заменяет отсутствующие значения (представленные NaN) в объекте финансовых временных рядов oldfts с реальными значениями, с использованием константы или процесса интерполяции, обозначенного fill_method.

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

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

newfts = заливка (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