Данные - Использование нейронных сетей для прогнозирования и принятия автоматизированных решений при инвестировании на фондовом рынке

Источник и формат входных данных

В качестве объектов нейросетевого анализа были выбраны следующие акции, входящие в индекс РТС:

    - Сбербанк - ВТБ - Башнефть - Роснефть

Для обучения и тестирования нейронной сети использовались данные котировок, предоставляемые брокерской компанией АО "Инвестиционный холдинг ФИНАмМ" (Сайт: http://www. finam. ru/).

интерфейс экспорта котировок

Рис. 6. Интерфейс экспорта котировок

Данные сохранялись в формате. csv. Для обработки данных из экспортированного файла и формирования начальных входных данных для нейронной сети был реализован специальный модуль по взаимодействию с Excel-файлами (.csv - расширение файлов, предназначенный для импорта / экспорта табличных данных; файл данного формата может обрабатываться как стандартный Excel-файл с расширением. xls/.xlsx).

Рис. 7. Пример экспортированных данных, на основе которых формируются входные данные для нейронной сети

Нормирование начальных входных данных

ЭКспортированные данные включают следующие значения:

    1. Цена открытия - цена финансового инструмента на момент заключения первой сделки в выбранном временном интервале (тики, 5 мин, час и тд.) 2. Цена закрытия - цена финансового инструмента на момент заключения последней сделки 3. Максимальная цена 4. Минимальная цена 5. Объем торгов

В рамках данной работы будут использованы значения цен закрытия. Но, как уже обсуждалось ранее, будут использоваться не абсолютные значения цен закрытия, а изменения котировок в качестве входов - и, соответственно, формат выходов является таким же - нейронной сети. Данный шаг, нормирование данных, позволит, во-первых, сформировать универсальный, в рамках данной задачи, инструмент и, во-вторых, повысить эффективность адаптивных предсказаний сети, за счет существенного снижения корреляции между последовательными значениями котировок. Пренебрежение данным шагом может привести к ситуации (наиболее характерно для коротких временных интервалов), когда адаптивное предсказание нейронной сети будет "сваливаться" в значение предыдущего курса, за счет сильной корреляции:

Для достижения наибольшей статистической независимости котировок, было принято решение в качестве входных данных нейронной сети выбрать изменения котировок, логарифм относительного приращения которых равен:

Таким образом, достигается большая стационарность финансового ряда, что позволяет повысить качество обучения сети и использовать большую историю, так как данный шаг, с экономической точки зрения, позволяет учесть влияние инфляции для длительных временных рядов.

Преддоработка входных данных при помощи метода главных компонент

Следующем шагом Построения искусственной нейронной сети для решения задач анализа и прогнозирования финансовых временных рядов является, так называемая, "преддоработка" входных данных. Данный вопрос актуален для всех моделей поддержки принятия решений. Дополнительная предварительная обработка входных данных важна с той точки зрения, что технический анализ подразумевает работу с большими массивами данных в условиях ограниченной (по времени, затратам и тд.) вычислительной мощности [34]. И здесь технические финансовые аналитики сталкиваются с практической проблемой. С одной стороны, постоянно возрастающая взаимосвязь между экономическими процессами в условиях глобализации обязывает придерживаться максималистской позиции по отношению к полноте, и, как следствие, объему, имеющейся информации. Это продиктовано "эффектом бабочки" - свойством динамических систем, к коим, безусловно, относится мировой финансовый рынок, когда любая малозначительная информация или некоторое несущественное событие способны оказать влияние, непредсказуемое по силе, на всю систему в целом. С другой стороны, объемы доступной информации растут возрастающими темпами. Негативным следствием этого является увеличение степени зашумленности данных. То есть, многие из имеющихся данных - нерелевантны. В данной работе, при помощи предварительной обработки входной информации методом главных компонент, была проделана попытка выделения релевантных для исследования данных с максимальной степенью сохранения полноты.

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

По сути, метод главных компонент является аппроксимацией данных линейными многообразиями меньшей размерности. Данный метод часто применяется для снижения размерности входных массивов данных финансово-экономических временных рядов, так как, в рамках метода, это решается относительно просто: собственные векторы ковариационной матрицы (оси), проранжированные в соответствии с собственными векторами, определяют дисперсию значений вектора X вдоль осей. Спроецировав входной эмпирический вектор данных X на некоторые главные компоненты (оси), можно существенно сократить размерность и выделить релевантную информацию. Реализация данного метода описана в главе 3.

Формирование обучающей выборки при помощи "метода скользящего окна"

Следующим этапом предварительной обработки данных является задача формирования обучающей выборки для нейронной сети. В данной работе будет использоваться "метод скользящих окон", который способен обеспечить обучение сети на "актуальной" информации. Под актуальностью, в данном случае, понимается множество таких пар "вход-выход", в которых выходные данные (target output) являются прямым следствием (нелинейным отображением) входных (input). Суть метода заключается в определении двух окон: входного и выходного. Входное или обучающее окно () является вектором значений цен (в рамках данного исследования - нормированных и предварительно обработанных при помощи метода главных компонент) начального эмпирического множества с фиксированной размерностью, которая определяется в начале процесса обучения сети и остается неизменной на всем его протяжении. Данный вектор, как следует из названия, подается на вход многослойному перцептрону. Выходной вектор () - следующее по отношению к "правой границе" входного окна значение временного ряда. Значение подается на выход в качестве целевого для данного обучающего окна. Каждый последующий элемент обучающей выборки () получается путем смещения окон на один шаг вперед по временной шкале.

иллюстрация алгоритма формирования

Рис. 8. Иллюстрация алгоритма формирования "окон"

При реализации метода скользящих окон встает вопрос о выборе величины (длины) окна. Основываясь на теореме Такенса[], которая утверждает, что для любого временного ряда, являющегося функцией состояния динамической системы, существует такое значение глубины погружения, которое обеспечивает аппроксимацию следующего элемента ряда, можно сделать вывод, что постепенное увеличение размера обучающего окна приведет к достижению качественного прогнозирования. Зависимость между степенью точности адаптивного предсказания нейронной сети и длиной входного окна также будет являться предметом анализа эффективности построения модели.

Архитектура сети

В данной работе реализована, в качестве программного инструмента для Предсказания сценария изменения цен акций эмитентов из индекса РТС, модель искусственной нейронной сети с архитектурой - многослойный перцептрон и алгоритмом обучения - алгоритм обратного распространения ошибки. Данная архитектура является эффективной (с точки зрения нейросетевого моделирования) при решении заявленного класса задач, так как прогнозирование финансовых временных рядов, с учетом фундаментального допущения - замены экстраполяции аппроксимацией - сводится к адаптивному предсказанию перцептрона.

Ниже приведен поэтапный процесс обучения многослойного перцептрона с обратным распространением ошибки:

    - Инициализация - случайным образом определяются начальные синаптические веса и смещения сети из множества действительных значений в промежутке [0; 1]. - Формирование обучающей выборки на основе вышеописанных методов. - Вычисление выходного сигнала сети - взвешенная сумма сигналов выходного слоя (традиционная схема функционирования многослойных сетей прямого распространения). - Вычисление ошибки и настройка весов сети. Подстройка весов производится в соответствии с формулой:

Где (t) - вес синапса, соединяющего нейрон i и j в момент времени t,

- значение выхода нейрона i,

R - скорость обучения,

- значение ошибки для нейрона j

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

В традиционных моделях многослойного перцептрона значение ошибки вычисляется как разница между целевыми значениями выходов сети (target output) и фактическими. Данный подход фокусируется на "разбросе" выходных сигналов и попытке его минимизировать. Но при анализе финансовых временных рядов не столь важна реальная близость предсказаний по абсолютному значению, сколь необходима однонаправленность прогноза. С целью минимизации ошибки, связанной с неверным прогнозированием направления динамики изменения цен на финансовые активы, в качестве функции ошибки использовалась:

Где и - желаемый и текущий выходы нейрона j.

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

В качестве функции активации нейрона, с последующим анализом эффективности использования каждой из них, были выбраны (теоретическая обоснованность данного выбора описана в главе 1):

Логистическая функция

И функция гиперболического тангенса

Преобразовывающие средневзвешенную сумму входных сигналов, которая рассчитывается в соответствии с формулой:

Где T - порог нейрона.

Таким образом, подводя итоги главы, общая схема реализуемого проекта выглядит следующим образом:

Похожие статьи




Данные - Использование нейронных сетей для прогнозирования и принятия автоматизированных решений при инвестировании на фондовом рынке

Предыдущая | Следующая