Всех с наступающим (и никаких отступлений!) Днем Защитника Отечества ака Денем Советской Армии и Военно-Морского Флота!
И за тех, кто в море! Ну а те кто в ЗОЖе, начинаем готовить себе замену — искусственного трейдера.
Важнейшей частью любого алгоритма машинного обучения являются данные, на которых происходит обучение, а еще важнее качество этих данных.
Для приготовления искусственного трейдера нам понадобятся следующие ингредиенты:
1.Установленная платформа Jatotrader (FREE или круче) версии 2.9.3 или выше. Можно обойтись и без установки Джато и взять тестовый набор данных отсюда. Описание содержимого файлов датасета — в конце топика.
2.Питон.Jupyter Notebook (Anaconda3)
Короче говоря, Jatotrader мы используем как предварительный обработчик и генератор данных для машинного обучения (МО), а Python для создания модели, обученной на этих данных. Возможности Jatotrader позволяют создавать частотные графики из тиковых данных, примерно такого вида
Всем привет.
Прошлое
Хорошее не может продолжаться вечно. Всех мучал вопрос, зачем же создав таких классных роботов на нейросетях для криптовалюты, которые реально не плохо зарабатывают, ребята шарят их бесплатно? Все строили догадки, писали что это лохотрон, инфоцигане )) и прочее… На что сами ребята прямым текстом отвечали — эта разработка для себя. В паблике она только для того, что бы те кому это тоже интересно помогли отладить систему. И я это понял сразу. И вот, как говорится, момент настал! На днях пришло письмо от ребят с текстом, что тест бета версии подходит к концу, и все новые зарегистрированные пользователи уже не получать возможность использовать режим реальной торговли. Только демо. А все те, кто зарегался до этой даты оставляют за собой право пользоваться реальной торговлей. И тут я аж брызнул от счастья...
Почему? Все просто. Я опробовал роботов, они реально что-то да умеют. Я уже стал им давать более менее серьезные обьемы для работы в реальном режиме, и профиты пошли уже очень интересные. Но, как всегда есть одно но... Я стал видеть, что с увеличением сайза, заявки стали подвисать в стакане, а это плохо. Т.к. если не будет исполнения, то не будет денег и такой-же эквити как раньше. С маленькими сайзами до 500к На Битмексе все работало. И я подумал. Видно набежало юзверей, и теперь мы все толкаемся в стакане. Я прямо раздосадовался. И тут бах! Эта замечательная новость! Что нас, теперь, ограниченное количество. И формулировка как раз это обьясняла, что бы мы не толкались в стакане )) Вообще респект ребятам!
Жил был трейдер, и хотел он работать мало, а получать много… Желание конечно достойное, но осуществимое ли? Стал он думку думать да у интернетов спрашивать, возможно ли чудо этакое? За компом сидеть, две кнопки нажимать, а деньги сами к тебе рекой текут…
Отвечал интернет трейдеру, что есть в мире его, технологии… Якобы сами думают, сами работают, а деньги хозяину. Вот это да, подумал трейдер, не уж то глупость какая? Развод кроликов очередной? Нет, говорит интернет, правда такое может быть, все что тебе нужно сделать — стать хозяином этого чуда и ссылку дал, куда логин пароль регистрировать надо… Долго ли коротко ли думал трейдер, да махнул рукой… Что я мало что ли маржинколов ловил, сколько лосей перекармливал, а рискну ка я еще разок, а вось интернеты не врут… Ввел трейдер «слова» заветные и смотрит во все глаза, поверить не может.
К обеду астролябия была продана интеллигентному слесарю за три рубля.
— Сама меряет, — сказал молодой человек, передавая астролябию покупателю, — было бы что мерять.
(И.Ильф, Е.Петров, Двенадцать стульев.)
Машинное обучение (МО) сейчас является очень популярной темой, и им не занимается только ленивый. В наличии масса готовых к употреблению библиотек — нейросети, леса-деревья, Байесы, и пр. и пр. Осваивается все это за пару недель и применяй — не хочу. Однако, результаты такого применения в трейдинге как правило нулевые или около того. Без толку, но, хотя-бы хорошо провели время,) узнали много нового и интересного.
Отрицательные результаты объясняюся тем, что методы МО — это не более чем математическое выражение или их набор формируемый в процессе обучения. При этом МО старается как можно точнее подогнать мат. выражение(я) под ответы представленные в обучающей выборке. Т.е., в принципе, методология МО ничем не отличается от банальной подгонки решения под имеющийся ответ. В студенческие годы, если что-то не сходилось, оч помогало умножить или разделить, скажем, на корень из Пи или корень из двух. Вот, и МО делает абсолютно тоже самое. И мы занимаемся тем же самым, когда подбираем параметры индикаторов, входов, тейков и стопов для получения от стратегии максимальной прибыли, и, надо сказать, с тем-же результатом — вся эта подгонка работает только на том отрезке, где мы подобрали, и никак на реальном рынке. К чести МО отметим, что методы МО гораздо лучше и эффективней чем мы занимаются подгонкой, и на интервале обучения получат классную ТС из практически всего, что вам придет в голову. Только реально работать это не будет.(
Таким образом, для типовых методов построения торговых систем применение МО не дает и не может дать ровным счетом ничего, и применение МО в подобных системах не имеет смысла. Можно не дергаться, такие задачи МО не решает.
Ну, и выводы:
МО следует применять для задач, имеющих решения, которые можно получить подгонкой под ответ. Для решения других задач методы МО не предназначены.
Такие задачи и следует искать для применения МО при разработке ТС. И если вы их найдете, это может сэкономить вам массу времени и сил. Подобных задач, кстати, великое множество, но с этим лучше обратиться к специальной литературе.
Всего лишь неделю нужно для того, чтобы каждый из вас смог сам научиться программировать сверточные нейронные сети, которые торгуют не хуже этой*:
Основное отличие машинного обучения от традиционного программирования состоит в том, что в задачах классического программирования вы знаете некие правила и жестко программируете их в поведении программы; в задачах машинного обучения вы не знаете по каким конкретно правилам должна работать программа и позволяете моделям машинного обучения самим найти их. Если вы хотите создать торгового робота, обычно, вы сами ищете некоторые правила (например, пересечение скользяшек, MACD>80 при убывающей луне — покупаю 2 лота) и жестко задаете такое поведения в роботе, тестируете и, возможно, оптимизируете некоторые параметры, но почему бы не поручить само придумывание правил машине? Методы машинного обучения, в теории, могут сами выбрать индикаторы, разработать правила входа, выхода и оптимальный размер позиций. Да чего уж… они могут сами придумать индикаторы, паттерны, которые могут быть гораздо лучше чем то, что придумали до этого люди. Ведь так и случилось в сфере обработки изображений, нейронные сети научились выделять значимые признаки из изображений гораздо лучше, чем алгоритмы, придуманные людьми. Компьютер обыгрывает людей в шахматы — игру, знания для которой люди накапливали ни одну сотню лет. Станет ли алготрейдинг следующей сферой, где будет господствовать нейронные сети или какой другой метод машинного обучения?
Всем привет.
Прошлое
Сразу к делу. Два дня назад обучил я сетку на биткоин, эквити ее мне понравилась и я поставил ее сразу на реал 500 контрактами с целями 1000$ тейк и 50$ стоп. Вот такой конфиг:
Ну и сижу, как говорится никого не трогаю… Дергаю другие сетки, настраиваю других ботов. Сегодня смотрю, выключился этот бот. Что?? Два дня прошло, лося притянул что-ли!!?? Залезаю к нему в хистори и...