merge

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

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 — Карты все значения к ссылочному времени, содержавшемуся в объекте 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 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'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 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