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

В R2018a, финансовые временные ряды (fints), и его связанные методы были заменены MATLAB® timetable функция. Если вы используете fints или связанные методы, вы получаете предупреждение. Помочь вам преобразовать от более старого 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)

Создайте при помощи Приложения с пользовательским интерфейсомИспользуя Финансовое приложение Временных рядов с пользовательским интерфейсомИспользуя 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)

Smoothdatasmoothts(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,CalcMethod)

retime(TT,'yearly',method)

Преобразуйте в ежедневную газетуtodaily(oldfts,CalcMethod)retime(TT,'daily',method)
Преобразуйте в ежемесячный журналtomonthly(oldfts,CalcMethod)retime(TT,'monthly',method)
Преобразуйте в ежеквартальное изданиеtoquarterly(oldfts,CalcMethod)

retime(TT,'quarterly',method)

Преобразуйте в полугодовойtosemi(oldfts,CalcMethod)

semiAnnualDates (вручную сгенерированный)

retime(TT, semiAnnualDates,method)

Преобразуйте в еженедельникtoweekly(oldfts,CalcMethod)

retime(TT,'weekly',method)

Объедините временные ряды

Объедините операции

ЗадачаСтарая функциональностьНовая функциональность
Объедините несколько объектов временных рядов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

Примените некоторые опции (статистика)Например: minMax среднее значениемедианаcovстанд, и var

cov(TT.Variables)

Примените некоторые опции (операции)Например: sum и cumsum

TT.Variables = cumsum(TT.Variables)

Экстракция данных

Обратитесь к timetable документация для методов экстракции данных и примеров.

Смотрите также

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

Похожие темы