Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 3023

 
Maxim Dmitrievsky #:

Это легко автоматизируется и работает без человеческого вмешательства

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

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

а в первой модели остаются только зерна

То же самое что с правилами дерева, только вид сбоку. Но правила надо грабить все и сопоставлять друг с другом, а там на выходе уже рафинированная ТС

Например, первая итерация отбора зерен от плевел (слева от вертикального пунктира - ООС):

А вот уже 10-я:


Да, смысл один - работа в конечном счете с данными, которые лучше описывают предикторы.

Как это сделать наиболее эффективно - вопрос пока открытый - у каждого метода есть плюсы и минусы.

 
Rorschach #:

Вроде все перечислили. Это книга Джереми Ховарда, основателя Kaggle и фреймвока fast.ai.

Fast.ai

Книга в оригинале

Книга на русском

Бесплатная версия

Спасибо! Надо будет бесплатную на русском поискать - переводчик порой перлы лепит и впаривает мне про рассол, который может быть полезен :)

 
Maxim Dmitrievsky #:

предлагаю на питоне сделать шляпку эту с деревом с выбором листьев, в колабе, сможете подсовывать туда датасеты свои

если есть идеи сразу что лучше/хуже, правила только лучшие брать или через какие-то фильтры, предлагайте

хочу сравнить, прогнав один датасет через оба подхода. Тогда и поймем ху из ху :)

Интересная затея!

Первым делом нужно понять какая реализация дерева позволит легко вытаскивать правила листа, что бы дальше с ними работать.

Потом способ построения дерева - жадный или генетика. Я проверял листья деревьев всех популяций (если не правильно понял :))

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

Процесс генерации новых листьев проводить до тех пор, пока не наберется нужное (указанное) число отобранных.

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

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

По поводу предобработки для всех данных - нужно ещё подумать.

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

Оценка должна проходить на каждом интервале всей выборки для обучения, число интервалов задается. Если на каком то интервале не достигается нужный критерий, то лист уходит в архив или выбрасывается. Я держал базу листьев, убирая дубликаты, что бы повторно не проверять их.

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


Не совсем понял, на какой выборке хотите проводить эксперимент - той, что я дам или той, что будет создана рандомно?

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

Скажу сразу использованный мной метод очень медленный. Возможно процесс оценки листьев лучше делать на MQL5 - позволит распределить нагрузку на ядра.

 
Aleksey Vyazmikin #:

Интересная затея!

ну простой пример на дереве набросаю пока и чтобы тестировать можно было сразу, потом по желанию расширим

на любом датасете, через гугл диск можно загружать и там же тестировать, ничего не устанавливая

хочу чтобы быстро работало )
 
Maxim Dmitrievsky #:

ну простой пример на дереве набросаю пока и чтобы тестировать можно было сразу, потом по желанию расширим

на любом датасете, через гугл диск можно загружать и там же тестировать, ничего не устанавливая

хочу чтобы быстро работало )

Хорошо - главное начать! :)

 
Maxim Dmitrievsky #:

это уже не смешно

Причем тут "смешно"?

Есть вне выборки или нет?

 
СанСаныч Фоменко #:

Причем тут "смешно"?

Есть вне выборки или нет?

а если найду

 
Maxim Dmitrievsky #:

а если найду

Причем тут "если". Это стандарт оценки. Любые оценки, без оценки "вне выборки" не интересны. 

 
Maxim Dmitrievsky #:

а если найду

Сделай на десять периодов ООС вперед и назад график.

 
СанСаныч Фоменко #:

Причем тут "если". Это стандарт оценки. Любые оценки, без оценки "вне выборки" не интересны. 

Ну все, посмеялись и хватит 
Причина обращения: