merge

Объедините несколько объектов финансовых временных рядов

merge не рекомендуется. Использовать timetable вместо этого. Для получения дополнительной информации смотрите Преобразование финтов финансовых временных рядов в Timetables.

Синтаксис

newfts = merge(fts1,fts2)
newfts = merge(fts1,fts2, ..., ftsx)
newfts = merge(fts1,fts2, ..., ftsx,'PARAM1',VALUE1,'PARAM2',VALUE2, ...)

Аргументы

fts1, fts2, ...

Разделенный запятыми список объектов финансовых временных рядов, которые нужно объединить.

Примечание

Несколько объектов финансовых временных рядов могут быть объединены сразу. Объединенные объекты должны находиться в списке разделенных запятыми перед необязательными входами. Порядок входов значителен.

'DateSetMethod'

(Необязательно) Объединить method. Допустимые значения слияния:

'union' - (По умолчанию) Возвращает объединенные значения всех объединенных объектов.

'intersection' - Возвращает значения, общие для всех объединенных объектов.

RefObj - Преобразует все значения в ссылочное время, содержащееся в объекте Financial Time Series (RefObj) или вектор номеров дат.

'DataSetMethod'

(Необязательно) Объединить method. Допустимые значения слияния:

'closest' - (По умолчанию) Возвращает данные, основанные на порядке входов. Однако первая отсутствующая точка данных (NaN значение) даты будет заменено ближайшим не- NaN точка данных, которая появляется в ту же дату последующих объединенных объектов.

'order' - Возвращает данные, основанные строго на порядке входов.

'SortColumns'

(Необязательно) Сортировки столбцов. Допустимые значения слияния:

True/1 - (По умолчанию) Сортировки столбцов осуществляются на основе заголовков (имен серий). Заголовки сортируются в алфавитном порядке.

False/0 - Столбцы не сортируются.

Описание

newfts = merge(fts1,fts2, ..., ftsx,'PARAM1',VALUE1,'PARAM2',VALUE2', ...) объединяет несколько объектов финансовых временных рядов. Необязательный аргумент в виде пары параметров и значений задает значения, содержащиеся в выходе объекте финансовых временных рядов ftsout.

Примеры

свернуть все

Создайте три объекта финансовых временных рядов и объедините их в новый объект временных рядов t123.

dates = {'jan-01-2001'; 'jan-02-2001'; 'jan-03-2001'; ...
         'jan-04-2001'; 'jan-06-2001'};
data = [1; 1; 1; 1; 1];
t1 = fints(dates, data);
Warning: FINTS is not recommended. Use TIMETABLE instead. For more information, see <a href="matlab:web(fullfile(docroot, 'finance/convert-from-fints-to-timetables.html'))">Convert Financial Time Series Objects (fints) to Timetables</a>.
dates = {'jan-02-2001'; 'jan-03-2001'; 'jan-04-2001';
         'jan-05-2001'};
data = [2; 2; 2; 2];
t2 = fints(dates, data);
Warning: FINTS is not recommended. Use TIMETABLE instead. For more information, see <a href="matlab:web(fullfile(docroot, 'finance/convert-from-fints-to-timetables.html'))">Convert Financial Time Series Objects (fints) to Timetables</a>.
dates = {'jan-03-2001'; 'jan-04-2001'; 'jan-05-2001'; 
         'jan-06-2001'};
data = [3; 3; 3; 3];
t3 = fints(dates, data);
Warning: FINTS is not recommended. Use TIMETABLE instead. For more information, see <a href="matlab:web(fullfile(docroot, 'finance/convert-from-fints-to-timetables.html'))">Convert Financial Time Series Objects (fints) to Timetables</a>.
t123 = merge(t1, t2, t3)
Warning: FINTS is not recommended. Use TIMETABLE instead. For more information, see <a href="matlab:web(fullfile(docroot, 'finance/convert-from-fints-to-timetables.html'))">Convert Financial Time Series Objects (fints) to Timetables</a>.
 
t123 = 
 
    desc:   ||  || 
    freq:  Unknown (0)

    {'dates:  (6)'}    {'series1:  (6)'}
    {'01-Jan-2001'}    {[            1]}
    {'02-Jan-2001'}    {[            1]}
    {'03-Jan-2001'}    {[            1]}
    {'04-Jan-2001'}    {[            1]}
    {'05-Jan-2001'}    {[            2]}
    {'06-Jan-2001'}    {[            1]}

Если вы изменяете порядок входа временных рядов, выход может содержать различные данные при наличии повторяющихся дат. Вот, например, результат использования тех же трех временных рядов, определенных выше, но с измененным порядком.

merge(t3, t2, t1)
Warning: FINTS is not recommended. Use TIMETABLE instead. For more information, see <a href="matlab:web(fullfile(docroot, 'finance/convert-from-fints-to-timetables.html'))">Convert Financial Time Series Objects (fints) to Timetables</a>.
 
ans = 
 
    desc:   ||  || 
    freq:  Unknown (0)

    {'dates:  (6)'}    {'series1:  (6)'}
    {'01-Jan-2001'}    {[            1]}
    {'02-Jan-2001'}    {[            2]}
    {'03-Jan-2001'}    {[            3]}
    {'04-Jan-2001'}    {[            3]}
    {'05-Jan-2001'}    {[            3]}
    {'06-Jan-2001'}    {[            3]}

t123 содержит все 1, кроме '05-Jan-2001' потому что t1 появляется сначала в списке входов и имеет приоритет. Та же логика может быть применена и к t321. Изменив порядок входов, можно перезаписать старые финансовые данные временных рядов новыми данными, поместив новый временной ряд перед старым в список входами на merge функция.

Объедините объекты временных рядов с различными заголовками в новый объект временных рядов t45.

dates = {'jan-01-2001'; 'jan-02-2001'; 'jan-03-2001'; ...
'jan-04-2001'; 'jan-06-2001'}; 
data = [1; 1; 1; 1; 1]; 
t4 = fints(dates, data, 'ts4'); 
Warning: FINTS is not recommended. Use TIMETABLE instead. For more information, see <a href="matlab:web(fullfile(docroot, 'finance/convert-from-fints-to-timetables.html'))">Convert Financial Time Series Objects (fints) to Timetables</a>.
dates = {'jan-02-2001'; 'jan-03-2001'; 'jan-04-2001'; 'jan-05-2001'};
data = [2; 2; 2; 2]; 
t5 = fints(dates, data, 'ts5'); 
Warning: FINTS is not recommended. Use TIMETABLE instead. For more information, see <a href="matlab:web(fullfile(docroot, 'finance/convert-from-fints-to-timetables.html'))">Convert Financial Time Series Objects (fints) to Timetables</a>.
t45 = merge(t4, t5)
Warning: FINTS is not recommended. Use TIMETABLE instead. For more information, see <a href="matlab:web(fullfile(docroot, 'finance/convert-from-fints-to-timetables.html'))">Convert Financial Time Series Objects (fints) to Timetables</a>.
 
t45 = 
 
    desc:   || 
    freq:  Unknown (0)

    {'dates:  (6)'}    {'ts4:  (6)'}    {'ts5:  (6)'}
    {'01-Jan-2001'}    {[        1]}    {[      NaN]}
    {'02-Jan-2001'}    {[        1]}    {[        2]}
    {'03-Jan-2001'}    {[        1]}    {[        2]}
    {'04-Jan-2001'}    {[        1]}    {[        2]}
    {'05-Jan-2001'}    {[      NaN]}    {[        2]}
    {'06-Jan-2001'}    {[        1]}    {[      NaN]}

Объедините две последовательности индексов в конечный объединенный объект (t12) и сохранить пересекающиеся даты.

dates = {'jan-01-2001'; 'jan-02-2001'; 'jan-03-2001'; 'jan-04-2001'; 'jan-06-2001'};
data = [1; 1; 1; 1; 1]; 
t1 = fints(dates, data,'A') 
Warning: FINTS is not recommended. Use TIMETABLE instead. For more information, see <a href="matlab:web(fullfile(docroot, 'finance/convert-from-fints-to-timetables.html'))">Convert Financial Time Series Objects (fints) to Timetables</a>.
 
t1 = 
 
    desc:  (none)
    freq:  Unknown (0)

    {'dates:  (5)'}    {'A:  (5)'}
    {'01-Jan-2001'}    {[      1]}
    {'02-Jan-2001'}    {[      1]}
    {'03-Jan-2001'}    {[      1]}
    {'04-Jan-2001'}    {[      1]}
    {'06-Jan-2001'}    {[      1]}
dates = {'jan-02-2001'; 'jan-03-2001'; 'jan-04-2001'; 'jan-05-2001'}; 
data = [2; 2; 2; 2]; 
t2 = fints(dates, data,'B') 
Warning: FINTS is not recommended. Use TIMETABLE instead. For more information, see <a href="matlab:web(fullfile(docroot, 'finance/convert-from-fints-to-timetables.html'))">Convert Financial Time Series Objects (fints) to Timetables</a>.
 
t2 = 
 
    desc:  (none)
    freq:  Unknown (0)

    {'dates:  (4)'}    {'B:  (4)'}
    {'02-Jan-2001'}    {[      2]}
    {'03-Jan-2001'}    {[      2]}
    {'04-Jan-2001'}    {[      2]}
    {'05-Jan-2001'}    {[      2]}
t12 = merge(t1, t2,'DateSetMethod','Intersection')
Warning: FINTS is not recommended. Use TIMETABLE instead. For more information, see <a href="matlab:web(fullfile(docroot, 'finance/convert-from-fints-to-timetables.html'))">Convert Financial Time Series Objects (fints) to Timetables</a>.
 
t12 = 
 
    desc:   || 
    freq:  Unknown (0)

    {'dates:  (3)'}    {'A:  (3)'}    {'B:  (3)'}
    {'02-Jan-2001'}    {[      1]}    {[      2]}
    {'03-Jan-2001'}    {[      1]}    {[      2]}
    {'04-Jan-2001'}    {[      1]}    {[      2]}
Представлено до R2006a