silentium
silentium личный блог
13 мая 2016, 12:07

Не нравятся нейронные сети? Вы просто не умеете их готовить. Рецепт.

                                                               
Не нравятся нейронные сети? Вы просто не умеете их готовить. Рецепт. 
                                                                                                                                                                Silentium est aurum

                                                                Молчи, пока ты не в состоянии сказать нечто такое, что полезнее твоего молчания.                                                                                                                                                                                         (кто-то умный сказал)

Что берем? Да все, что есть в нашем трейдерском запасе. Прежде всего, рыночные данные из тиковых файлов по выбранному инструменту. Добавляем всякие вкусности – объемы, ATR-ы, МА-шки, уровни, индикаторы разные… В общем то, на что смотрим в своей реальной ручной торговле (при условии, что торговая система имеется). Желательно, конечно, добавить какие-нибудь свои «секретные» ингредиенты. Не забываем, что качество продуктов влияет на вкус блюда. Все, что выбрали для входов НС, нужно хорошенько очистить и отмыть от своих субъективных представлений о рыночных зависимостях – исходные продукты должны быть чистыми!

Далее – нормализуем данные, которые будем подавать на входы НС (приводим к значениям от -1 до 1). Тут все понятно — ингредиенты в хорошем блюде должны быть однородны. Так что шинкуем, господа!

Итак, входы готовы. Начинаем формировать у сети правильное представление о результате – учим сеть правильным ответам – «покупать» или «продавать». Тут совсем понятно – ПРАВИЛЬНО – это когда ПРИБЫЛЬНО. Конечно, вручную сделки в количестве 10-20 тысяч штук сформировать невозможно. Используем чудо-машину на основе генетического алгоритма. Эта техника создаст множество нейронных сетей на наших данных. В процессе обучения сети сами разложат содержимое входов по формам. Сети сами решат, что более важно, а что менее для нашего блюда. Им просто не нужны те закономерности, которые выделяем мы — они найдут свои.

Генетический алгоритм выберет лучших из лучших и будет «смешивать» и «скрещивать» их, проверяя результаты работы каждой новой сети методом скользящего контроля (кросс-валидация), пока параметры будут улучшаться.

Когда процесс завершен, кажется, что наше блюдо готово. Но не торопитесь кушать сами и предлагать другим – надо про(дегустировать)тестировать наше блюдо на независимых исторических данных. Мы для этого используем наш тестер, где роботы тестируются на  тиковых данных и можно проанализировать основные показатели работы – прибыль, просадку, фактор восстановления, матожидание сделки и дня и прочее…
Не нравятся нейронные сети? Вы просто не умеете их готовить. Рецепт.

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

Поскольку мы с вами знаем, что тесты – это далеко не реальность, мы добавили возможность запустить робота в режиме эмуляции торгов. Сверив сделки в режиме эмуляции со сделками в тестере за период – приходим к выводу, что все работает корректно. И все. Запускаем реальные торги. Едим с аппетитом и предлагаем всем!

 Оказалось, что мало создать работающую стратегию. Надо еще и дать ей работать! Но это уже другая история. Об этом в топике «Нейронные сети. Послевкусие. Мифы, заблуждения, ошибки, косяки. Первые 15 месяцев эксплуатации бота на нейронных сетях»

Мы – реалисты. Рано или поздно, наше блюдо перестанет быть свежим и вкусным. Поэтому мы следим за основными показателями, чтобы своевременно исключить его из нашего меню… И продолжаем готовить новые. Об этом, если будет интересно – в следующих топиках.

 

236 Комментариев
  • "Silentium est aurum!" - молчание золото. Это любимая поговорка гопников 90-х. А в ранг крылатого выражения ввела инквизиция.
  • Эмуляция торгов и реальные торги — не одно и тоже хотя бы потому, что структура и параметры случайного процесса цен закрытия, например, в эмуляции жёстко задана, и нейронная сеть под неё хорошо подстраивается. А в реальном рынке это далеко не так. Если хотите нормальную проверку делать — делайте форвард-тестинг.
  • SergeyJu
    13 мая 2016, 12:17
    Насчет «замесить кашу» не стану спорить, можно и так.
    Но почему именно нейронные сети должны её разгребать, да еще без участия человеческих нейронов, непонятно.
    Тема, мягко говоря, почти не раскрыта.
  • Как человек угробивший 4-е года на грааль на базе НС говорю вам бросайте это занятие, ибо на обычных скользяшках системы работают не хуже, а пока будете года 3-и изучать, то еще и лучше.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн