Блог им. silentium

Нейронные сети. Послевкусие. Заблуждения, ошибки, косяки. Первые 15 месяцев эксплуатации бота на нейронных сетях.

Нейронные сети. Послевкусие. Заблуждения, ошибки, косяки. Первые 15 месяцев эксплуатации бота на нейронных сетях.                            

                             Silentium est aurum

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

                                                                                                                  (кто-то умный и известный сказал)

Из прошлого диалога  smart-lab.ru/blog/327789.php

Quant-Invest, Если все было бы так просто — все уже были бы миллионерами…

/silentium/

silentium, да в жизни вообще все просто — для тех кто умеет...
А кто не умеет, тот и молотком по пальцу, и Нейронной Сетью по депозиту :)

/Quant-Invest/

     Опыт использования торговых роботов НЕ на нейросетях у меня никакой, потому что все боты выключались после первых 10 минут использования. Видимо, мне просто не повезло – то, что я покупала, не содержало заявленных торговых алгоритмов. (Не)доработки за деньги меня не устраивали, поэтому решили создавать стратегии самостоятельно.  Так появился тестер, где на тиковых данных можно прогнать любую стратегию и проанализировать ее показатели. Стратегии по результатам тестирования летели в мусорку одна за другой. Понимание, что нельзя просто механически использовать никакую из них, и нужно как-то «подбирать» стратегию под текущий рынок, привело к необходимости использования нейронных сетей. Об этом в предыдущем топике «Не нравятся нейронные сети? Вы просто не умеете их готовить. Рецепт» smart-lab.ru/blog/327789.php

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

НС – черный ящик. Даже если ты знаешь, ЧТО туда положил, все равно не сможешь понять, ПОЧЕМУ робот принял то или иное решение. И если оно не совпадает с твоим видением текущей ситуации на рынке, тем более, если в моменте сделка не является профитной  - ты забываешь про все параметры при тестировании, правила и руководства… и кроешь сделки руками (благо есть кнопка «закрыть все позиции»). Таки да – несколько раз удавалось сделать результат дня лучше, чем на тестере. Но при подведении итогов первого месяца оказалось, что самостоятельно бот заработал бы больше, чем с моей «помощью».

Чтобы избавиться от этой «психологической засады» в код была встроена такая фишка – если бот включен, то, несмотря на все твои манипуляции, он восстановит ту позицию, в которой бы стоял до принудительного закрытия. Смысл лезть в его работу пропадает.

Как выяснилось, из фокус-группы (11 человек) с самого начала 3 работали четко, так как вообще не были знакомы с биржей. Когда были подведены первые промежуточные итоги, они в реале получили 70-80% профита от тестовых (идеальных) показателей. Те, кто мешал роботу работать – не более 30%. Теперь все решили следовать правилам. Но то ли от эйфории, то ли от обиды за упущенную прибыль (от жадности) — добавили рисков. В результате — уменьшение начального рабочего объема в результате просадки. То есть лосили полным  объемом, выходили из просадки уменьшенным. Как следствие – изменение наклона кривой профита и даже остановка работы.

В результате работы НС за 15 месяцев (с 01.01.2015 по 31.03.2016 г.) по тестовым данным – профит 123000 пунктов на 1 контракт (фьюч РТС). На реальных счетах профит от 67000 до 98000 пунктов на 1 контракт. 20% счетов в убытках.

P.S. +1.  Прошел еще один месяц работы на реальном рынке. 151 сделка. Результат в реале +8760 пунктов на 1 контракт. Результат в тестере +10010 пунктов. Проскальзывание в среднем меньше 10 пунктов на сделку.  При выбранном уровне риска (10% от начального депозита) прибыль составила 68% годовых. Все показатели соответствуют тестовым. Работа продолжается. Ошибки учтены. Клятвы подписаны кровью…



★18
38 комментариев
Вас ведь в прошлом треде почти все просили побольше конкретики, а Вы напустили еще больше тумана. 

Дайте на вход простую структуру данных, скажем массив или список, и покажите код минимального бота, который будет обучаться на этих данных,  хоть чему нибудь, чтобы было ясно публике, о чем вообще речь идет. Большинство разработчиков не знакомо с нейросетями. Нужно объяснение «на пальцах»
sortarray sortarray, я бы не стал показывать =))
avatar
Андрей К, обещала, значит, покажем в рамках приличия.
avatar
silentium, нам код не нужен, нам просто полная блок схема подойдет =))
avatar
Андрей К, видимо, чтобы всем угодить, надо будет организовать перечисление %% от дохода на счета всех желающих :)
avatar
silentium, у меня еще идея. Пятница же уже ;-)
Вы делаете опенсурс, а мы все подглядываем и помогаем =))
avatar
Андрей К, хорошая идея, я думала об этом. Просто времени нет выделить то, что можно показать. Видимо, нужно находить его все-таки.  Пятница же уже — это точно. Спасибо, что напомнили! Вот Вам за это картины от НС. (видели уже, возможно). 
photos.google.com/share/AF1QipPX0SCl7OzWilt9LnuQliattX4OUCj_8EP65_cTVnBmS1jnYgsGQAieQUc1VQWdgQ?key=aVBxWjhwSzg2RjJWLWRuVFBBZEN1d205bUdEMnhB
avatar
sortarray sortarray, и это тоже будет.
avatar
Ошибки и «косяки» одно и тоже, текст — бесполезная художественная литература.
avatar
zOr_quant, я тоже так считаю — «бесполезная художественная литература». Потому что все равно большинство людей предпочитают учиться на своих ошибках. Но те, кто прошел вместе со мной это в реале, попросили написать обо всем честно. Ошибки — это ошибки, у всех случаются. А вот «косяки» — это сознательное нарушение правил в данном случае. Мне и самой это слово не очень нравилось. 
avatar
silentium, «косяк» словечко пришедшее из уголовного жаргона, «подлые выражения» лучше вообще не использовать
avatar
zOr_quant, ок, я так больше не будуууу. У этого слова много значений, в том числе и жаргонное. Но оно вполне себе литературное. Извините, если кого покоробило от него. 
ru.wiktionary.org/wiki/%D0%BA%D0%BE%D1%81%D1%8F%D0%BA
avatar
Результаты впечатляют. 
Для того, чтобы спокойнее жить, нужно сделать роботов на всех ликвидах нашего базарчика, и разделить деньги. 
Про фокус группы, кстати, ничего не понял. Вы хотите зарабатывать деньги на рынке или на покупателях роботов?
avatar
SergeyJu, куда-то пропал мой ответ. Еще раз: да, мы идем этим путем — не только совершенствуем технологию, но и транспонируем уже работающую технологию на другие ликвидные инструменты нашего рынка. С «ненашим» пока ступор — не хватает мощностей для запуска расчетов и тиковые данные нужны. Фокус-группа — первые пользователи наших одиночных ботов. Зарабатывать хотим и на рынке, и на продажах.
avatar
silentium, 151 сделка в месяц — это меньше 8 сделок в день. Не очень понятно, зачем тики, имхо, при такой частоте можно и минутными барами обсчитывать.
Что до продажи роботов… лично мне такая идея не нравится и я бы так делать не стал. Емкость рынка не безгранична, и, чуть-чуть набрав жирок, Вы начнете конкурировать с собственными клонами. 
avatar
SergeyJu, мы работаем портфелем НС на себя. В результате расчетов, как правило, получается множество работоспособных НС. У этой версии действительно около 8 сделок в день в среднем. Есть сетки 15-20 сделок, есть 2-3 сделки в день. В рамках портфеля все нормально — пока со своими пользователями плечами не толкаемся в стакане. Проскальзывание в 10п вполне устраивает. Если бот на доллар/рубль покажет себя стабильным, продолжим для других тикеров. Про тики — в топике по технологии будет подробнее.Скажу только, что мы формируем из тиковых данных то, что нам нужно. На тиковых данных можно сделать любой индикатор. Человек не сможет анализировать тиковые данные, а робот — может. А количество сделок регулируется штрафом на сделку.
avatar
Архитектура? Размер? Вход? Выход? Функции активации? Метод обучения? Метапараметры? Без идеи, те пляшете от данных снизу вверх? Можно в личку, кстати так и не удалось пообщаться.

Единственное что понял работаете от тиков внутри дня (151 сделка за месяц)

Я копаю тему DEEP RL, хочу обучить примитивного трейдера, те работа по схеме стимул — реакция (шорт Лонг на заборе)
avatar
nbvehrfr, ответила в личку
avatar
В ДУ берёте?
dostr, нет, это вне компетенции нашей компании. Наш бот прост в управлении. Для небольших сумм — достаточно одиночки. Для больших сумм необходимо подключать портфель. Если пользователь не хочет сам управлять, можно, наверное, предусмотреть что-то типа ПАММ-счета. Я думала об этом, но пока не вижу решения в рамках ГК.
avatar
Отличная статья, пишите ещё!
Присоединяюсь к вопросу о топологии сети и прочим техническим подробностям.
avatar
Mr_X, я сделаю это по мере возможности. Спасибо!
avatar
silentium, скажите хотя бы какие функции активации и сколько нейронов на входном слое, если это не коммерческая тайна
avatar
Mr_X, Архитектура — полносвязная сеть прямого распространения. 1-2 скрытых слоя. Активация — гипертангенс.  Метод обучения — вариант градиентного спуска.
avatar
Mr_X, ну вы тут сейчас терминологии накидаете и эту дурь сложнее распознать будет (((
avatar
Nemo_2000, тут — не накидаем. Я понимаю прекрасно, что терминологию вываливать на читателей — сложно для восприятия большинства. Поэтому первый топик был практически без терминов. Но нашлись люди, которым это интересно более глубоко. Почему бы не попробовать написать для них?
avatar
Mr_X, в чем отличная то? Сплошное бла-бла-бла без конкретики. Полезной информации ноль.
Если бы на Хабре такое разместили, автор бы отправился в вечный бан. А для уровня СмартЛаба и не такое сойдет.
avatar
vito2000, кто ж вам все секреты вот так возьмёт и расскажет
avatar
vito2000, на Хабре и не размещаю. Зачем это в такой форме там?
avatar
текст похож на рекламный буклет, написанный не профессионалом, а пиарщиком…
avatar
Nemo_2000, Вы не представляете, какой сделали мне комплимент! Я очень критично к себе отношусь, мне этот текст ужасно не нравился. Именно с точки зрения пиара. 
avatar
1.если бот работает уже 15 месяцев то почему его не было на лчи с постом о том какой ник выбран на лчи перед его началом а не после конца.
2. под каким ником будете участвовать на лчи 2016?

а без этого всё остальное пустая болтовня, мой коммент кстати относится к остальным 99% граалесветителям и делателям — как-же вы задолбали показывать какие-то непонятные тестовые картинки с яркими заголовками, а ничего дельного в постах нет.
avatar
Artemunak, спасибо за комментарий. Отвечу Вам:
2. В ЛЧИ 2016 участвовать не планировала.
1. По просьбе брокера один из счетов был подключен к ЛЧИ 2015. Ник, по-моему, мой — silentium.
Ничего показательного из этого не вышло. Потому что:
1. Исходя из принимаемого риска в 10% от начального капитала, если я правильно помню, на работу 1 контрактом фьюча РТС надо было располагать суммой около 100000 рублей. Естественно, не нужно все держать на брок счете (нужно, чтоб эти деньги просто были вне риска), поэтому на брок счете сумма, раза в 3-4 меньше. А расчеты % на ЛЧИ идут от изменений депозита. Соответственно, просадка, в которую я попала, завышена в 3-4 раза. А просадка была. И она есть у нас на графиках — как это скрыть?
2. Не получается сделать машинку для выигрыша на конкурсах. Имеем то, что имеем — альтернативу банковским %, относительно пассивный способ зарабатывать с низким риском.
avatar
silentium, спасибо за честность, 
investor.moex.com/trader2015?nik=robot_silentium
если это ваш робот то в те 3 месяца рынок был не ужасный, заработать за такой срок вполне можно было, поэтому статья и не понравилась — выглядит как рекламная замануха и мишура, с кучей громких слов и мутным содержанием, но прошу меня извинить, сам в просадке сижу — вот и злой такой ;)
avatar
Artemunak, да, рынок не был ужасный, а мы получили максимальную просадку, из которой выбирались почти месяц. Но это была просадка всего лишь в 10% от стартовой суммы. А мы уже 11 месяцев в реале были. Те, кто риски не менял с начала работы, не пострадали. Но настроение было, конечно… я Вас понимаю. Для чего в конкурс пошли — а вдруг именно в этот период был бы прорыв? В первые 6 месяцев принесли 100% к сумме (это же, шутка сказать, 200% годовых!). Но никуда не денешься — жизнь и рынок привели все в соответствие с тестами. Куда ж без просадок? Утопия — без просадок на алго. Тогда практически вся генерация была в просадке. Зато это нас двинуло в направлении другой технологии — в НС их немало. И новые сети оказались лучше старых. А мы стали рассудительнее и спокойнее. Так что — работаем!
avatar
как и какие фичи изымаете? оценивали VC-размерность модели? что за сеть?
avatar
сколько нейронов и какую конфигурацию сети используете? обычная, или всякие извращения (CNN, RNN....)?  на входе только данные о ценах или еще что-то?
avatar
Vitty, мне не о чем будет писать в новом топике… по поводу входов хочется спросить — а Вы что подаете?.. мы — не только данные о ценах. 364 входа. Число слоев в разных версиях разное. В текущей — один скрытый слой. 74 нейрона.
Пожалуй, ДО следующего топика надо написать топик с просьбой сформулировать вопросы, которые могут интересовать по НС. Чтобы
1. Не отвечать одно и то же несколько раз.
2. Не искать ответ на свой вопрос в мусорке чата…
avatar

теги блога silentium

....все тэги



UPDONW
Новый дизайн