Скачать MetaTrader 5

Вероятностная нейросеть и шаблоны.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Evgeniy Logunov
716
Evgeniy Logunov  

Этим летом заинтересовался автоматической торговлей. Пробовал писать советников - сначала пипсовщики, затем на основе индикаторов и наконец добрался до нейросетей. Пробовал использовать нейросети разной архитектуры (реализовывал всё сам без применения различных пакетов для работы с нейросетями) - многослойные перцептроны, рекуррентные сети и вероятностные нейросети. Вероятностную нейросеть, естественно, писал не с нуля, а опираясь на работы klot'а (за что ему отдельное спасибо).

Изложу суть одной своей идеи.

Советник состоит из вероятностной нейросети и нескольких шаблонов, заданных четырёхточечными сплайнами Безье. На каждом новом баре снимаем показания каких-либо неперерисовывающихся индикаторов на последних барах, фильтруем и нормализуем их, после чего при помощи вероятностной нейросети находим самый близкий шаблон к данным, снятым с индикаторов. Соответственно, каждый шаблон принадлежит одному из трёх классов - flat, buy или sell; в зависимости от класса наиболее близкого шаблона - покупаем, продаём или ничего не делаем :) Причём открытие и закрытие производятся при разных вероятностях принадлежности классу, т.е. если, например, вероятность движения вверх больше 20% - закрываем все позиции вниз, но открываемся вверх лишь когда вероятность движения вверх станет более 25%.

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

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

Реально ли создавать шаблоны на ходу, т.е. сделать эту систему адаптивной (возможно, отказавшись от сплайнов)? Знаний, увы, не хватает, т.к. в этом году только закончил школу :)

Жду объективной критики и предложений.

Файлы:
pnntrade5.rar 46 kb
Mikhail Simakov
2254
Mikhail Simakov  
в среднем 4 сделки в месяц. меня такой результат, устроил бы
Александр
665
Александр  
меня уустроил бы 20 сделок в месяц
Mikhail Simakov
2254
Mikhail Simakov  
Olimp >>:
меня уустроил бы 20 сделок в месяц

это каждый день по сделки, получается, что внутридневная торговля

Mikhail Simakov
2254
Mikhail Simakov  
lea >>:

Этим летом заинтересовался автоматической торговлей. Пробовал писать советников - сначала пипсовщики, затем на основе индикаторов и наконец добрался до нейросетей. Пробовал использовать нейросети разной архитектуры (реализовывал всё сам без применения различных пакетов для работы с нейросетями) - многослойные перцептроны, рекуррентные сети и вероятностные нейросети. Вероятностную нейросеть, естественно, писал не с нуля, а опираясь на работы klot'а (за что ему отдельное спасибо).

Можно Ваш номер аськи, хочу разобраться с нейросетями

Evgeniy Logunov
716
Evgeniy Logunov  
m_a_sim писал(а) >>

Можно Ваш номер аськи, хочу разобраться с нейросетями

Номера ICQ у меня нет. Поэтому связь возможна только через форум или e-mail.

Могу порекомендовать следующую литературу:

Роберт Каллан - "Основные концепции нейронных сетей"

L.R.Medsker, L.C.Jain - "Recurrent Neural Networks. Design and Applications"

Станислав Осовский - "Нейронные сети для обработки информации"

Кроме того, очень полезно будет посмотреть:

http://www.basegroup.ru/ - есть исходники на Delphi компонентов для работы с нейросетями и вейвлетами

http://www.generation5.org/

http://generation6.narod.ru/

http://www.gotai.net/index.aspx

http://www.ip-atlas.com/pub/nap/

http://www.herselfsai.com/source-code

http://www.ip-atlas.com/pub/nap/nn-src/

http://qai.narod.ru/

http://www.orc.ru/~stasson/neurox.html

http://nnet.chat.ru/

http://www.aimatrix.nm.ru/

m_a_sim писал(а) >>
в среднем 4 сделки в месяц. меня такой результат, устроил бы
Всё же количество сделок - это немного другой вопрос. Кому-то достаточно редкой, но меткой торговли; другим будет скучно наблюдать за советником, который за 8 лет совершает 500 сделок. Я считаю, что одной из проблем моего советника является то, что он упускает огромное количество шансов заработать.
Количесто сделок, на мой взгляд, должно увеличиться, если шаблоны будут выделяться на ходу, т.к. я не могу на графике увидеть все возможные шаблоны, предшествующие большим движениям. К сожалению, пока что я не нашел ничего доступного (в плане понимания), а изобретать велосипед не хочется. Хотелось бы услышать мнение тех, кто занимался подобными вопросами - может подкинут названия литературы, которую можно почитать на эту тему, или каких-либо ссылок по данному вопросу.
Mikhail Simakov
2254
Mikhail Simakov  

Тоже прочитал статью Клота и написал свой советник. Тест за 2008 год до 6 ноября


Александр
3
Александр  
lea >>:

Этим летом заинтересовался автоматической торговлей. Пробовал писать советников - сначала пипсовщики, затем на основе индикаторов и наконец добрался до нейросетей. Пробовал использовать нейросети разной архитектуры (реализовывал всё сам без применения различных пакетов для работы с нейросетями) - многослойные перцептроны, рекуррентные сети и вероятностные нейросети. Вероятностную нейросеть, естественно, писал не с нуля, а опираясь на работы klot'а (за что ему отдельное спасибо).

Изложу суть одной своей идеи.

Советник состоит из вероятностной нейросети и нескольких шаблонов, заданных четырёхточечными сплайнами Безье. На каждом новом баре снимаем показания каких-либо неперерисовывающихся индикаторов на последних барах, фильтруем и нормализуем их, после чего при помощи вероятностной нейросети находим самый близкий шаблон к данным, снятым с индикаторов. Соответственно, каждый шаблон принадлежит одному из трёх классов - flat, buy или sell; в зависимости от класса наиболее близкого шаблона - покупаем, продаём или ничего не делаем :) Причём открытие и закрытие производятся при разных вероятностях принадлежности классу, т.е. если, например, вероятность движения вверх больше 20% - закрываем все позиции вниз, но открываемся вверх лишь когда вероятность движения вверх станет более 25%.

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

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

Реально ли создавать шаблоны на ходу, т.е. сделать эту систему адаптивной (возможно, отказавшись от сплайнов)? Знаний, увы, не хватает, т.к. в этом году только закончил школу :)

Жду объективной критики и предложений.

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

Егор
166
Егор  
lea писал(а) >>

Реально ли создавать шаблоны на ходу, т.е. сделать эту систему адаптивной (возможно, отказавшись от сплайнов)? Знаний, увы, не хватает, т.к. в этом году только закончил школу :)

Жду объективной критики и предложений.

lea, а можно рисунок как выглядит один из шаблонов?

Evgeniy Logunov
716
Evgeniy Logunov  

Допустим, вот так...


Example

На самом деле всё гораздо сложнее (шаблонов может быть несколько для разных индикаторов и т.д.)

Егор
166
Егор  

При смене текущего класса (например с флета на тренд)

- преобразовываете кусок временного ряда в шаблон

- добавляете шаблон или заменяете самый старый/редкий на новый, вместе с текущим классом

Поскольку в ВНС вы определяете евклидову близость между двумя временными рядами,

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

Параметрический здесь конечно не очень удобен. Используйте полиномы, фурье или вейвлеты.

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

Поэтому сеть у вас очень медленная.

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

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий