Диссертация (1138079), страница 21
Текст из файла (страница 21)
В финансовойматематике роевые модели также используютсядостаточно часто: дляконструирования оптимальных с точки зрения риска инвестиционных портфелей[116], прогнозирования макроэкономических данных [81], фондового [146, 153] ивалютного рынков [21], в т.ч. при задействовании искусственных нейронныхсетей.При построении нейросетевой модели, основанной на роевом обучении, мыбудемпытатьсявоспроизвестиэволюционныепроцессыоптимизацииипроверить, будут ли они настолько же успешны в прогнозировании финансовыхрынков, как и в развитии биологических организмов. Начнём с того, что условиенезависимости отдельных искусственных нейронных сетей заставляет нас особым129образом обрабатывать выборку, которая им предъявляется.
Дело в том, что всамом начале построения модели нам нужно сконструировать несколькоодинаковых нейронных сетей, каждая из которых будет анализировать свойнаблюдаемый процесс, причём эти сети следует сделать идентичными поархитектуре. Такие различия как число нейронов, слоёв или тип функцииактивации представляются нам некорректными, потому что в таком случае мы внеявном виде предопределим преимущество одной из сетей, чьи базовые«настройки» окажутся наиболее адекватными ситуации на рынке. Однако в этомслучае мы неизбежно столкнёмся с тем, что, обучаясь, на одинаковых данных,созданные искусственные нейронные сети будут выдавать один и тот жерезультат, и никакой конкуренции между ними не будет.Мы предлагаем оригинальный выход из данной ситуации, который состоитв том, чтобы обучать каждую нейронную сеть на отдельной подвыборке,вычлененной из общего исходного массива – в этом будет заключатьсяпредварительная обработка входных данных в модели.
Концептуально мыосновываемся на непараметрическом подходе к расчету функции плотностивероятности, в соответствии с которым наблюдаемое распределение состоит излокальных гауссовских распределений (kernel density estimation) [156, 171]. Приэтом полученная смесь распределений может уже отличаться от нормальных,например, иметь несколько мод.В качестве исходного массива мы будем рассматривать 200-точечныйвектор доходностей финансового инструмента и затем разбивать его наопределённое число независимых сегментов. Сегментирование данных будетпроизводиться в соответствии с расстоянием Дженсона-Шеннона, котороеявляетсясреднимрасстоянием(энтропией)Кульбака-Ляйблераичастоиспользует для оценки различий между несколькими распределениям [53].В аналитическом виде расстояние Дженсона-Шеннона (JS) задаётся как(40):130JS ( p1 , p2 ) KL ( p1 ( x), p2 ( x)) KL ( p2 ( x), p1 ( x))2(40)где p1, p2 – нормальные распределения, KL – расстояние Кульбака-Ляйблерамежду этими двумя распределениями, которое в данном случае определяется как(41): p (i) KL ( p1 ( x), p2 ( x)) ln 1 p1 (i)i p2 (i) (41)Сама процедура сегментирования может быть представлена следующимобразом [211]:1.
Исходный массив данных может быть разбит на n-число отрезков(сегментов). Для этой цели мы должны задать два параметра: а)минимальное количество точек, которое будет задавать распределение – внашем случае оно будет равно 10; б) пороговое значение расстоянияДженсона-Шеннона, с помощью которого можно будет проводить различиямежду сегментами (распределениями), в нашем случае оно будет равно 2.2. Проводится итеративная процедура деления скользящего 200-точечногомассива на сегменты. На первой итерации массив разбивается надвое.
Точкуразделения мы определяем на основе расстояния Дженсона-Шеннона,измеряемого между исходным распределением и если бы оно былопредставлено смесью из двух нормальных распределений слева и справа отэтой точки (42):JS (q) logp2 ( q )p1(42)где JS(q) – расстояние Дженсона-Шеннона, q – точка разделения исходногомассива, p1 – функция правдоподобия исходного нормального распределения (43):131x 22 2N1p1 *e2t 1(43)где N – это длина исходного массива (200 точек), μ, σ – параметры нормальногораспределения p1 (среднее значение и стандартное отклонение),p2(q) – функция правдоподобия для смеси из двух нормальных распределенийслева и справа от точки разделения q (44):xq1p2 (q) *e2t 1 LL2 2L2N1* *e2t q 1 RxR2 2R2(44)где μL, σL – параметры нормального распределения слева от точки разделения q,μR, σR – параметры нормального распределения справа от точки разделения q.3.
На следующих итерациях каждая из двух получившихся в п.2 частейразбивается надвое, затем уже каждая из четвертей, восьмых и так далее дотех пор, пока не будет выполнено одно из условий из п.1: либо длинасегментастановитсяравнаминимальноустановленномуразмерураспределения (10 точек), либо расстояние Дженсона-Шеннона становитсяниже порогового значения (2), т.е. распределение и смесь из двух его частейуже невозможно отличить одно от другого в информационном плане.После того, как описанная выше процедура завершена, мы получилидовольно большое число дискретных сегментов.
Далее мы будем группировать«похожие» сегменты (распределения) в кластеры данных. Идея здесь состоит в132том, что рынок имеет несколько основных, повторяющихся13 режимовфункционирования, и каждая искусственная нейронная сеть в нашей моделибудет обучаться на определённом массиве данных, соответствующих тому илииному режиму.
Таким образом, число рассчитанных кластеров внутри исходногомассива также определит и число независимо обучающихся сетей.При этом важно сказать, что мы не ставили задачу качественнойэкономической интерпретации рассчитанных кластеров, например, соответствуетодин из кластеров бычьему тренду, другой – медвежьему и т.п. Признаваязначимость этого вопроса, мы полагаем, что ему должно быть посвященоотдельное исследование, выходящее за рамки научного поиска данной работы.Сведениенесколькихгруппданныхвкластерыиопределениеоптимального числа этих кластеров – это нетривиальная задача, в решениикоторой могут быть использованы различные подходы. В нашей модели мы будемиспользовать метод k-средних [188].
Каждый из получившихся сегментов можетбыть нанесён на плоскость как точка с двумя координатами – параметрамираспределения (среднее значение и стандартное отклонение). После этого мыначинаем группировать эти точки вокруг центров кластеров, определяя центрытак, чтобысуммарное квадратичное отклонение точек от центров быломинимальным. Выборколичества кластеров производится эвристическимспособом. Мы последовательно увеличиваем число кластеров, до тех пор, покакачество кластеризации не перестаёт существенно увеличиваться [193]. Подкачеством кластеризации мы понимаем сумму расстояний от точек кластеров доцентров (S) и, соответственно, будем следить за её убыванием по мере добавленияновых кластеров (45):S13f (u ,K )i i, ji 1...c j 1...n(45)Заметим, что в противоположность повторяющимся, рынок может также переходить и из одного уникальногорежима в другой [27].133где с – число кластеров, n – число точек в каждом кластере, ui – центр i-тогокластера, Ki,j – координаты точки в кластере, f(ui, Ki,j) – функция расстояния доцентров кластеров.По итогам проведённой процедуры кластеризации на каждом скользящем200-точечном массиве было выявлено, что число кластеров, при котором качествокластеризации перестаёт существенно возрастать, равно 5.На основе этого результата на следующем шаге мы задаём точно такое жеколичество отдельно функционирующих искусственных нейронных сетей,которые будут конкурировать между собой.
При этом следует отметить, чтосредние длины кластеров отличаются друг от друга не более чем на 20%, из чегомы можем сделать допущение, что каждая из сетей будет работать синформационнойвыборкойпримерноравноймощности.Кромеэтого,проведённый анализ кластеров показал, что они распределены внутри общегомассива достаточно равномерно, т.е.
явные концентрации данных одного типа наотдельных сегментах (например, в начале или в конце массива) отсутствуют.В данной модели мы будем работать с простыми искусственныминейронными сетями прямого прохода, потому что хотим оценить эффект отпредварительной обработки данных в форме кластеризации и внедрения роевогомеханизма обучения, а не от сложных взаимосвязей внутри конструкций самихсетей.Каждая искусственная нейронная сеть будет иметь два входных значения,два нейрона в скрытом слое и один в выходном. В качестве функции активациимы будем использовать логистическую функцию. Оптимизация сети будетоснована на минимизации квадрата ошибки по отношению к обучающимпримерам с помощью метода градиентного спуска. Начальные значений весоввсех сетей будут равны 1.Таким образом, мы можем записать задачу оптимизации для каждой из пятиискусственных нейронных сетей как функцию минимизации ошибки (46):134z 11f ( , , , , , , z ) r z 1i z 5 11 w5 * w6 * w1 * r w2 * r w3 * r w4 * r 1,z2,z1,z2,z1 e 1 e 1 e 2(46) Minгде r1,, r2, – входные данные, предъявляемые сети, w(w1,w2,w3,w4,w5,w6)– векторвесов сети, y – бинарный обучающий скользящий вектор (1 – положительнаядоходность финансового инструмента, 0 – отрицательная), z – номер торговогопериода.В качестве входных данных мы использовали доходность прогнозируемогофинансового инструмента и логарифмическую разность между максимальным(High) и минимальным (Low) значением его цены c лагом в один торговыйпериод.Вместе с этим мы понимаем, что базовые искусственные нейронные сетипрямого прохода, подобные (46), имеют достаточно ограниченные возможностипо прогнозированию таких сложных динамических систем, как финансовыерынки.
Для того чтобы повысить эффективность агентов в нашей модели мыдобавим дополнительный оптимизационный блок «имитации отжига».Искусственная нейронная сеть «имитации отжига» имеет в своей основестохастический вероятностный поиск [150]. Истоки этой модели уходят вметаллургию, где данный метод используется для обработки стали, с цельюувеличить однородность и пластичность металла, снять внутренние напряжения иповысить пластичность. Во время отжига сталь сначала нагревается доопределённой температуры, а потом происходит медленное охлаждение, и атомывещества меняют своё положение на кристаллической решётке, в результате чегоона приобретает более правильную структуру.
Когда система приходит в точку135термального равновесия, её свободная энергия достигает минимума, что такжесоответствует максимуму энтропии. В таком состоянии вероятность переходаатома на кристаллической решётке из одной позиции в другую минимальна [19].С точки зрения искусственных нейронных сетей минимум свободной энергиибудет эквивалентен минимуму ошибки, а температура нагревания – числуитераций в модели.После того как были найдены оптимальные веса W для каждойискусственной нейронной сети из (46), мы делаем их начальными значениями ввнутри сети «имитации отжига». В аналитическом виде её работа выглядит как(47):wn если Energy ( wn ) Energy ( wn1 )wn*1 иначе wn если runif [a...1] ewn1 иначеknN(47)где w – вектор весов, который оптимизируется искусственной нейронной сетью,Energy – суммарная квадратичная ошибка сети, n – номер итерации, N – общеечисло итераций, runif [a…1] – случайное число из равномерного распределения вдиапазоне от a до 1, a,k – константы.Начальные веса в сети задаются случайно, на каждой итерации n на векторw накладывается аддитивный шум, чтобы обновить пространство поиска (48):wn1 wn*1 runif (l , c, d )(48)где l – длина вектора w, c,d – константы, задающие интервал равномерногораспределения, из которого берутся шумовые значения.После того, как было выполнено число итераций N в (47) и полученоптимизированный вектор, он сам становится начальным значением, и вся136процедура повторяется ещё раз.