Обсуждение статьи "Нейросети бесплатно и сердито - соединяем NeuroPro и MetaTrader 5"

 

Опубликована статья Нейросети бесплатно и сердито - соединяем NeuroPro и MetaTrader 5:

Если специализированные нейросетевые программы для трейдинга вам кажутся дорогими и сложными (или наоборот - примитивными), то попробуйте NeuroPro - она на русском языке, бесплатна и содержит оптимальный набор возможностей для любителей. О том, как использовать ее с MetaTrader 5, вы узнаете из этой статьи.

Программа NeuroPro создана в одном из российских институтов в 98-м году, но не теряет своей актуальности и по сей день.

Она успешно работает и на Windows XP, и на Vista, и на 7-ке. Проверить ее работу на более новых Windows я пока не имел возможности.

Что NeuroPro сообщает о себе

Рис. 1. Что NeuroPro сообщает о себе

Версия 0.25 распространяется бесплатно, ее можно найти на многих сайтах в Интернете. NeuroPro умеет строить многослойные нейронные сети с сигмоидной функцией активации. Если вы только начинаете изучать нейросети, то большего вам и не нужно. Не понадобится даже знание иностранных языков, т.к. в NeuroPro всё на русском.

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

Для любителей покопаться глубже, в программе есть возможность увидеть веса нейросети, какие входы сети наиболее влияют на результат работы сети. Новичкам это ни к чему, они могут не заходить в эту часть программы. А вот для опытных трейдеров, ищущих Грааль, это полезная информация - позволяет предполагать, какую же закономерность выявила нейросеть, и куда двигаться дальше в своих поисках.

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

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

Забегая немного вперед, скажу, что нейросеть, которую мы сделаем с помощью NeuroPro, будет вместе со всеми весами нейронов переделана непосредственно в MQL5-скрипт (в отличие, например, от системы подключаемых DLL как в другой нейропрограмме). Поэтому работать она будет быстро и потреблять минимум компьютерных ресурсов. Это несомненный плюс использования NeuroPro. С ее помощью можно создавать любые торговые стратегии — вплоть до пипсовки, ведь там от советника требуется принимать решения почти мгновенно.

Автор: Andrew

 
Отличная статья, впечатляющий результат. Однозначно будем пробовать!
 

Хочу воспользоваться возможностью и обратить внимание на свою статью, в которой описаны случайные леса. Дело в том, что статья использует пакет Rattle, в котором имеется не только случайные леса, а еще ряд моделей, включая нейросети. Причем пакет предоставляет возможность сравнения разных моделей между собой, что и является несомненным его достоинством в свете данной статьи.

 Я не знаю нейросетей и поэтому не могу сравнивать сети в Rattle и в статье. Но с помощью Ratte можно будет предметно обосновать выбор конкретной модели и если это будет нейросеть, то перейти на специлизированный пакет.

Файлы:
PredictTrend.zip  858 kb
 

статья шикарна, спасибо 

но трансформация формул через блокнот это конечно за гранью добра и зла )))

 

Неужели кто то еще занимается на таком  уровне нейросетями?

Это при наличии такого разнообразия развитых передовых средств. 

Ошарашен. Вспомнился 90 год.

 
vlad1949:

Неужели кто то еще занимается на таком  уровне нейросетями?

Это при наличии такого разнообразия развитых передовых средств. 

Ошарашен. Вспомнился 90 год.

А не могли бы Вы выложить свой результат по НС и сравнить его со случайным лесом?
 
vlad1949:

Неужели кто то еще занимается на таком  уровне нейросетями?

Это при наличии такого разнообразия развитых передовых средств. 

Ошарашен. Вспомнился 90 год.

В смысле? Что Вы имеете в виду под "развитыми передовыми" средствами? Может гугловский кошачий классификатор?
 

А разве нейрон и аксон как таковые претерпели какие-либо изменения в связи с развитием "передовых средств"?

G как была так и осталась. Или у Вас нервные клетки иначе воспринимают сигналы раздражителей?

У меня вот вопрос, а если применить такой подход не к одному символу, а к трем коррелирующим (EURUSD, USDJPY, EURJPY).

Данные по всем выгружать надо и обрабатывать одновременно... интересно какие результаты будут... буду тестить однозначно. 

 
Reshetov:
В смысле? Что Вы имеете в виду под "развитыми передовыми" средствами? Может гугловский кошачий классификатор?

"развитыми передовыми" можно рассматривать с двух сторон:

1. развитие собственно НС (ничего сказать не могу)

2. развитие иных алгоритмов машинного обучения.

По второму вопросу.

Беру свою статью. Rattle, который включает 6 качественно разных алгоритмов. Беру файл, который приложен к статье. Удаляю переменные zz35 и zz75.  Подгоняю 4 модели: ada (модель усиления), случайный лес, машина опорных векторов SVM и нейронная сеть из пакета nnet. Вот результат ошибки предсказания тренда, который идентифицирован по ZZ.

ada = 18.69%

случайный лес = 16.77%

SVM=  16.92%

нейросеть = 24.37% 

 

ПС.

Оболочка для алгоритмов машинного обучения caret включает более 140(!) разных моделей. 

 
faa1947:

"развитыми передовыми" можно рассматривать с двух сторон:

1. развитие собственно НС (ничего сказать не могу)

2. развитие иных алгоритмов машинного обучения.

По второму вопросу.

Беру свою статью. Rattle, который включает 6 качественно разных алгоритмов. Беру файл, который приложен к статье. Удаляю переменные zz35 и zz75.  Подгоняю 4 модели: ada (модель усиления), случайный лес, машина опорных векторов SVM и нейронная сеть из пакета nnet. Вот результат ошибки предсказания тренда, который идентифицирован по ZZ.

ada = 18.69%

случайный лес = 16.77%

SVM=  16.92%

нейросеть = 24.37% 

 

ПС.

Оболочка для алгоритмов машинного обучения caret включает более 140(!) разных моделей. 

=========================================================================

Ответ по пунктам 

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

2. Любой вариант деревьев или леса дает лучший результат чем  любая нейросеть(или их ансамбль.)

3. Хорошие результаты получаются с использованием гибридных ансамблей(багинг). Это когда в одной упряжке одновременно работают различные модели.

4. По поводу статьи о которой Вы писали в блоге, где сравниваются 140 моделей классификации. Я читал отзыв разработчика пакета "caret" по поводу этой статьи. Если интересно найду ссылку. По его опыту лучшие результаты  дает бустинг и багинг. Из моего опыта лучшие модели - "ada" из одноименного пакета и  RFnear  из пакета "CORELearn". Последний кстати очень быстр. И абсолютно не показал себя SVM, ну кроме что очень долгого обучения.

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

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

Может опубликуют наконец мою статью по этому поводу, там и подискутируем. 

Успехов 

 

 

 СанСаныч

Вот ссылка на статью о которой я говорил. http://appliedpredictivemodeling.com/blog/2014/11/11/some-thoughts-on-do-we-need-hundreds-of-classifiers-to-solve-real-world-classification-problems

Кроме того в статье есть ссылка на более раннюю статью Девида Ханда по вопросу который мы с Вами обсуждали раньше - низкие результаты после обучения на реальных данных. Очень интересные мысли. Может сделаете сокращенный перевод?

Порылся в архивах и нашел другую статью на тему сравнения различных алгоритмов машинного обучения. 

http://www.cs.cornell.edu/~caruana/ctp/ct.papers/caruana.icml06.pdf 

Успехов 

Причина обращения: