Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Предобработка информации

Постановка задачи | Задача классификации | Стратегия One-vs.-rest | Multi-label классификация | Методы и алгоритмы, реализованные в программной системе | Наивный Байесовский Классификатор | Рабочий режим | Тестовый режим | Рабочий режим | Машинный эксперимент |


Читайте также:
  1. IV. Making inquiries at the Information Desk.— Получение справки в Справочном столе (в Бюро информации).
  2. Автоматизация поиска информации. Категория «Ссылки и массивы».
  3. Алгоритм 2.36. Доступ к информации о задаче
  4. Алгоритм 2.37. Доступ к информации о ресурсе
  5. Альтернативная задача защиты информации от НСД на прикладном уровне.
  6. Анализ информации
  7. АРХИТЕКТУРА СИСТЕМНОГО ИНТЕРФЕЙСА СОВРЕМЕННЫХ ПК. НАЗНАЧЕНИЕ КОМПОНЕНТОВ. РЕЖИМЫ ПЕРЕДАЧИ ИНФОРМАЦИИ ПО системными шинами.

Для извлечения информации о трендах в ценах используется приложение FactEventAnalyzer.exe, разработанное на C#. Текст программы доступен в Приложении 1.

Программа работает с набором данных о ценах на ценные бумаги и о корпоративных событиях (таких как выплата дивидендов, изменения рейтинга компаний, собраниях акционеров) которые хранятся в базе данных MS SQL Server.

Примеры доступных данных продемонстрированы ниже.


 

Информация о ценных бумагах:

SecId Ticker Issuer SecType InvType PriceCurrency Region IssuerCountry Exchange IndustrySector
  IBM International Business Machines Corp EQTY EQTY USD American USA XNYS IT Consulting & Other Services
  ADVS Advent Software Inc EQTY EQTY USD American USA XNGS Application Software
  MSFT US Equity Microsoft Corp EQTY EQTY USD American USA XNGS Systems Software
  WIL SP Wilmar International Ltd EQTY EQTY SGD Asian SGP XSES Agricultural Products
  ADM Archer-Daniels-Midland Co EQTY EQTY USD American USA XNYS Agricultural Products
  AGU Agrium Inc EQTY EQTY USD American CAN XNYS Fertilizers & Agricultural Chemicals
  BG Bunge Ltd EQTY EQTY USD American BMU XNYS Agricultural Products
  GGR SP Golden Agri-Resources Ltd EQTY EQTY SGD Asian MUS XSES Agricultural Products
  INGR Ingredion Inc EQTY EQTY USD American USA XNYS Agricultural Products
  VT Viterra Inc EQTY EQTY CAD American CAN XTSE Agricultural Products

 

1. SecId. Внутренний уникальный идентификатор бумаги

2. Ticker. Идентификатор, под которым бумага торгуется на бирже

3. Issuer. Компания, выпустившая данную бумагу

4. SecType. Код типа ценной бумаги

5. InvType. Код подтипа ценной бумаги

6. PriceCurrency. Валюта, в которой торгуется данная бумага

7. Region. Регион, с которым ассоциирована данная бумага

8. IssuerCountry. Страна регистрации компании, выпустившей данную бумагу

9. Exchange. Биржа, на которой торгуется данная бумага

10. IndustrySector. Индустрия, в которой работает компания, выпустившая данную бумагу

Информация о ценах:

Date DateTick SecId Price AskPrice BidPrice
1/24/12 0:00          
2/20/12 0:00     26.5    
3/5/12 0:00     0.028375 0.022 0.0265
3/12/12 0:00     37.14 37.12 37.23
3/20/12 0:00     1.49 1.45 1.45
4/9/12 0:00          
4/20/12 0:00     0.195 0.013 0.12
5/2/12 0:00          
5/14/12 0:00     3.4 2.8 2.8
5/21/12 0:00     0.0024 0.0005 0.00175

 

1. Date. Информация о дате, на которую была актуальна указанная цена

2. DateTick. Информация о да, на которую была актуальна цена, представленная в виде числа дней с 1-го января 1900 года

3. SecId. Внутренний уникальный идентификатор бумаги, для которой актуальна данная цена

4. Price. Значения цены закрытия

5. Ask. Значение цены

6. Bid. Значение цены

Информация о корпоративных событиях:

SecId UniqueCoraxId EffectiveDate EventType EventMajorType
    2/4/14 0:00 Merger Standard
    4/3/14 0:00 Stock Split Standard
    2/4/14 0:00 Merger Standard
    12/12/13 0:00 Cash Dividend Standard
    3/13/14 0:00 Cash Dividend Standard
    2/27/14 0:00 Merger Standard
    3/27/14 0:00 Cash Dividend Standard
    12/23/13 0:00 Divestiture Standard
    3/30/14 0:00 Merger Standard
    3/30/14 0:00 Divestiture Standard

 

1. SecId. Внутренний уникальный идентификатор бумаги, для которой актуально данное событие

2. UniqueCoraxId. Уникальный идентификатор данного события.

3. EffectiveDate. Дата события.

4. EventType. Подтип события.

5. EventMajorType. Глобальный тип события.

Приложение вызывается из командной строки, после чего выполняет следующий процесс:

1) Считываются стартовые параметры из xml-файла Config.xml (доступен в Приложении 2).

2) Запускается процесс runFactMiner, которые извлекает информацию о трендах из исходных данных с помощью предоставленных параметров. Данная задача выполняется следующим образом:

1. Для каждой ценной бумаги удовлетворяющей переданным параметрам программа перебирает каждую имеющуюся запись о ее цене в хронологическом порядке.

2. Если цена в текущей записи выше чем в предыдущей – предполагаем что цена растет, если она меньше – падает. При этом изменение должно превзойти заранее заданный параметр чувствительности changeThreshold (например 0.2 процента изменения) в противном случае считаем что цена неизменна.

3. В том случае если изменение цены превышает некоторый наперед заданный уровень (например, более 3%) то считаем что произошел «всплеск» (spike) и создаем об этом запись. Значение этого уровня хранится в параметре spikeThreshold.

4. Если тренд изменяется на очередной записи о цене – предполагаем что тренд мог быть сломлен.

5. В том случае если мы предполагаем слом тренда программа проверяет некоторое количество следующих записей о ценах (количество также задается параметром dateThreshold). Если при сравнении текущей записи данных и той, на которой произошел слом тренда, видим, что слом тренда подтвержден – создаем запись о начале тренда и его окончании. Если слом тренда не подтвержден – продолжаем перебор

3) По окончанию такого перебора в базе данных FactEventAnalysisDB, с помощью табличных представления PriceFactsHypothesis извлекается информация о трендах на ценные бумаги а с помощью представления SpikeFactsHypothesis – о «всплесках» и сохраняются в локальный файл формата csv.

Диаграмма классов системы приведена ниже:

Рис. 2. Диаграмма классов приложения FactEventAnalyzer

Краткое описание классов надо ниже:

1) CoraxesSource, CoraxFactsTable, PricesSource, SecuritiesSource, PriceFactsTable, SpikeFactsTable. Классы, обеспечивающий доступ к источникам данных – одноименным таблицам в базе данных FactEventAnalysisDB.

2) FactEventAnalysisDBDataContext. Служебный класс, обеспечивающий коммуникацию приложения с базой данных FactEventAnalysisDB.

3) FactMiner. Класс, выполняющий функции извлечения информации о трендах с помощью переданных ему параметров, и запись информации о трендах в файлы.

4) Logger. Класс, выполняющий ведение журнала работы приложения.

5) PriceFactsHypothesi. Класс, обеспечивающий вызов табличного представления PriceFactsHypothesis в базе FactEventAnalysisDB.

6) SpikeFactHypothesi. Класс, обеспечивающий вызов табличного представления SpikeFactsHypothesis в базе FactEventAnalysisDB.

7) Program. Главный класс, объединяющий все остальные классы и вызывающий методы других классов по ходу выполнения программы. Также обеспечивает чтение параметров программы из файла параметров.

8) Settings. Служебный класс, хранящий информацию о приложении.

9) Parameters. Структура, обеспечивающая хранение параметров программы, считанных из файла параметров.


10)

В процессе работы система базу данных FactEventAnalysisDB, ее диаграмма приведена ниже:

Рис. 3. Диаграмма базы данных FactEventAnalysisDB.

Также используется две хранимых процедуры из базы FactEventAnalysisDB, код которых доступен в Приложении 3. Их описание приведено ниже:

1) usp_ClearFactsTables. Очищает таблицы CoraxFactsTable и SpikeFactsTable, от старых данных, которые могли остаться от предыдущих выполнений программы

2) usp_populateCoraxFactsTable. Осуществляет предобработку данных в таблице CoraxesSource и переносит обработанные данные в таблицу CoraxFactsTable.

Помимо этого используются два табличных представления, описание которых дано ниже:

1) PriceFactsHypothesis. Представление извлекающее все пары «корпоративное событие – изменение в тренде цены» из таблиц PriceFactsTable и CoraxFactsTable на каждую дату.

2) SpikeFactsHypothesis. Представление извлекающее все пары «корпоративное событие – всплеск в цене» из таблиц SpikeFactsTable и CoraxFactsTable на каждую дату.

Код данных представлений также доступен в Приложении 3.

Задача извлечения трендов не является главной темой работы, потому упомянута кратко.

По результатам работы система производит два файла – SpikeFacts.csv и PriceFacts.csv, которые используются в дальнейшем. Данные файлы представляют собой список пар «Характеристика события» - «Характеристика изменения» на каждую дату.

Ниже представлена инструкция по использованию системы предобработки.


Дата добавления: 2015-11-16; просмотров: 80 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Стохастический Градиентный Спуск| Инструкция пользователя

mybiblioteka.su - 2015-2024 год. (0.012 сек.)