Определите индикатор объема события Используя аналитику новостей RavenPack

В этом примере показано, как определить Индикатор объема события (EVI) из RavenPack® News Analytics исторические и суточные данные. Пример также показывает, как получить данные реального времени, чтобы обновить EVI.

EVI считает количество событий Аналитики RavenPack News на основе счета чувства события (ESS). Найдите EVI в день использованием t

EVIt=i=0n1(posti+negti).

Переменные:

  • post количество положительных событий в день t.

  • negt количество отрицательных событий в день t.

  • n является номером дней, в течение которых вы вычисляете EVI.

ESS является Счетом Чувства События, который измеряет положительное или отрицательное чувство новостей. Задайте положительные события ESS> 50 и отрицательные события ESS <50. Для получения дополнительной информации о ESS, см. Обзор Руководства пользователя и Сервиса Аналитики RavenPack News в Обзоре Зоны Разработчика RavenPack. Для получения дополнительной информации об этом вычислении, см. [1].

Чтобы анализировать действие новостей о компании или другой сущности, используйте EVI.

Чтобы получить доступ к коду для этого примера, смотрите RavenPackWorkflowExample.m.

Соединитесь с аналитикой новостей RavenPack

Создайте связь Аналитики RavenPack News c использование имени пользователя username и пароль pwd.

c = ravenpack('username','pwd');

Получите исторические и суточные данные о новостях RavenPack

Права Шлюза Данных об Аналитике 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,:) = [];

Определите EVI для данных о новостях Твиттера

Этот код циклы через данные компании Твиттера 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'}));

Закройте связь аналитики новостей RavenPack

close(c)

Ссылки

[1] Хафез, Питер и Цзюньцян Се. “Улучшая Краткосрочные Реверсивные стратегии с Аналитикой Новостей”. Количественный анализ RavenPack специалист по Аналитике Новостей. 5 сентября 2013, p. 3.

Смотрите также

| | | | |

Похожие темы

Внешние веб-сайты