exponenta event banner

слияние

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

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

Синтаксис

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 - сопоставляет все значения опорному времени, содержащемуся в объекте финансового временного ряда (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