В этом примере показано, как определить Индикатор объема события (EVI) из RavenPack® News Analytics исторические и суточные данные. Пример также показывает, как получить данные реального времени, чтобы обновить EVI.
EVI считает количество событий Аналитики RavenPack News на основе счета чувства события (ESS). Найдите EVI в день использованием t
Переменные:
количество положительных событий в день t.
количество отрицательных событий в день t.
n является номером дней, в течение которых вы вычисляете EVI.
ESS является Счетом Чувства События, который измеряет положительное или отрицательное чувство новостей. Задайте положительные события ESS> 50 и отрицательные события ESS <50. Для получения дополнительной информации о ESS, см. Обзор Руководства пользователя и Сервиса Аналитики RavenPack News в Обзоре Зоны Разработчика RavenPack. Для получения дополнительной информации об этом вычислении, см. [1].
Чтобы анализировать действие новостей о компании или другой сущности, используйте EVI.
Чтобы получить доступ к коду для этого примера, смотрите RavenPackWorkflowExample.m
.
Создайте связь Аналитики RavenPack News c
использование имени пользователя username
и пароль pwd
.
c = ravenpack('username','pwd');
Права Шлюза Данных об Аналитике Retrieve RavenPack News с помощью связи Аналитики RavenPack News c
.
e = entitlements(c);
e
таблица, которая содержит дающие право данные.
Получите символ Аналитики RavenPack News для данных об акциях.
symbol = e.NAME{1};
Создайте исторический файл данных акций 2014-11-equities.csv
использование Инструмента Канала Данных RavenPack. Загрузите данные в переменную histData
MATLAB®.
histData = rploader('2014-11-equities.csv');
Запросите прошлые два с половиной часа суточных данных recentData
для всех допустимых полей с помощью связи Аналитики RavenPack News c
. symbol
названный символ для данных об акции. Создайте временной интервал с помощью now-.1
и now
.
recentData = timeseries(c,symbol,{now-.1,now});
Получать последнюю минуту суточных данных для полей RavenPack News Analytics ENTITY_NAME
, GROUP
, и ESS
, используйте этот код. Создайте временной интервал для последней минуты с помощью now-.001
и now
.
essData = timeseries(c,symbol,{now-.001,now},... {'ENTITY_NAME','GROUP','ESS'});
Объедините исторические и суточные данные в переменную MATLAB allData
. Удалите компонент времени из метки времени с помощью dateshift
.
allData = [histData; recentData]; allData.TIMESTAMP_UTC = dateshift(allData.TIMESTAMP_UTC,'start','day');
Изолируйте данные о событии Twitter® с помощью strcmp
. Присвойте данные о событии Твиттера переменной MATLAB companyData
.
iCompany = strcmp('Twitter Inc.',allData.ENTITY_NAME);
companyData = allData(iCompany,:);
Отфильтруйте внутреннюю торговлю и закажите события неустойчивости из данных о событии Твиттера. Чтобы найти эти события, используйте поле RavenPack News Analytics GROUP
. Для получения дополнительной информации об этом поле, см. Обзор Зоны Разработчика RavenPack. Для получения дополнительной информации об этом фильтре, см. [1].
iIT = strcmp('insider-trading',companyData.GROUP); companyData(iIT,:) = []; iIT = strcmp('order-imbalances',companyData.GROUP); companyData(iIT,:) = [];
Этот код циклы через данные компании Твиттера companyData
. Логика отфильтровывает пустые баллы ESS и баллы ESS, равные 50. Код добавляет запись для первого события дня с помощью метки времени essTimestamp
. Затем код постепенно увеличивает количество EVI eviData
.
EVI = 0; eviData(1,1) = EVI; essTimestamp = companyData.TIMESTAMP_UTC(1); iEVI = 1; for j = 1:length(companyData.ESS) % Discard neutral and empty scores if ~isempty(companyData.ESS{j}) && ~strcmp(companyData.ESS{j},'50') % Add new record for new day's event, otherwise increment existing count if essTimestamp(iEVI) ~= companyData.TIMESTAMP_UTC(j) essTimestamp(end+1,1) = companyData.TIMESTAMP_UTC(j); iEVI = length(essTimestamp); EVI = 0; else essTimestamp = companyData.TIMESTAMP_UTC(j); end EVI = EVI + 1; eviData(iEVI,1) = EVI; end end
Заполните таблицу twitter
с меткой времени essTimestamp
и данные EVI Твиттера eviData
.
twitter = table(essTimestamp,eviData,... 'VariableNames',{'Timestamp','Twitter_EVI'});
Очистите временные переменные MATLAB.
clear essTimestamp EVI eviData
Заполните Твиттер в реальном времени данные EVI в переменную MATLAB twitter
в браузере Рабочей области с помощью realtime
. Запустите realtime
использование связи Аналитики RavenPack News c
и символ. Демонстрационный прослушиватель rpExampleListener
прислушивается к данным о событии любой компании или сущности. Когда realtime
запущен как часть этого примера, realtime
обеспечивает обновления в реальном времени для EVI Твиттера. Здесь, этот прослушиватель контролирует для новостей, связанных с этими полями RavenPack News Analytics: ENTITY_NAME
, GROUP
, и ESS
. Чтобы добавить другую функциональность, можно изменить этот прослушиватель, функционируют или создают собственное.
[status,lhandle] = realtime(c,symbol, ... @(~,evt)rpExampleListener(evt,{'ENTITY_NAME', ... 'GROUP','ESS'}));
close(c)
[1] Хафез, Питер и Цзюньцян Се. “Улучшая Краткосрочные Реверсивные стратегии с Аналитикой Новостей”. Количественный анализ RavenPack специалист по Аналитике Новостей. 5 сентября 2013, p. 3.
close
| entitlements
| ravenpack
| realtime
| rploader
| timeseries