fints

Construct financial time series object

Syntax

tsobj = fints(dates_and_data)
tsobj = fints(dates, data)
tsobj = fints(dates, data, datanames)
tsobj = fints(dates, data, datanames, freq)
tsobj = fints(dates, data, datanames, freq, desc)

Arguments

dates_and_data

Column-oriented matrix containing one column of dates and a single column for each series of data. In this format, dates must be entered in serial date number format. If the input serial date numbers encode time-of-day information, the output object contains a column labeled 'dates' containing the date information and another labeled 'times' containing the time information.

You can use the function today to enter date information or the function now to enter date with time information.

dates

Column vector of dates. Dates can be date strings or serial date numbers and can include time of day information. When entering time-of-day information as serial date numbers, the entry must be a column-oriented matrix when multiple entries are present. If the time-of-day information is in string format, the entry must be a column-oriented cell array of dates and times when multiple entries are present.

Valid date and time string formats are:

  • 'ddmmmyy hh:mm' or 'ddmmmyyyy hh:mm'

  • 'mm/dd/yy hh:mm' or 'mm/dd/yyyy hh:mm'

  • 'dd-mmm-yy hh:mm' or 'dd-mmm-yyyy hh:mm'

  • 'mmm.dd,yy hh:mm' or 'mmm.dd,yyyy hh:mm'

Dates and times can initially be separate column-oriented vectors, but they must be concatenated into a single column-oriented matrix before being passed to fints. You can use the MATLAB® functions today and now to assist in entering date and time information.

data

Column-oriented matrix containing a column for each series of data. The number of values in each data series must match the number of dates. If a mismatch occurs, MATLAB does not generate the financial time series object, and you receive an error message.

datanames

Cell array of data series names. Overrides the default data series names. Default data series names are series1, series2, and so on.

    Note:   Not all strings are accepted as datanames parameters. Supported data series names cannot start with a number and must contain only these characters:

    • Lowercase Latin alphabet, a to z

    • Uppercase Latin alphabet, A to Z

    • Underscore, _

freq

Frequency indicator. Allowed values are:

UNKNOWN, Unknown, unknown, U, u,0

DAILY, Daily, daily, D, d,1

WEEKLY, Weekly, weekly, W, w,2

MONTHLY, Monthly, monthly, M, m, 3

QUARTERLY, Quarterly, quarterly, Q, q,4

SEMIANNUAL, Semiannual, semiannual, S, s,5

ANNUAL, Annual, annual, A, a, 6

Default = Unknown.

desc

String providing descriptive name for financial time series object. Default = ''.

Description

fints constructs a financial time series object. A financial time series object is a MATLAB object that contains a series of dates and one or more series of data. Before you perform an operation on the data, you must set the frequency indicator (freq). You can optionally provide a description (desc) for the time series.

tsobj = fints(dates_and_data) creates a financial time series object containing the dates and data from the matrix dates_and_data. If the dates contain time-of-day information, the object contains an additional series of times. The date series and each data series must each be a column in the input matrix. The names of the data series default to series1, ..., seriesn. The desc and freq fields are set to their defaults.

tsobj = fints(dates, data) generates a financial time series object containing dates from the dates column vector of dates and data from the matrix data. If the dates contain time-of-day information, the object contains an additional series of times. The data matrix must be column-oriented, that is, each column in the matrix is a data series. The names of the series default to series1, ..., seriesn, where n is the total number of columns in data. The desc and freq fields are set to their defaults.

tsobj = fints(dates, data, datanames) additionally allows you to rename the data series. The names are specified in the datanames cell array. The number of strings in datanames must correspond to the number of columns in data. The desc and freq fields are set to their defaults.

tsobj = fints(dates, data, datanames, freq) additionally sets the frequency when you create the object. The desc field is set to its default ''.

tsobj = fints(dates, data, datanames, freq, desc) provides a description string for the financial time series object.

    Note:   fints only supports hourly and minute time series. Seconds are not supported and will be disregarded when the fints object is created (i.e. 01-jan-2001 12:00:01 will be considered as 01-jan-2001 12:00). If there are duplicate dates and times, the fints constructor will sort the dates and times and choose the first instance of the duplicate dates and times. The other duplicate dates and times will be removed from the object along with their corresponding data.

Examples

expand all

Create a Financial Time Series Object Containing Days and Data

Define the data:

data = [1:6]'
data =

     1
     2
     3
     4
     5
     6

Define the dates:

dates = [today:today+5]'
dates =

      735862
      735863
      735864
      735865
      735866
      735867

Create the financial times series object:

tsobjkt = fints(dates, data)
 
tsobjkt = 
 
    desc:  (none)
    freq:  Unknown (0)

    'dates:  (6)'    'series1:  (6)'
    '20-Sep-2014'    [            1]
    '21-Sep-2014'    [            2]
    '22-Sep-2014'    [            3]
    '23-Sep-2014'    [            4]
    '24-Sep-2014'    [            5]
    '25-Sep-2014'    [            6]

Create a Financial Time Series Object Containing Days, Time of Day, and Data

Define the data:

data = [1:6]'
data =

     1
     2
     3
     4
     5
     6

Define the dates:

dates = [now:now+5]'
dates =

   1.0e+05 *

    7.3586
    7.3586
    7.3586
    7.3587
    7.3587
    7.3587

Create the financial times series object:

tsobjkt = fints(dates, data)
 
tsobjkt = 
 
    desc:  (none)
    freq:  Unknown (0)

    'dates:  (6)'    'times:  (6)'    'series1:  (6)'
    '20-Sep-2014'    '02:07'          [            1]
    '21-Sep-2014'    '02:07'          [            2]
    '22-Sep-2014'    '02:07'          [            3]
    '23-Sep-2014'    '02:07'          [            4]
    '24-Sep-2014'    '02:07'          [            5]
    '25-Sep-2014'    '02:07'          [            6]

Create a Financial Time Series Object From a Single Input for Dates and Times

Define the dates and times:

dates_and_times = (now:now+5)'
dates_and_times =

   1.0e+05 *

    7.3586
    7.3586
    7.3586
    7.3587
    7.3587
    7.3587

Create the financial times series object:

 f = fints(dates_and_times, randn(6,1))
 
f = 
 
    desc:  (none)
    freq:  Unknown (0)

    'dates:  (6)'    'times:  (6)'    'series1:  (6)'
    '20-Sep-2014'    '02:10'          [       0.5377]
    '21-Sep-2014'    '02:10'          [       1.8339]
    '22-Sep-2014'    '02:10'          [      -2.2588]
    '23-Sep-2014'    '02:10'          [       0.8622]
    '24-Sep-2014'    '02:10'          [       0.3188]
    '25-Sep-2014'    '02:10'          [      -1.3077]

This generates a financial time series object, f, and obtains the dates and data from the matrix dates_and_times. The dates and times in the input matrix must be oriented column-wise (i.e. the date series and each time series are columns in the input matrix). In addition, the dates entered must be in the serial date format (i.e. 01-Jan-2001 is 730852). You can also use the function now to enter in date information. The names of the series will default to 'series1', ..., '|seriesN'| where N is the total number of columns in dates_and_times less 1 (that is the number of data columns). The default contents of the desc and freq fields are|''| and | 'Unknown'| (0), respectively.

Was this topic helpful?