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 сплайн S

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

  • 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.

Если вы задаете только одну дату 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