Объект финансовых временных рядов используется, как если бы это был MATLAB® структура. (Описание структур MATLAB или как использовать MATLAB в целом см. в документации MATLAB.)
Эта часть руководства предполагает, что вы знаете, как использовать MATLAB и знакомы со структурами MATLAB. Терминология подобна терминологии структуры MATLAB. Компонент термина объекта финансовых временных рядов является взаимозаменяемым с полем термина структуры MATLAB.
Объект финансовых временных рядов всегда содержит три имени компонентов: desc
(поле описания), freq
(поле индикатора частоты), и dates
(вектор дат). Если вы создаете объект с помощью конструктора fints
, значение по умолчанию для поля описания является пустым вектором символов (''
). Если вы создаете объект из текстового файла данных, используя ascii2fts
, по умолчанию это имя текстового файла данных. Значение по умолчанию для поля индикатора частоты 0
(Unknown
частота). Объекты, созданные из операций, могут задать по умолчанию значение 0
. Например, если вы решите выборочно выбрать значения из объекта, частота нового объекта может быть не такой, как у объекта, из которого он пришел.
Вектор дат
dates не имеет множества значений по умолчанию. Когда вы создаете объект, вы должны задать вектор даты. Вектор дат можно изменить после, но во время создания объекта необходимо указать набор дат.
Конечным компонентом объекта финансовых временных рядов является один или несколько векторов ряда данных. Если вы не задаете имя для ряда данных, то имя по умолчанию series1
. Если у вас есть несколько рядов данных в объекте и вы не задаете имена, по умолчанию это серия имен, за которой следует число, например series1
, series2
, и series3
.
Вот упражнение по извлечению данных из объекта финансовых временных рядов. Как упоминалось ранее, можно представить объект как структуру MATLAB. Выделите каждую строку в упражнении в браузере MATLAB Help, нажмите правую кнопку мыши и выберите Evaluate Selection, чтобы выполнить его.
Для начала создайте объект финансовых временных рядов с именем myfts
:
dates = (datenum('05/11/99'):datenum('05/11/99')+100)'; data_series1 = exp(randn(1, 101))'; data_series2 = exp(randn(1, 101))'; data = [data_series1 data_series2]; myfts = fints(dates, data)
The myfts
объект выглядит следующим образом:
Warning: FINTS will be removed in a future release. Use TIMETABLE instead. > In fints (line 165) Warning: FINTS will be removed in a future release. Use TIMETABLE instead. > In fints/display (line 66) myfts = desc: (none) freq: Unknown (0) 'dates: (101)' 'series1: (101)' 'series2: (101)' '11-May-1999' [ 2.8108] [ 0.9323] '12-May-1999' [ 0.2454] [ 0.5608] '13-May-1999' [ 0.3568] [ 1.5989] '14-May-1999' [ 0.5255] [ 3.6682] '15-May-1999' [ 1.1862] [ 5.1284] '16-May-1999' [ 3.8376] [ 0.4952] '17-May-1999' [ 6.9329] [ 2.2417] '18-May-1999' [ 2.0987] [ 0.3579] '19-May-1999' [ 2.2524] [ 3.6492] '20-May-1999' [ 0.8669] [ 1.0150] '21-May-1999' [ 0.9050] [ 1.2445] '22-May-1999' [ 0.4493] [ 5.5466] '23-May-1999' [ 1.6376] [ 0.1251] '24-May-1999' [ 3.4472] [ 1.1195] '25-May-1999' [ 3.6545] [ 0.3374]...
В объекте больше дат; здесь показаны только первые несколько линии.
Примечание
Фактические данные в вашем series1
и series2
отличается от вышесказанного из-за использования случайных чисел.
Теперь создайте другой объект с только значениями для series2
:
srs2 = myfts.series2
Warning: FINTS will be removed in a future release. Use TIMETABLE instead. > In fints/subsref (line 106) Warning: FINTS will be removed in a future release. Use TIMETABLE instead. > In fints/display (line 66) srs2 = desc: (none) freq: Unknown (0) 'dates: (101)' 'series2: (101)' '11-May-1999' [ 0.9323] '12-May-1999' [ 0.5608] '13-May-1999' [ 1.5989] '14-May-1999' [ 3.6682] '15-May-1999' [ 5.1284] '16-May-1999' [ 0.4952] '17-May-1999' [ 2.2417] '18-May-1999' [ 0.3579] '19-May-1999' [ 3.6492] '20-May-1999' [ 1.0150] '21-May-1999' [ 1.2445] '22-May-1999' [ 5.5466] '23-May-1999' [ 0.1251] '24-May-1999' [ 1.1195] '25-May-1999' [ 0.3374]...
Новый объект srs2
содержит все даты в myfts
, но единственный ряд данных series2
. Имя ряда данных сохраняет свое имя от исходного объекта, myfts
.
Примечание
Выходы из ссылки на поле ряда данных или индексации объекта финансовых временных рядов всегда являются другим объектом финансовых временных рядов. Исключениями являются ссылки на описание, индикатор частоты и поля дат, а также индексация в поле дат.
Функция fts2mat
извлекает даты и/или значения рядов данных из объекта и помещает их в вектор или матрицу. Поведение по умолчанию извлекает только значения в вектор или матрицу. Посмотрите на следующий пример:
srs2_vec = fts2mat(myfts.series2)
Warning: FINTS will be removed in a future release. Use TIMETABLE instead. > In fints/subsref (line 106) Warning: FINTS will be removed in a future release. Use TIMETABLE instead. > In fints/fts2mat (line 29) srs2_vec = 0.9323 0.5608 1.5989 3.6682 5.1284 0.4952 2.2417 0.3579 3.6492 1.0150 1.2445 5.5466 0.1251 1.1195 0.3374...
Если вы хотите включить даты в выходную матрицу, предоставьте второй входной параметр и установите его на 1
. Это приводит к появлению матрицы, первый столбец которой является вектором с серийными номерами дат:
format long g srs2_mtx = fts2mat(myfts.series2, 1)
Warning: FINTS will be removed in a future release. Use TIMETABLE instead. > In fints/subsref (line 106) Warning: FINTS will be removed in a future release. Use TIMETABLE instead. > In fints/fts2mat (line 29) srs2_mtx = 730251 0.932251754559576 730252 0.560845677519876 730253 1.59888712183914 730254 3.6681500883527 730255 5.12842215360269 730256 0.49519254119977 730257 2.24174134286213 730258 0.357918065917634 730259 3.64915665824198 730260 1.01504236943148 730261 1.24446420606078 730262 5.54661849025711 730263 0.12507959735904 730264 1.11953883096805 730265 0.337398214166607
Векторная srs2_vec
содержит series2
значения. Матрица srs2_mtx
содержит даты в первом столбце и значения series2
последовательность данных во втором. Даты в первом столбце указаны в формате последовательной даты. Формат последовательной даты является представлением формата вектора символов даты (для примера, последовательной даты = 1
эквивалентно 01-Jan-0000). (Вектор последовательной даты может включать информацию о времени суток.)
The long g
формат отображения отображает числа без экспоненции. (Чтобы вернуться к формату отображения по умолчанию, используйте format short
. (См. format
описание форматов отображения MATLAB.) Помните, что и вектор, и матрица имеют 101 строку данных, как в исходном объекте myfts
но показаны здесь усеченными.
ascii2fts
| boxcox
| convertto
| datestr
| diff
| fillts
| filter
| fints
| fts2mat
| ftsbound
| lagts
| leadts
| peravg
| resamplets
| smoothts
| toannual
| todaily
| tomonthly
| toquarterly
| tosemi
| toweekly
| tsmovavg