Преобразуйте объекты финансовых временных рядов fints к Расписаниям

В R2018a финансовые временные ряды (fints), и связанные с ним методы были заменены на MATLAB® timetable функция. Если вы используете fints или связанных методов, вы получаете предупреждение. Вы можете использовать fts2timetable для преобразования fints объект в timetable объект. Чтобы помочь вам преобразовать из старых fints на более новый timetable функциональность, используйте следующую информацию.

Создайте временные ряды

Операции, связанные с вводом-выводом

ЗадачаСтарая функциональностьНовая функциональность
Конструкция путем передачи данных и датfints(dates,data,datanames)

timetable(rowTimes,var1,...,varN,'VariableNames',{'a','b',...})

Конструируйте путем преобразования файловascii2fts(filename,descrow,colheadrow,skiprows)

T = readtable(filename,opts,Name,Value)

TT = table2timetable(T,'RowTimes',timeVarName)

Создайте с помощью приложение с пользовательским интерфейсомИспользование приложения Financial Time Series с пользовательским интерфейсомИспользование ImportData с HOME вкладки
Запись файловfts2ascii(filename,tsobj,exttext)writetable(TT,filename)
Преобразовать в матрицуfts2mat(tsobj)

S = vartype('numeric');

TT2 = TT(:,S)

TT2.Variables

Индексируйте объект

Индексация объекта

ЗадачаСтарая функциональностьНовая функциональность
Индексация с датойmyfts('05/11/99')

TT({'1999-05-11'},:)

Индексация с областью значений датmyfts ('05/11/99::05/15/99')

S = timerange('1999-05-11','1999-05-15');

TT2 = TT(S,:)

Индексация с целыми числами для строк

myfts.series2(1)

myfts.series2([1, 3, 5])

myfts.series2(16:20)

TT(1,{'series2'})

TT([1, 3, 5],{'series2'})

TT(16:20,{'series2'})

Содержимое определенного временного поляmyfts.timestimeofday(TT.Properties.RowTimes)
Содержимое для определенного поля в матрицеfts2mat(myfts.series2)

TT.series2

Временные ряды преобразования

Предположим, что все переменные являются числовыми в расписании, или операции могут быть применены к TT2:

S = vartype('numeric');

TT2 = TT(:,S)

Временные ряды фильтров

ЗадачаСтарая функциональностьНовая функциональность
Преобразование Boxcoxnewfts = boxcox(oldfts)

TT.Variables = boxcox(TT.Variables)

Дифференцированиеdiff(myfts)

TT{2:end,:} = diff(TT.Variables)

TT(1,:) = []

Индексация с целыми числами для строк

fillts(oldfts,fill_method)

fillmissing(TT,method)

(Предполагает отсутствие отсутствующих дат)

Линейная фильтрацияfilter(B,A, myfts)

TT.Variables = filter(b,a,TT.Variables)

Объект запаздывания или временных рядов выполнения

lagts(myfts,lagperiod)

leadts(myfts,leadperiod)

lag(TT,lagperiod)

lag(TT,-leadperiod)

(Принимает регулярно разнесенное расписание)

Периодическое среднее значениеperavg(myfts)

retime(TT,newTimes,'mean')

Данные Downsampleresamplets(oldfts,samplestep)

retime(TT,newTimeStep,method)

Сглаживайте данныеsmoothts(input)

smoothdata(TT)

Скользящее среднее значениеtsmovavg(tsobj,method,lag)

movavg(TT,type,windowSize)

Преобразование временных рядов

Предположим, что все переменные являются числовыми в расписании, или операции могут быть применены к TT2:

S = vartype('numeric');

TT2 = TT(:,S)

Операции преобразования

ЗадачаСтарая функциональностьНовая функциональность
Преобразуйте в заданную частотуconvertto(oldfts,newfreq)

retime(TT,newTimeStep,method)

Преобразование в годовойtoannual(oldfts,...)

convert2annual(TT,…)

Преобразовывать в ежедневныеtodaily(oldfts,...)convert2daily(TT,…)
Преобразовывать в ежемесячныеtomonthly(oldfts,...)convert2monthly(TT,…)
Преобразовать в ежеквартальноtoquarterly(oldfts,...)

convert2quarterly(TT,…)

Преобразование в полугодовойtosemi(oldfts,...)

convert2semiannual(TT,…)

Преобразование в еженедельныйtoweekly(oldfts,...)

convert2weekly(TT,…)

Слияние временных рядов

Операции слияния

ЗадачаСтарая функциональностьНовая функциональность
Объедините несколько объектов временных рядовmerge(fts1,fts2)

[TT1;TT2] (требуется, чтобы имя переменной совпадало)

unique(TT)

Конкатенация объектов финансовых временных рядов по горизонталиhorzcat(fts1,fts2) или [fts1,fts2]

horzcat[TT1,TT2] (требует, чтобы имя переменной совпадало) или

synchronize(TT1,TT2)

Конкатенация объектов финансовых временных рядов по вертикалиvertcat(fts1,fts2) или [fts1;fts2]vertcat[TT1;TT2]

Анализируйте временные ряды

Из-за гибкости расписания, которое может содержать неоднородные переменные, расписание не поддерживает математические операции или описательные статистические вычисления. Если вы хотите применить любые числовые вычисления к расписанию, используйте следующие инструкции.

Предположим, что все переменные являются числовыми в расписании, или операции могут быть применены к TT2:

S = vartype('numeric');

TT2 = TT(:,S)

Описательная статистика и арифметические и математические операции

ЗадачаСтарая функциональностьНовая функциональность
Извлечение числовых данныхsrs2 = myfts.series2

TT.Variables

Применить некоторые опции (статистика)Для примера: min, max, mean, median, cov, std, и var

cov(TT.Variables)

Применить некоторые опции (операции)Для примера: sum и cumsum

TT.Variables = cumsum(TT.Variables)

Извлечение данных

См. timetable документация для методов извлечения данных и примеров.

См. также

| | | | | | | | | | | | | | | | | | |

Похожие темы