EXTPRO - индикаторы для валютного рынка

EXTPRO - индикаторы для валютного рынка FOREX

УВАЖАЕМЫЕ ТРЕЙДЕРЫ ПРОШУ ВАС ПРОЧИТАТЬ НЕБОЛЬШОЕ ПИСЬМО, НАПИСАННОЕ КАК ОТВЕТ НА МНОГИЕ ЗАДАВАЕМЫЕ ВОПРОСЫ. Письмо находится ЗДЕСЬ.

ПРИНЦИПЫ РАБОТЫ ПРОГРАММЫ

Одним из самых распространенных методов прогнозирования, является предсказание цены с помощью обученной ранее нейросети. Нейросетевые системы имеют ряд недостатков:
1) необходимость долгого обучения перед применением, иногда, компьютер должен работать несколько дней
2) невозможность легко учитывать вновь поступающие данные ( 1-пункт).
3) невозможность проанализировать человеком структуру нейросети
4) сложность в употреблении для пользователя – не специалиста

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

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

В обученной ИНС (искусственная нейронная сеть), вся информация для преобразования входного вектора сосредоточена в коэффициентах веса синапсов нейронов:

В нашем случае выход – не вектор, так как задача метода – определить направление цены, которое можно выразить одним числом: >0 – рост, <0 – падение.


1. Подготовка «обучающего множества».

Гипотеза: будущее направление цены зависит от временного ряда цен предыдущего периода времени.
Следовательно, вектора X, A1, A2, … должны представлять собой цены финансового инструмента через определенные промежутки времени. Основным понятием при работе с рассматриваемым здесь видом входной информации является «окно» («глубина погружения»), т.е. то количество периодов времени, которое попадает в «образ» (X, A1, A2, … - образы). Перед подачей входных векторов в алгоритм расчета выхода, необходимо обработать эти данные, для уменьшения времени расчета y.
Так как рынок движет психология людей, нужно входные вектора изменить так, чтобы различия, хорошо заметные человеку были так же замечены системой.
На фондовом рынке люди не оперируют абсолютными значениями цен, а говорят, например: «акции РАО ЕЭС выросли на 3%», поэтому цены можно перевести в логарифмическую шкалу. Для валютного рынка иногда целесообразнее использовать обычную шкалу, так как трейдеры могут использовать не проценты, а пункты.

2. Методы определения результирующих значений

Каждый входной вектор истории характеризуется своим результатом. В нашем алгоритме мы будем использовать три результата:
1) цена выросла выше величины P+dP,
2) цена упала ниже P-dP,
3) цена не изменилась, либо определить невозможно, где
P-цена последнего по времени периода в историческом векторе,
dP – константа.

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

После определения результатов мы имеем N исторических векторов, каждому из которых соответствует свой результат. Но что делать если на протяжении всего исторического периода цена преимущественно изменялась в одну сторону?, ведь тогда число векторов с результатом роста не будет равно числу векторов с результатом падения, что приведет к склонению выходного числа в одну сторону (в соответствии со схемой формирования выходного числа). Значит надо либо уравновесить число «растущих» векторов с числом «падающих», либо усилить вес результатов тех векторов, которых меньше.
При усилении веса, правда, недостатком будет являться то, что усиливая вес результатов векторов, мы усиливаем и случайную ошибку.
Для валютного рынка можно предположить, что все закономерности ценовой динамики, наблюдаемые, например, на графике цены евро в долларах, будут наблюдаться и на графике цены доллара в евро, то есть график можно безболезненно перевернуть. Таким образом, в создаваемом алгоритме прогнозирования изменения цены, с помощью удвоения числа исторических образов (за счет прибавления к истории инвертированных векторов), мы приходим к равновесию противоположных результатов исторических образов.


3. Формирование индикатора системы.

3.1. Сравнение входного образа с векторами «обучающего множества».

Для формирования выхода всей системы, необходимо сначала присвоить каждому историческому вектору число - ошибку, характеризующее его степень отличия от входного образа X.
Методов расчета ошибки много, например, за ошибку можно взять сумму квадратов разностей приращений соответствующих компонентов вектора истории (A1, A2, …) и входного образа X. Однако было установлено, что больше всего, на человеческое восприятие похож следующий метод: ценовые уровни векторов An и X совмещаются таким образом, что сумма квадратов разностей компонентов, становится минимально возможной, она и является ошибкой. Это происходит при совмещении арифметических средних компонентов.

На данном рисунке ошибка – это сумма квадратов длин синих отрезков.

3.2. Расчет выхода.

На следующем графике в порядке возрастания ошибки расположены 78158 точек, соответствующих 96-мерным (период – 15 минут) векторам истории цен евро в долларах с 1999 г. по 2002 г. к одному из векторов 2003 г. (X):

желтые точки – вектора с результатом роста, черные точки - с результатом падения.

Анализируя график, трудно сказать, как будет изменяться цена после образа X, так как в ценовых колебаниях стохастичность для восприятия человека, по-видимому, слишком велика.
Но теперь, для каждого исторического образа уже есть соответствие: ошибка – результат. И можно сказать: чем меньше ошибка вектора An, тем больше вероятность того, что вектор X будет иметь такой же результат, как вектор An. Значит, для расчета выходного числа необходима функция, которая примерно показывает эту вероятность в зависимости от ошибки. Оказалось, что в качестве такой функции хорошо подходит экспонента:


Ось ординат на этом графике: exp(-3000*ошибка).

Имея N соответствий результат-вероятность можно легко посчитать выходное число:


K- коэффициент, подобранный вручную или компьютером, для векторов с 96 пятнадцатиминутными периодами цен евро-доллар, K= -3000.


РЕАЛИЗАЦИЯ ДАННОГО АЛГОРИТМА, СОЗДАНИЕ МТС.

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

Скачать:





Контактный Email

Счетчики

  • Rambler's Top100
  • Рейтинг@Mail.ru

Вверх

Copyright © 2003-2006 EXTPRO.RU