Этот пример показывает, как получить занимающие место данные от 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
Используйте факторные данные о ранге в своем процессе выбора портфеля или последующий анализ в вашей существующей модели.