слияние

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

merge будет удален в будущем релизе. Используйте timetable вместо этого. Для получения дополнительной информации смотрите, Преобразовывают Финансовые маневры Объектов Временных рядов в Расписания.

Синтаксис

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

Аргументы

fts1, fts2, ...

Список, разделенный запятыми финансовых временных рядов возражает против слияния.

Примечание

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

'DateSetMethod'

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

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

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

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

'DataSetMethod'

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

'closest' — (Значение по умолчанию) Возвращает данные на основе порядка входных параметров. Однако первая недостающая точка данных (значение NaN) даты будет заменена самой близкой non-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 will be removed in a future release. 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 will be removed in a future release. 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 will be removed in a future release. 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 will be removed in a future release. 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 will be removed in a future release. 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's за исключением '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 will be removed in a future release. 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 will be removed in a future release. 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 will be removed in a future release. 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 will be removed in a future release. 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 will be removed in a future release. 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 will be removed in a future release. 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