Обсуждение статьи "Секвента ДеМарка (TD SEQUENTIAL) с использованием искусственного интеллекта"

 

Опубликована статья Секвента ДеМарка (TD SEQUENTIAL) с использованием искусственного интеллекта:

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

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

В этой статье я расскажу, как с помощью "скрещивания" одной очень известной стратегии и нейронной сети можно успешно заниматься трейдингом. Речь пойдет о стратегии Томаса Демарка "Секвента" с применением системы искусственного интеллекта. "Секвента" хорошо описана Демарком в книге "Технический анализ — новая наука", которая будет полезна к прочтению любому трейдеру. Ознакомиться с этим трудом можно, например, здесь

Сперва несколько слов о стратегии. "Секвента" — контртрендовая стратегия. В ней появляющиеся сигналы не зависят друг от друга. Иными словами, подряд могут поступать сигналы на покупку и на продажу, что сильно усложняет использование "Секвенты".  Как и любая стратегия, она имеет ложные сигналы, которые мы и будем искать. Сам же принцип построения сигнала по "Секвенте" хорошо описан самим автором, но мы внесем в его интерпретацию небольшие изменения.  Работать будем ТОЛЬКО по первой части стратегии, используя сигналы "Установка" и "Пересечение". Я выбрал их по двум причинам: во-первых, эти сигналы находятся на вершинах и впадинах, а во-вторых, появляются гораздо чаще, чем "Отсчёт" и "Вход".

Сразу хочу оговориться: торговую стратегию для встраивания искусственного интеллекта можно выбрать абсолютно любую — даже обычное пересечение МА. В любом случае, главным в каждой стратегии будет момент принятия решения. Дело в том, что анализировать каждый бар — утопия, и поэтому нужно определиться, в какие моменты, на каких барах мы будем исследовать ситуацию на рынке. Именно для этого и служит торговая стратегия. Способы анализа, повторюсь, могут быть абсолютно любые — от пересечения МА до фрактальных построений, главное в нашем случае — получить сигнал. В нашем случае, в "Секвенте", нас интересует окно из зелёных точек, в течение которого мы и будем определять поведение рынка и делать вывод об истинности или ложности этого сигнала.

               

Индикатор TDSEQUENTA by nikelodeon.mql5

Автор: Mihail Marchukajtes

 

Так и где здесь, как Вы утверждаете, "искусственный интеллект"? Где нейросеть ?

1. Два направления NN?? Это решаемых задач( в основном) две - регрессия и классификация. Реже используем кластеризацию и ранжирование. А уж видов нейросетей десятки, если не сотни. Вы какую нейросеть применяли?

2. Overfiting - не только определяется но и разработаны методы по уменьшению вероятности его появления. Для нейросетей это регуляризация ( L1/L2), стабилизация (dropout, dropconnect и многие другие). Поэтому - перефразировав известное выражение: переобучаются все модели, но некоторые имеют намного меньшую веротность этого.

3. Классификаторы могут быть"твердыми", т.е никогда не отказывающиеся от предсказания и "мягкие", которые могут отуазываться предсказывать и говорят "не знаю". "Твердый" классификатор" после калибровки становится "мягким". Есть и другие способы "умягчить" классификатор.

4. Ну и рекомендация переворачивать сигналы после первой ошибки в начале дня - это супер.

Если бы не было предварительных многочисленных анонсов автора с обещанием переворота в использовании нейросетей, можно было пройти мимо. 

А так, как по мне - незачет.

 
Vladimir Perervenko:

Так и где здесь, как Вы утверждаете, "искусственный интеллект"? Где нейросеть ?

1. Два направления NN?? Это решаемых задач( в основном) две - регрессия и классификация. Реже используем кластеризацию и ранжирование. А уж видов нейросетей десятки, если не сотни. Вы какую нейросеть применяли?

2. Overfiting - не только определяется но и разработаны методы по уменьшению вероятности его появления. Для нейросетей это регуляризация ( L1/L2), стабилизация (dropout, dropconnect и многие другие). Поэтому - перефразировав известное выражение: переобучаются все модели, но некоторые имеют намного меньшую веротность этого.

3. Классификаторы могут быть"твердыми", т.е никогда не отказывающиеся от предсказания и "мягкие", которые могут отуазываться предсказывать и говорят "не знаю". "Твердый" классификатор" после калибровки становится "мягким". Есть и другие способы "умягчить" классификатор.

4. Ну и рекомендация переворачивать сигналы после первой ошибки в начале дня - это супер.

Если бы не было предварительных многочисленных анонсов автора с обещанием переворота в использовании нейросетей, можно было пройти мимо. 

А так, как по мне - незачет.


Ну что же... отлично!!! Есть первые замечания и это радует.

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

2. Действительно ничто не стоит на месте, и уже существуют методы снижения уровня переобучения, однако степень переобучения выявить не просто.

3. Тут используется комитет из двух сетей. Каждая по отдельности сеть "не отказывается от предсказания", как вы выразились, но нас интересует только тот момент когда комитет одновременно говорит "Да" или "Нет"Комитеты сетей уже давно изместны и пользуются повсеместно. По мнению автора Юрия, комитет обладает более повышенной обощающей способностью, нежели одна сеть.

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

Ну и никакой я переворот не обещал, а лишь обещал метод ПРАВИЛЬНОГО построения ТС, а то порой некоторые пишут такую ересть, что становится немного страшно!!!!

 
Ну и опять же к вопросу об ориетировании сигнала. Дело в том что оптимизатор в процессе построения разделяющей плоскости, может разделить эту плоскость, одняко окажется на другой стороне барикад. То есть оптимизатор найдёт АНТИМОДЕЛЬ. Именно поэтому нужно учитывать ориентацию сигнала. Или же другой вариант, когда найдена модель, но рынок ходит против неё, потому как сложилось на сегодня так. Ведь суть разделить текущий сигнал, от предыдущего. Смысл разделения в этом.... 
 
toxic:

Простите, но статья – очень плохая, совсем, совсем… увы.  Рекламка оптимизатора Решетова и всё, ничего полезного. Берите пример с статьи господина Фоменко про леса и тренды, там хоть и для новичков, но очень информативно, у Вас очень плохо вышло, при всём уважении.


Признаюсь честно первый опыт. А что вам не понравилось? Можно по конкретней. Может что то не понятно? Ведь смысл статьи был донести о методах, которые каждый может использовать при построении своих ТС, не обязательно брать на вооружение именно мою ТС
 
Опять же, не подумайте что что то рекламирую, я всего лишь пользуюсь его продуктом, Но и суть то статьи не в рекламации, а именно в организации подхода. Неужели ни одна идея не приглянулась?
 
Mihail Marchukajtes:


Ну что же... отлично!!! Есть первые замечания и это радует.

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

2. Действительно ничто не стоит на месте, и уже существуют методы снижения уровня переобучения, однако степень переобучения выявить не просто.

3. Тут используется комитет из двух сетей. Каждая по отдельности сеть "не отказывается от предсказания", как вы выразились, но нас интересует только тот момент когда комитет одновременно говорит "Да" или "Нет"Комитеты сетей уже давно изместны и пользуются повсеместно. По мнению автора Юрия, комитет обладает более повышенной обощающей способностью, нежели одна сеть.

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

Ну и никакой я переворот не обещал, а лишь обещал метод ПРАВИЛЬНОГО построения ТС, а то порой некоторые пишут такую ересть, что становится немного страшно!!!!

1. Классификатор может предсказывать и 10, и 100, и 1000 классов и останется классификатором. КЛАСТЕРИЗАЦИЯ - разделения не размеченного набора данных на группы по определенным признакам.

2. Действительно момент наступления переобучения определить не просто а очень просто. 

3. Действительно комитет моделей дает (не всегда!) лучший результат. Но в Вашем случае это не совсем комитет.

Удачи 

 
toxic:

К сожалению, моя критика относится не к литературному качеству статьи, которое вполне нормальное, но к семантическому её содержанию. Вы не о чем интересном не сказали.

Вы рассматриваете какой то рандомный сливатор “Демарка” и хотите с помощью НС научить его зарабатывать, это тупиковый подход, вместо Демарка можно вставить любой индикатор смысл не изменится, тогда зачем он? А если именно этот фильтр – хорошая фича, то Вы не растолковали  почему так. Затем всё что собственно про ML и feature-engineering , это что всё сделает оптимизатор Решетова… ммм…. ну то есть… это для специфической аудитории статья тогда, для “мяса”, но мясо может даже не вкурить как jar запустить, там нужно чтобы только запустить в мт и смотреть как идёт процесс слива )))

Объясняйте ёмко и лаконично, с картинками и формулами, как работает оптимизатор Решетова, раз вся суть в нём, как он фичи делает, как классифицирует, почему он это делает лучше чем тот или иной мэйнстримовый метод извлечения фичей и классификации, с примерами и датасетами что бы все могли убедиться, дорабатывайте в общем, пока плохо.

И выкиньте всякую лирику, особенно про сравнения Решетова со Страдивари, иначе похоже что Вы с Решетовым одно физическое лицо, так даже Лекуна никто не превозносит))) Я скачивал Решетова сорцы, но так руки не дошли разобраться в алгоритме по исходникам, что может занять ориентировочно до недели, но нет времени столько на вероятно странноватый алгоритм, который даже 2-фичевые датасеты почему то не хочет кушать))) Хотел посмотреть как он делает разделавшую маску для двухмерных распределений…

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

Наткнулся на ресурс уже после редактирования статьи. Тут он более внятно растолковывает о работе оптимизатора. Очень будет полезно почитать разработчикам ИИ, коим я не являюсь, прошу заметить https://sites.google.com/site/libvmr/home/theory/method-brown-robinson-resetov

Метод Брауна-Робинсон-Решетова - Векторная машина Решетова
  • sites.google.com
Метод Брауна-Робинсон является наиболее старым (1951 г.) алгоритмом итеративного решения минимаксных задач, представленных в виде платёжных матриц. При этом он является методом поиска решения с оппонентом и способностью авторедукции доминируемых строк и столбцов. Однако, ему присущи ряд недостатков: Несоответствие решения аксиоматике вектора...
 
Vladimir Perervenko:

1. Классификатор может предсказывать и 10, и 100, и 1000 классов и останется классификатором. КЛАСТЕРИЗАЦИЯ - разделения не размеченного набора данных на группы по определенным признакам.

2. Действительно момент наступления переобучения определить не просто а очень просто. 

3. Действительно комитет моделей дает (не всегда!) лучший результат. Но в Вашем случае это не совсем комитет.

Удачи 


1. Согласен, разница между классификатором и кластеризатором в учителе и без, в таком случае.

2. Интересно послушать будущего нобелевского лауреата по переобучению, потому как вопрос действительно интересен не только мне. Это каким же способом???? И можно ли выявить степень переобучения?

3. Почему вы так решили что это не комитет???? как это так??? Интересно......

 
toxic:

Ну ок, Вы намекаете на то что если Решетов - Страдивари, то Вы никто иной как Моцарт, давайте это проверим!

Предлагаю сделать так, я Вам датасет, Вы обучаетесь по нему и мне обученный классификатор, не важно jar или сериализацию какаюнить, главное что бы в пару кликов юзабельную, а я прогоняю на тестовом сете, который Вы не видели, если классификатор стоящий(к примеру сравним с XGB)  то продолжим беседу о поделках Решетова, я тогда просто возьму да разберу код его исходников, так будет проще вникнуть, чем разбираться про метод Брауна-Робинсона и вектор Шекли и тд.

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


Классный план!!! Давно хотел попробовать. Вы мне скидываете файл для обучения, я Вам модель, а дальше тестируйте её и результаты выложите. ОК?
 
toxic:

Ну ок, Вы намекаете на то что если Решетов - Страдивари, то Вы никто иной как Моцарт, давайте это проверим!

Предлагаю сделать так, я Вам датасет, Вы обучаетесь по нему и мне обученный классификатор, не важно jar или сериализацию какаюнить, главное что бы в пару кликов юзабельную, а я прогоняю на тестовом сете, который Вы не видели, если классификатор стоящий(к примеру сравним с XGB)  то продолжим беседу о поделках Решетова, я тогда просто возьму да разберу код его исходников, так будет проще вникнуть, чем разбираться про метод Брауна-Робинсона и вектор Шекли и тд.

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


ХМ... Моцарт, звучит гордо. Однако, именно  подготовка данный и выбор выходной переменной играют ВАЖНУЮ роль. Откуда мне знать что ваши входы хорошо подходят для описание выхода. НО как говорится, как раз таки оптимизатор и определит, насколько Ваши входы соответствуют выходу. Смысл в следующем. Я могу подобрать такие входные данные, которые будут хорошо интерпретировать выход на обучающем множестве, однако на OOS эти данные будут работать плохо. Это говорит о том что вход не является причиной для выхода. Другое дело когда вход действительно является причиной для выхода, тогда работа сети на тренировке и OOS будут одинаковы. Прошу это учесть.
Причина обращения: