Фирма ТОРА-Центр
Новости
Конференция
Каталог программ
Литература
Прайс-лист
Демоверсии программ
Семинары и учебные курсы
Статьи и материалы
Ссылки на FOREX-страницы
Партнеры



Марксистская, 20
Тел:517-33-83
        726-67-78
E-mail:
am@inforus.biz
Пн - Пт, 9:30 - 18:00

Rambler's Top100



   Ñòàòüè ýêñïåðòîâ è ñîòðóäíèêîâ ôèðìû ÒÎÐÀ-Öåíòð   

Нейросети: интеграция с теханализом
Илья Остроухов, Павел Панфилов


       По мере приобретения опыта в торговле многие трейдеры осознают ограниченность теханализа и необходимость использования дополнительных аналитических методов, например, таких как нейронные технологии. Для того чтобы успешно их применять, программа нейросетевого анализа должна быть интегрирована с программой теханализа, которую трейдер использует в повседневной практике. Недавно на российском рынке появился новый нейросетевой пакет - NeuroScalp, который совместно с программой TradeStation 2000i образует единый комплекс для всестороннего финансового анализа.

Статьи по самоорганизующимся картам

 Современный трейдинг
      Базовым методом исследования финансовых рынков является технический анализ. Который, используя информацию о закономерностях в прошлых ценах, делает выводы о будущем движении цен. Однако есть несколько причин, по которым классический теханализ на современных рынках работает плохо, и попытка его использования чаще всего приводит к финансовым потерям. Рассмотрим некоторые из них.
      Во-первых, рекомендации теханализа пригодны не для всех рынков, а только для тех, на которых проводились исследования. Например, одни и те же правила трактовки треугольников хорошо работают на фьючерсных рынках (Сurtis M. Arnold "PPS trading system") и плохо на рынках акций (R.Edwards J. Magee "Technical analysis of stock trends").
      Во-вторых, практически все технические исследования были сделаны для дневных рынков. Результаты таких исследований не работают внутри дня, т.к. динамика цен на протяжении торговой сессии коренным образом отличается от динамики дневных данных.
      В-третьих, классические правила теханализа вырабатывались в условиях их применения ограниченным числом трейдеров и долгое время не были известны широкой массе. Парадоксально, но некоторые из этих закономерностей сейчас работают только потому, что они известны всем.
      И, наконец, современные финансовые рынки динамично меняются и закономерности, найденные вчера, не будут работать завтра. Сегодня выигрывает тот, кто, применяя новейшие технологии, своевременно выявляет новые закономерности и подстраивает под них свои торговые правила. Для этого недостаточно использовать только программы теханализа. Необходима комплексная система, в которой аналитические составляющие выявляют новые закономерности, а программа технического анализа реализует их.
      В этой статье мы покажем, как объединить карты Кохонена (об устройстве карт Кохонена мы рассказывали в ВС №8 за 2000 год) и классический теханализ.
      В качестве программы теханализа используется TradeStation 2000i. Выбор именно этой программы определяется ее гибкостью и возможностью реализовать в ней практически любые идеи трейдера, что подтверждается нашим более чем 4-х летним опытом обслуживания клиентов в качестве официального дилера фирмы OmegaResearch в России.
      Работа с картами Кохонена проводится в программе NeuroScalp, которая является первой программой, реализующей механизм самоорганизующихся карт для временных рядов. Демо-версию программы NeuroScalp можно найти на компакт-диске к этому номеру журнала или в интернете по адресу
http://www.tora-centre.ru/nscalp.

 Закономерность - залог успешной торговли
      На основе устойчивой закономерности средствами теханализа всегда можно построить прибыльную механическую торговую систему. Однако технический анализ не предназначен для поиска самих закономерностей. Технический анализ лишь показывает результаты работы механической торговой системы, но не говорит о том, как ее улучшить. Закономерности могут быть простыми и лежать на поверхности, а могут быть сложными и скрытыми глубоко внутри данных. Средствами теханализа можно исследовать простые закономерности, такие как влияние фиксированных уровней stop-loss и stop-profit на прибыльность системы, но более сложные, многофакторные задачи теханализу уже не под силу. Например, средствами теханализа нельзя из всего множества индикаторов (а их более 200) выбрать тот, который лучше других для данной торговой системы работает в качестве stop-profit. Карты Кохонена же с успехом справляются с этой задачей, поскольку они созданы именно для поиска и визуальной (и количественной) оценки новых закономерностей в многомерных данных.
       Попробуем найти простую (и, как окажется, прибыльную) закономерность и построить по ней торговую систему. Идея такая: мы хотим посмотреть зависимость между днем недели и поведением рынка для акций НК Лукойл. На основе некоторых соображений фундаментального характера мы пришли к мысли, что такого рода закономерность может иметь место.
      Создадим карту Кохонена размером 50х50 нейронов. В качестве входов подадим %R (осциллятор Вильямса %R), день недели, тип свечи и средний торгуемый лот. Натренируем карту на 500 торговых днях. Обученные карты Кохонена изображены на Рис.1.
      Проанализировав полученные карты, можно сделать несколько выводов, не относящихся к нашей задаче, но тем не менее полезных. Например, карта средних торгуемых лотов (верхняя правая карта на Рис.1) имеет два ярко выраженных кластера. Просмотрев эти дни на графике цен, мы увидим большой объем сделок в эти дни (скорее всего это были договорные сделки). Такие дни лучше вообще исключать из анализа или рассматривать их отдельно.
      Проведя дальнейший анализ карт, мы сформулировали искомую зависимость поведения цены от дня недели и %R. Она такова: если в четверг уровень %R больше 60, то в пятницу будет белая свеча с вероятностью 29:13. Мы не только сразу увидели, что такая зависимость существует, но и смогли количественно выразить ее!
       Для реализации найденной зависимости была написана торговая система в TradeStation 2000i, которая покупает в пятницу на открытии и выходит из позиции в тот же день по цене закрытия, если в четверг %R был больше 60. На Рис.2 изображены сигналы торговой системы и ее прибыль, а также код системы на языке EasyLanguage. Система показывает устойчивый рост прибыли на всем протяжении истории торгов, что свидетельствует о значимости закономерности, найденной в NeuroScalp.
      Хочется подчеркнуть, что несмотря на то, что закономерность является достаточно простой, найти ее средствами теханализа очень сложно Во-первых, для этого нужно перебрать все возможные комбинации параметров индикаторов, а во-вторых перебирать все значения, не зная, будет ли конечный результат, под силу только очень целеустремленным аналитикам. Ведь может оказаться, что закономерность, которую мы ищем перебором, просто не существует, и наугад перебирать значения можно до бесконечности. Карты Кохонена же сразу показали нам, что закономерность есть и дали значения параметров индикаторов, которые в дальнейшем можно уточнять в теханализе.
      На этом примере мы ясно увидели, что совместное использование теханализа и нейронных технологий очень полезно. Результат, которого мы добились, не может быть получен применением этих технологий по отдельности.

 Поиск соседей - зоны покупки/продажи
      В прошлой статье, рассказывая об интерпретации карт Кохонена, мы говорили, что поиск соседей является одним из главных приемов анализа карт Кохонена. Поиск соседей - это наиболее мощный метод для обнаружения "похожих" событий по произвольным критериям (входа нейрона карты). Для удобства проведения анализа методом поиска соседей, в программе NeuroScalp реализована очень интересная возможность - отображение на картах комментариев к нейронам или к барам. Карты Кохонена обладают уникальным свойством - располагать похожие точки близко друг к другу. Поэтому если мы на графике цен пометим бары, на которых мы хотим, например, покупать, то на "хорошей" карте эти бары будут лежать в одной области и это будет наглядно видно - рядом с каждым нейроном, в который попадают помеченные бары, будет расположен текстовый комментарий, например слово "Buy". Когда новые данные попадают на эту карту, мы сразу видим, попадают ли они в значимые для нас кластеры. Если, например, для нового бара соседние нейроны имеют метку "Buy", то этот бар будет очень хорошим кандидатом на покупку.
       Покажем, как работает метод поиска соседей на примере обыкновенных акций РАО ЕЭС России. Обучим карту Кохонена размером 50х50 на выборке данных 300 дней. В качестве входов подадим следующий набор индикаторов:
      - CCI (Commodity Channel Index) длиной 10
      - RSI длиной 10
      - Скользящая средняя длиной 20 от CCI длиной 5.
      Рис.3. показывает общий вид карт Кохонена после обучения.
      Руководствуясь графиком цен, мы вручную расставили комментарии к барам, на которых мы бы хотели покупать (метка "Buy") или продавать (метка "Sell"). Все эти комментарии автоматически выводятся на карты Кохонена.
       Посмотрев на распределение точек на карте, мы сразу увидели область, в которой сгруппировались бары с метками "Buy". Это - область покупки. Любой новый бар, попадающий в эту область, будет генерировать сигнал покупки в соответствии с нашими неформализованными критериями.
      Наверное, каждый трейдер, просматривая исторические данные, неоднократно восклицал: "Эх, вот здесь надо было покупать! А здесь было бы классно продать!" На карте Кохонена эти сигналы группируются в области покупки/продажи, что позволяет в будущем не упускать гарантированную прибыль. Здесь нет никакого шаманства. С математической точки зрения эти результаты абсолютно прозрачны - мы просто помечаем "похожие" данные в многомерном пространстве, описывающем поведение рынка. Это делается с помощью несложного математического аппарата, которым являются карты Кохонена и которого нет в программах теханализа.
      Метки "Sell" образуют другую картину - они хаотически разбросаны по картам и не группируются в отдельные области. Это значит, что индикаторы, используемые в качестве входов, не способны описать заданную нами закономерность продажи. Конечно, можно добавить новые индикаторы и добиться группировки меток "Sell" в одну замкнутую область продажи, но здесь мы хотим подчеркнуть другое - карты Кохонена смогли определить, что входная группа индикаторов хорошо описывает сигналы покупки и плохо описывает сигналы продажи. Хочется еще раз подчеркнуть, что пользуясь только средствами технического анализа, получить такой вывод практически невозможно.

 Траектория - развитие событий во времени
       Напомним вкратце, как работают карты Кохонена. Сначала мы составляем набор индикаторов, формируя многомерное пространство исследуемых данных. Далее на этих данных проводим обучение карты, которое отображают многомерные данные на плоскость. После обучения карты мы берем каждый ценовой бар, вычисляем для него наш набор индикаторов и подаем на вход каждого нейрона карты Кохонена. Нейрон, у которого вектор весов ближе всего к вектору данных, объявляется нейроном-победителем и входной пример приписывается к этому нейрону. Таким образом, каждый ценовой бар имеет свое место на карте, т.е. попадает в "свой" нейрон. Похожие данные в многомерном пространстве группируются в кластеры на картах Кохонена, что является основанием для метода "поиска соседей". Но многообразие приемов работы с картами Кохонена не исчерпывается только поиском соседей. Есть множество других аналитических приемов, которые дают очень хорошие результаты. Один из таких приемов - траектории движения цены по картам.
      Траектория в данном случае - это ломаная линия, которая соединяет нейроны на карте Кохонена, в которые попадают последовательные ценовые бары. Например, если мы берем какой-то ценовой бар и 5 предыдущих баров, то получим траектории, изображенные на Рис. 4. Голова траектории - это выбранный ценовой бар, а хвост траектории уходит в прошлое на 5 баров. Никто не мешает нам смотреть траекторию на 5 баров вперед, т.е. изучать наиболее вероятное будущее движение цен! Но об этом чуть позже.
       Последовательные во времени бары на графике цены всегда находятся рядом и формируют привычный график цены. На карте Кохонена последовательные бары могут очень далеко отстоять друг от друга. Анализ траектории карты Кохонена раскрывает причины различия этих, казалось бы одинаковых, баров.
      Далее, схожее поведение рынка порождает схожие траектории. Например, траектории развития тренда очень похожи друг на друга. С другой стороны, разные состояния рынка имеют разные траектории. Например, траектория начала тренда отличается от траектории окончания тренда. Определив тип траектории, можно с уверенностью классифицировать движения рынка.
      Траектории, нарисованные для прошлых баров, показывают откуда мы "пришли" в текущее положение. Если, например, мы находимся в кластере покупки, то мы можем посмотреть движение рынка, предшествующее текущему бару и выделить места на карте, из которых мы чаще всего приходили в кластер покупки. Эти места на карте также могут формировать кластеры, которые мы назвали "кластерами подтверждения". Кластеры подтверждения разделяют торговые сигналы на истинные и ложные. Если мы приходим в кластер покупки из кластера подтверждения и сигналы покупки оказываются правильными, то такой кластер подтверждения говорит об истинности сигнала покупки. Если же мы пришли в область покупки из кластера ложных сигналов, то следует воздержаться от совершения сделки.
      Траектории, отображающие будущие бары, показывают будущее развитие ситуации. Например, наш опыт работы с картами Кохонена показывает, что горизонтальные участки рынка на картах формируют несколько разных кластеров. Из одних кластеров траектории уходят в зоны верхнего тренда, из других - в зоны нижнего тренда. Анализируя будущие траектории, можно делать качественный прогноз о направлении будущего тренда. Вообще, анализ будущих траекторий многогранен и дает много интересных результатов, о которых мы подробно рассказываем на наших семинарах.
      Таким образом, траектория карты Кохонена - мощный инструмент прогноза рынка.
      Для иллюстрации приемов работы с траекториями мы взяли временной ряд CHF (швейцарский франк), содержащий 2000 часовых баров. Для этого актива была натренирована карта размером 50х50 нейронов, с 8 входами. В качестве входов использовалась одна из комбинаций индикаторов классического теханализа, которую мы взяли из сборника "Стратегии лучших трейдеров мира", составленного специалистами фирмы ТОРА-Центр.
       Посмотрим на траектории, которые описывают различные состояния рынка. На Рис. 4 показано две траектории на карте выходов. Одна траектория (на правой карте) соответствует сильному нижнему тренду, другая (на левой карте) - сильному верхнему тренду. Обе траектории схожи и представляют собой короткие перемещения внутри одной области. Это - типичное поведение траекторий развития тренда. Все осцилляторы (которые у нас используются в качестве входов) на сильном тренде находятся в "насыщении" т.е. колеблются около своих экстремальных значений, чем и вызвано характерное поведение траектории. Фактически характер траектории показывает необходимость отказаться в этом месте от использования этих осцилляторов.
      Далее посмотрим траектории на картах входов. Нас заинтересовал кластер на карте входа "скользящая средняя длиной 20 от CCI длиной 5", который мы назвали кластером разворота тренда. Попадание траектории в этот кластер чаще всего приводит к завершению верхнего тренда. На Рис.5 показано четыре примера таких траекторий. В трейдинге очень важно различать коррекцию тренда и его окончание. Траектории, попадающие в кластер разворота, всегда соответствуют окончанию тренда и никогда не соответствуют коррекции. Попадание траектории в кластер разворота служит надежным признаком окончания верхнего тренда.

 TradeStation 2000i + NeuroScalp - анализ торговых стратегий
      Классификация торговых стратегий и соответствующих типов трейдеров очень обширна. Некоторые трейдеры торгуют интуитивно, просто глядя на график; это - интуиты. Другие самозабвенно вычерчивают уровни Фибоначчи; это - чартисты. Одни расстраиваются, если открытая позиция ушла немного в минус; это - инстинктивный тип трейдера. Другие загипнотизировано смотрят, как прогорает их торговый капитал; это - интеллектуальный тип трейдера. Самая правильная на наш взгляд классификация трейдеров очень проста и гласит, что трейдеры бывают только двух типов - профессионалы (которые выигрывают) и новички (которые проигрывают). Наш опыт общения с профессиональными трейдерами показал, что они выигрывают исключительно благодаря своим механическим торговым системам, на разработку которых у них уходят месяцы и даже годы. Трейдер может относиться к любому типу игроков, но если он торгует без системы, это неминуемо приведет его к финансовому краху.
       Как могут карты Кохонена помочь в создании механической торговой системы? Торговая система - это набор условий, определяющих правила входа и выхода из сделок. Задача создания торговой системы - это фактически задача поиска "правильной" комбинации индикаторов, которая в течение длительного времени дает наибольшую прибыль. Как мы показали в этой и предыдущей статьях, Карты Кохонена являются очень мощным инструментом для поиска такого рода комбинаций. Поэтому результаты работы карт Кохонена очень эффективно могут быть использованы для улучшения параметров торговых систем и увеличения прибыли.
      Для примера мы покажем, как улучшить простую торговую систему путем добавления дополнительного условия на выход из прибыльной позиции (trailing stop-profit).
      Возьмем простейшую торговую систему "пересечения двух скользящих средних длиной 13 и 21" для часового графика GBP. График прибыли системы показан на Рис 7. Недостатки этой системы широко известны - она плохо работает на горизонтальных рынках и нестабильна во времени.
       Далее возьмем четыре параметра, характеризующие работу любой торговой системы - направление позиции, количество баров с момента открытия, плавающую прибыль (floating), прибыль позиции после ее закрытия - и экспортируем эти данные из TradeStation 2000i в дополнительные поля базы данных NeuroScalp. После этого каждый бар помимо информации о ценах будет содержать информацию об открытой торговой позиции.
      Обучим на этих данных карту Кохонена размером 75х75 нейронов. В качестве входов помимо информации о торговой позиции возьмем следующие индикаторы:
      - ROC (Rate Of Change) длиной 10
      - Стохастик D длиной 3
      - CCI (Commodity Channel Index) длиной 8
      - Осциллятор Вильямса %R длиной 14
      - DMI длиной 14
      Эти индикаторы подаются на вход карты с целью посмотреть их влияние на торговую систему.
      Рис.6 показывает карту выходов, карты входов и карту частот обученной нейронной сети. Анализ этой карты очень богат результатами, однако, привести полное их описание в рамках данной статьи не представляется возможным. В полном объеме мы излагаем эти результаты на семинарах ТОРА-Центр, посвященных созданию механических торговых систем и нейронным технологиям. Здесь мы остановимся только на результате, относящемся к определению stop-profit, а именно: по мере развития сделки, floating может принимать как положительные, так и отрицательные значения, но если позиция содержит бары, у которых DMI>40, то в 90% случаев позиция закрывается с плюсом. Отсюда вытекает правило stop-profit: закрываем прибыльную позицию, если она содержит 3 бара с DMI>40. Обнаружив это правило, мы возвращаемся в TradeStation и добавляем его в код торговой системы, написанной на языке EasyLanguage. Результат работы системы с таким stop-profit'ом явно лучше и по устойчивости и по конечной прибыли системы, что ясно видно на Рис. 7.

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

   Перейти на главную страницу   

Copyright © 1993-2006 ТОРА-Центр. Тел: 517-33-83, 726-67-78 Марксистская ул., д.20