| Products & Services | Industries | Academia | Support | User Community | Company |
| Download Product Updates | | | Get Pricing | | | Trial Software |
| Documentation → Financial Toolbox |
| Contents | Index |
| Learn more about Financial Toolbox |
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 | Financial time series object. |
fill_method | (Optional) Replaces missing values (NaN) in oldfts using an interpolation process, a constant, or a zero-order hold. Valid fill methods (interpolation methods) are:
(See interp1 for a discussion of extrapolation.) To fill with a constant, enter that constant. A zero-order hold ('zero') fills a missing value with the value immediately preceding it. If the first value in the time series is missing, it remains a NaN. |
newdates | (Optional) Column vector of serial dates, a date string, or a column cell array of date strings. If oldfts contains time of day information, newdates must be accompanied by a time vector (newtimes). Otherwise, newdates is assumed to have times of '00:00'. |
T1, T2, TS, TE | First time, second time, start time, end time |
delta | Time interval in minutes to span between the start time and end time |
sortmode | (Optional) Default = 0 (unsorted). 1 = sorted. |
newfts = fillts(oldfts, fill_method) replaces missing values (represented by NaN) in the financial time series object oldfts with real values, using either a constant or the interpolation process indicated by fill_method.
newfts = fillts(oldfts, fill_method, newdates) replaces all the missing values on the specified dates newdates added to the financial time series oldfts with new values. The values can be a single constant or values obtained through the interpolation process designated by fill_method. If any of the dates in newdates exists in oldfts, the existing one has precedence.
newfts = fillts(oldfts, fill_method, newdates, {'T1','T2',...}) additionally allows the designation of specific times of day for addition or replacement of data.
newfts = fillts(oldfts, fill_method, newdates, 'SPAN', {'TS','TE'}, delta) is similar to the previous format except that you designate only a start time and an end time. You follow these times with a spanning time interval, delta.
If you specify only one date for newdates, specifying a start and end time generates only times for that specific date.
newfts = fillts(... sortmode) additionally denotes whether you want the order of the dates in the output object to stay the same as in the input object or to be sorted chronologically.
sortmode = 0 (unsorted) appends any new dates to the end. The interpolation and zero-order processes that calculate the values for the new dates work on a sorted object. Upon completion, the existing dates are reordered as they were originally, and the new dates are appended to the end.
sortmode = 1 sorts the output. After interpolation, no reordering of the date sequence occurs.
Example 1. Create a financial time series object with missing data in the fourth and fifth rows.
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 looks like this:
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]
Example 2. Fill the missing data in OpenFts using cubic interpolation.
FilledFts = fillts(OpenFts,'cubic')
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]
Example 3. Fill the missing data in OpenFts with a constant value.
FilledFts = fillts(OpenFts,0.3)
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]
Example 4. You can use fillts to identify a specific time on a specific day for the replacement of missing data. This example shows how to replace missing data at 12:00 on January 2 and 11:00 on January 3.
FilltimeFts = fillts(OpenFts,'c',...
{'02-Jan-2001';'03-Jan-2001'}, {'12:00';'11:00'},0)
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]
Example 5. Use a spanning time interval to add an additional day to OpenFts.
SpanFts = fillts(OpenFts,'c','04-Jan-2001','span',...
{'11:00';'12:00'},60,0)
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]
interp1 in the MATLAB documentation
![]() | fieldnames | filter | ![]() |
View demos and recorded presentations led by industry experts.
Now On Demand
Network with industry peers and learn the latest applications of the leading software product for computational finance.
| © 1984-2009- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |