Этот пример показывает, как получить занимающие место данные от IHS Markit® для использования в выборе портфеля или существующей модели. Получите данные о ранге процентили для идентификаторов безопасности тикера факторного кода. Затем используйте информацию о ранге для выбора портфеля или последующего анализа в существующей модели. Пример принимает, что у вас есть учетные данные Markit IHS. Для учетных данных смотрите веб-сайт Markit IHS.
Создайте связь Markit IHS с помощью имени пользователя и пароля. c является объектом ihsmarkitrs.
username = 'ABCDEF'; password = 'ABC123'; c = ihsmarkitrs(username,password);
Получите информацию сигнала в течение прошлых 10 дней с помощью связи Markit IHS. Задайте код фактора ABR и вселенную US Total Cap. Кроме того, задайте тип безопасности тикера и формат данных процентили. Формат процентили обеспечивает данные о рейтинге фактора. d является таблицей, которая содержит информацию сигнала и переменные date и data.
code = 'ABR'; universeid = 'US Total Cap'; startdate = datetime('today')-10; enddate = datetime('today'); identifier = 'ticker'; datatype = 'percentile'; d = signals(c,code,universeid,startdate,enddate,identifier,datatype);
Доступ к первым нескольким строкам занимающих место данных в течение первого дня в диапазоне дат при помощи переменной data.
data = d.data{1};
head(data)ans =
8×2 table
ticker value
______ _____
'SVU' 1
'LBY' 1
'TLRY' 1
'WIFI' 1
'TCS' 1
'AOBC' 1
'TTD' 1
'ZOES' 1
Переменными получившейся таблицы является ticker и value. Переменная ticker содержит идентификаторы безопасности тикера. Переменная value содержит данные о рейтинге фактора.
Найдите все идентификаторы безопасности тикера в data, которые имеют самое привлекательное значение с помощью значений ранга 1 через 10. Составьте таблицу, чтобы сохранить значения ранга и выполнить внутреннее объединение, чтобы получить самые привлекательные ценные бумаги. Отобразите последние несколько привлекательных ценных бумаг.
value = 1:10; % Define array of ranks 1 through 10 T = table(value','VariableNames',{'value'}); % Create table of the ranks in one variable securities = innerjoin(data,T); % Perform inner join to find securities within the ranks tail(securities)
ans =
8×2 table
ticker value
_______ _____
'CDPYF' 10
'CNXN' 10
'DRNA' 10
'PSX' 10
'BRC' 10
'ICHR' 10
'MNLO' 10
'MBI' 10
Используйте факторные данные о ранге в своем процессе выбора портфеля или последующий анализ в вашей существующей модели.