This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Convert Financial Time Series Objects fints to Timetables

In R2018a, financial time series (fints), and its associated methods have been replaced with a MATLAB® timetable function. If you use fints or the associated methods, you receive a warning. To help you convert from the older fints to the newer timetable functionality, use the following information.

Create Time Series

I/O Related Operations

TaskOld FunctionalityNew Functionality
Construct by passing in data and datesfints(dates,data,datanames)

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

Construct by conversion of filesascii2fts(filename,descrow,colheadrow,skiprows)

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

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

Construct by using App with user interfaceUsing the Financial Time Series app with user interfaceUsing ImportData from HOME tab
Write filesfts2ascii(filename,tsobj,exttext)writetable(TT,filename)
Convert to matrixfts2mat(tsobj)

S = vartype('numeric');

TT2 = TT(:,S)

TT2.Variables

Index an Object

Indexing an Object

TaskOld FunctionalityNew Functionality
Indexing with a datemyfts('05/11/99')

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

Indexing with a date rangemyfts ('05/11/99::05/15/99')

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

TT2 = TT(S,:)

Indexing with integers for rows

myfts.series2(1)

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

myfts.series2(16:20)

TT(1,{‘series2’})

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

TT(16:20,{‘series2’})

Contents of a specific time fieldmyfts.timestimeofday(TT.Properties.RowTimes)
Contents for a specific field in a matrixfts2mat(myfts.series2)

TT.series2

Transform Time Series

Assume that all variables are numeric within a timetable, or the operations can be applied on TT2:

S = vartype('numeric');

TT2 = TT(:,S)

Filter Time Series

TaskOld FunctionalityNew Functionality
Boxcox transformationnewfts = boxcox(oldfts)

TT.Variables = boxcox(TT.Variables)

Differencingdiff(myfts)

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

TT(1,:) = []

Indexing with integers for rows

fillts(oldfts,fill_method)

fillmissing(TT,method)

(Assumes no missing dates)

Linear filteringfilter(B,A, myfts)

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

Lag or lead time series object

lagts(myfts,lagperiod)

leadts(myfts,leadperiod)

lag(TT,lagperiod)

lag(TT,-leadperiod)

(Assumes a regularly spaced timetable)

Periodic averageperavg(myfts)

retime(TT,newTimes,’mean’)

Downsample dataresamplets(oldfts,samplestep)

retime(TT,newTimeStep,method)

Smooth datasmoothts(input)

smoothdata(TT)

Moving averagetsmovavg(tsobj,method,lag)

movavg(TT,type,windowSize)

Convert Time Series

Assume that all variables are numeric within a timetable, or the operations can be applied on TT2:

S = vartype('numeric');

TT2 = TT(:,S)

Conversion Operations

TaskOld FunctionalityNew Functionality
Convert to specified frequencyconvertto(oldfts,newfreq)

retime(TT,newTimeStep,method)

Convert to annualtoannual(oldfts,CalcMethod)

retime(TT,’yearly’,method)

Convert to dailytodaily(oldfts,CalcMethod)retime(TT,’daily’,method)
Convert to monthlytomonthly(oldfts,CalcMethod)retime(TT,’monthly’,method)
Convert to quarterlytoquarterly(oldfts,CalcMethod)

retime(TT,’quarterly’,method)

Convert to semiannualtosemi(oldfts,CalcMethod)

semiAnnualDates (manually generated)

retime(TT, semiAnnualDates,method)

Convert to weeklytoweekly(oldfts,CalcMethod)

retime(TT,'weekly',method)

Merge Time Series

Merge Operations

TaskOld FunctionalityNew Functionality
Merge multiple time series objectsmerge(fts1,fts2)

[TT1;TT2] (requires variable name to be the same)

unique(TT)

Concatenate financial time series objects horizontallyhorzcat(fts1,fts2) or [fts1,fts2]

horzcat[TT1,TT2] (requires variable name to be the same) or

synchronize(TT1,TT2)

Concatenate financial time series objects verticallyvertcat(fts1,fts2) or [fts1;fts2]vertcat[TT1;TT2]

Analyze Time Series

Due to flexibility of a timetable that can hold heterogeneous variables, a timetable does not support math operations or descriptive statistical calculations. If you would like to apply any numeric calculations on a timetable, use the following guidelines.

Assume that all variables are numeric within a timetable, or the operations can be applied on TT2:

S = vartype('numeric');

TT2 = TT(:,S)

Descriptive Statistics and Arithmetic and Math Operations

TaskNew Functionality
Extract out numerical data

TT.Variables

Apply some options (statistics)

cov(TT.Variables)

Apply some options (operations)

TT.Variables = cumsum(TT.Variables)

Data Extraction

Refer to timetable documentation for data extraction methods and examples.

See Also

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

Related Topics