Top Banner
Цуканов Павел [email protected] Skype: cpp.tula Применение нейронных сетей и генетических алгоритмов при торговле на бирже.
37

Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

Jun 02, 2015

Download

Technology

Pavel Tsukanov

Применение нейронных сетей и генетических алгоритмов при торговле на бирже.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

Цуканов Павел

[email protected]

Skype: cpp.tula

Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

Page 2: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

Введение Знаком с Forex c 2007 года Веду блог http://cpp-forex.blogspot.com Первую МТС написал в 2008 Торговля на бирже для меня хобби, когда есть

свободное время Темы торговли на бирже, нейронных сетей и

генетических алгоритмов очень объёмны. Здесь же я представил всё в сжатом виде. Если что будет не раскрыто полностью – задавайте вопросы прямо по ходу доклада!

Page 3: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

Forex Forex – если просто - это межбанковская валютная

биржа Почему Forex? - Сейчас и сам не знаю Как торговать? Через дилеров при помощи

торговых терминалов. Дилер это ваш друг и враг! Наиболее распространённый терминал для

торговли на Forex – Metatrader (http://www.metaquotes.net/)

Вы можете заработать? ДА. Однако По статистике только 3% людей зарабатывают на

Forex

И если решитесь. НИ В КОЕМ СЛУЧАЕ НЕ НАЧИНАЙТЕ ТОРГОВЛЮ С БОЛЬШИХ СУММ.

И если не последуете последнему моему совету, то….

Page 4: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

Вы испытаете шок

Page 5: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

МТС МТС – это механическая торговая система. Почему

механическая? Не спрашивайте – не знаю Терминал Metatrader позволяет писать МТС при

помощи своего встроенного языка mql4, mql5 Может ли МТС торговать? Проверьте это посетив

чемпионат МТС http://championship.mql5.com

Page 6: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

Зачем МТС? Я тоже решил поучаствовать в 2008 году

График торговли моего советника на исторических данных 2008 года

И... закономерный результат депозит был слит за 2 недели

Page 7: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

НейронВходы Веса Ячейка Аксон Выход

S

W1

W2

W3

Wn

X1

X2

X3

Xn

……

Y

S=∑𝑖=0

𝑛

𝑋 𝑖𝑊 𝑖

𝑌= 𝑓 (𝑆)

𝑓 (𝑆 )= 1

1+𝑒−𝑎𝑠

Состояние нейрона

Активационная функция

f’(x) = af(x)(1-f(x))

Page 8: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

Нейронная сетьВходы Слой 1 Слой 2 Слой 3

X1

X2

X3

Y1

Y

Обычно нейронная сеть выглядит так!

Page 9: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

Обучение нейронных сетей• Способов Очень Много

• Однако можно разделить на 2 класса

• Детерминистские

• Стохастические

Page 10: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

Метод обратного распространения

X1

X2

X3

Y

Обучаю

щая п

ара

(Образе

ц)

Обучаю

щая п

ара

(Резу

льта

т)

Разница

W11

W12

W13

W21

W22

W23

W31W32

W32

1W11

W12

W13

W21

W22

W23

W31W32

W32

W11

W12

W13

Случайно Установка весов

Page 11: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

Генетическим алгоритмомX1

X2

X3

Y

Обучаю

щая п

ара

(Образе

ц)

Обучаю

щая п

ара

(Резу

льта

т)

W11

W12

W13

W21

W22

W23

W31W32

W32

W11

W12

W13

W21

W22

W23

W31W32

W32

W11

W12

W13

Набор обучающих пар

Особь

ВесаАктивационная

функция

Размножение

Случайно

Целевая функция

(Значение разницы)

Page 12: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

Размножение

Особь 30

ОсобиЦелевая функция

10001.

Особь 2 5882.

Особь 5 5003.

Особь 11 4584.

Особь 7 3995.

Особь 5 100N-2.

Особь 4 34N-1.

…………………

Особь 18 10N.

Зона выживания

Зона смерти

N-2.

N-1.

N.

Особь 31 0

Особь 32 0

Особь 33 0

N-2.

N-1.

N.

400

300

40

Особь 31 400

Особь 7 399

Page 13: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

Преимущество генетических алгоритмов при обучении

Экстремумы

Лучшее решение

Есть много вариантов решений и мы можем в них застрять

Генетический алгоритм позволит этого избежать (теоретически )

Page 14: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

Преимущество генетических алгоритмов при обучении

Особь 30 1000

Особь 2 588

Особь 5 500

Особь 11 458

Особь 7 399

Особь 5 100

Особь 4 34

…………………

Особь 18 10

Особь 31 0

Особь 32 0

Особь 33 0

400

300

40

Особь 31 400

Особь 7 399

1.

2.

3.

4.

5.

N-2.

N-1.

N.

N-2.

N-1.

N.

N-2.

N-1.

N.

Processor/server 1Processor/server 2

Processor/server 3

Processor/server 4

Processor/server 1

Processor/server 2

Processor/server 3

Processor/server 4

Большие возможности распараллеливания

Page 15: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

Преимущество генетических алгоритмов при обучении

Широкое возможности по конфигурации сетиX1

X2

X3

Y

Обучаю

щая п

ара

(Образе

ц)

Обучаю

щая п

ара

(Резу

льта

т)

W11

W12

W13

W21

W22

W23

W31W32

W32

W11

W12

W13

W21

W22

W23

W31W32

W32

W11

W12

W13

Набор обучающих пар

ВесаАктивационная

функция

Количество слоёв или нейронов

Page 16: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

Преимущество генетических алгоритмов при обучении

Ну и просто это круто звучит!

Page 17: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

1. Обмен генетическим материалом позволяет ускорить поиск оптимального решения в разы по сравнению с простым случайным выбором 2. Небольшая Мутация необходима для осуществления качественных изменений, Сильная мутация ведёт к остановке развития 3. Обмен генетического материала с потомками ведёт к остановки развития 4. Как ни странно крайне необходим обмен генетичесткого материала со слабейшими - это ведет к качественным скачкам в развитии. 

Мои выводы о генетических алгоритмах

Page 18: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

Этапы

1. Котировки в терминале

2. Файл с данными

(Цены открытия, закрытия и

т.д.)

4. Файл с параметрами

нейронной сети

5. Запуск в тестере

терминала

3. Обучение нейронной

сети

6. Запуск в на демо счёте

6. Запуск в на реальном

счёте

Советник выгрузки данных

Торговый Советник

Программа обучения

Page 19: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

1. Котировки в терминале

Page 20: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

1. Котировки в терминалеЯпонские свечи

Минимальная цена

Максимальная цена

Цена открытия

Цена закрытия

Минимальная цена

Максимальная цена

Цена открытия

Цена закрытия

Цена растётЦена падает

Page 21: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

1.Котировки в терминалеИндикаторы облегчают анализ

Page 22: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

1.Котировки в терминалеПочему нельзя так просто стать

богатым?

Page 23: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

1.Котировки в терминалеА Вот почему!

Значение индикатора в текущем баре меняется!!!

Page 24: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

2. Файл с данными

Page 25: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

2. Файл с данными

Page 26: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

3. ОбучениеТак как мы теперь не привязаны к Metatraderу то выбор инструмента ограничен только нашей фантазией Mathcad, Matlab и т.д. Готовые библиотеки

AForge.NET http://www.aforgenet.com/

FANN http://leenissen.dk/fann/wp/

Собственный код – Это мой Выбор!

Page 27: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

3. ОбучениеЯ делаю в своей программе

Рассмотрим как в ней происходит обучение

Page 28: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

3. Обучение

Будем предсказывать не цену а сигнал на покупку или продажу

SBuy?

orSell?

Цены

Индикаторы (MA, MACD и т.д.)

День недели

Наличие текущей покупки или продажи

Текущий профит

И т.д. и т.п.

Page 29: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

3. Обучение. Периоды

История Тестирование Будущее

Page 30: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

3. Обучение

Генерирую особь

X1

X2

X3

Buy

Sell

Нейронная сеть, созданная на базе особи

Использую генетический алгоритм для обучения

Входные данные

на историче

ском периоде

Эмулируем реальную работу терминала

Вычисляем целевую функцию

Определяем лучшего

Page 31: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

3. Обучение

Page 32: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

3. Обучение

Page 33: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

3. Обучение

Page 34: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

4. Файл с параметрами нейронной сети

Page 35: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

5. Запуск в тестере терминала

История Реал

Page 36: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

6. Запуск в реале

Покупка и фиксация прибыли

Советник работает

Page 37: Применение нейронных сетей и генетических алгоритмов при торговле на бирже.

Мои планы• Не останавливаться на достигнутом!

• Довести программу до ума

• Каждый желающий может получить код.