exponenta event banner

Преобразование объектов финансового временного ряда 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 с вкладки ГЛАВНАЯ
Запись файлов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)

Differencingdiff(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')

Данные понижающей выборкиresamplets(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 документация для методов и примеров извлечения данных.

См. также

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

Связанные темы