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

 

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

Сейчас как-то сложно выходит - одно дерево это фильтр который знает где в лонг нельзя, другое дерево знает где в лонг можно, при этом не хватает ещё 2 аналогичных дерева для шорта. Может быть объединение всей этой информации в одно дерево пересилит недостатки от использования трёх классов, и пасьянс сложится :)

 
Dr. Trader:

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

Сейчас как-то сложно выходит - одно дерево это фильтр который знает где в лонг нельзя, другое дерево знает где в лонг можно, при этом не хватает ещё 2 аналогичных дерева для шорта. Может быть объединение всей этой информации в одно дерево пересилит недостатки от использования трёх классов, и пасьянс сложится :)

Интересно будет взглянуть на результат!

Не знаю, может мне сделать новые целевые с тупо тейк профитами, тогда входов может быть больше. С целевыми вообще не всё ясно, сейчас много целевых (где многовходов) тупо ловят разворот, а я бы не хотел там входить - считаю, что там нет определенности на разворот, но есть определенность на завершение трендового движения, и можно ожидать флэт - т.е. там шумовые целевые получаются. Где файл с малым числом входов, там более чистые целевые должны быть, но так же будут попадаться разные типы входов - выход из флэта, вход после коррекции на продолжение движения, вход на разворот (к примеру при формировании пин бара на часовом TF). К тому же есть такой нюанс, как "открытое окно для входа", это когда вход разрешен на протяжении приличного числа баров подряд - там так же могут возникать шумы из случайностей. Вот и думаю, может всё ж таки надо разделить целевые, что б сошлась картина?

 
Roffild:

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

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

2. Видел интересовались OpCl, не было ли мысли переписать НС на него? Например, я вообще отказался от ГА как от какой-то кошмарной ерунды, всё теперь обучается в 1 потоке на 1 ядре. Можно было бы ускорить на Cl (хотя и так быстро). Или, если обучать на Spark'е то там и так распараллеливается и смысла нет

3. Более-менее понял что вы выложили на гит и как применяете. Большая интересная работа, респект! :)

 

Привет)


Скан кода положил на стиральную машинку и включил чтобы обучить. 

Затем три раза зашил код на швейной машинке, чтобы углубленно обучить нейро-сеть.

И вот результат - код изменился до неузнаваемости , а теперь размышляю как ее использовать на торговле...

 

А супер бот готов уже ? 

Вот жду уже два  года.

 
Maxim Dmitrievsky:

есть какие-то выводы относительно того, что меньше переобучается - лес или млп?

В одном из пакетов есть демо-экземпл прогнозируещей НС (МЛП). Сравнительно несложной НС, кстати. Так его переобучить вообще нереально. Как не переобучай - все работает.

Так вот, переобучаемость зависит, прежде всего, от поставленной перед НС задачи. Ну, и от адекватности сложности МЛП поставленной задаче.

 
Maxim Dmitrievsky:

я конкретно про alglib и про тесты на тех же самых данных разных моделей

НС, она и в Африке НС. Без разницы, алглиб, либо что. Если НС переобучается, значит она неадекватна поставленной задаче, и надо менять либо задачу, либо структуру НС. И не фиг мучаться.) Как говорил один прапорщик - х... тут думать, трясти надо.)

Про леса не скажу, с ними не работаю.

 

А если обучать дерево не на целевой, а не предикторе? Сможем ли мы выявить незначимые предикторы, по признаку хорошего обучения? Т.е. если тестовая модель хорошо распознала предикторы, то в других предикторах уже содержится достаточно информации и этот предиктор избыточен и от него можно избавится. А если дело не в предикторе, а в избыточности самих уникальных комбинаций?

Вот к примеру, решил в качестве целевой выбрать номер часа.

Результат на обучаемой выборке


Результат на тестовой выборке


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

 
Aleksey Vyazmikin:

А если обучать дерево не на целевой, а не предикторе? Сможем ли мы выявить незначимые предикторы, по признаку хорошего обучения? Т.е. если тестовая модель хорошо распознала предикторы, то в других предикторах уже содержится достаточно информации и этот предиктор избыточен и от него можно избавится. А если дело не в предикторе, а в избыточности самих уникальных комбинаций?

Вот к примеру, решил в качестве целевой выбрать номер часа.

Результат на обучаемой выборке


Результат на тестовой выборке


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

Может это из за того что 10 часов стоит первым, после большой паузы с 24 часов? Потому и спрогнозировался хорошо? Что-то специфическое в 24 часа есть, кроме низкой волатильности?
 
Yuriy Asaulenko:

Дня, пожалуй, маловато будет.) Это, вообще-то, специальность.) Годами изучают, даже всю активную жизнь.

НС, не напоминает, а широко используется в ЦОС. Вопрос применения НС в ЦОС - это правильная постановка задачи для НС. Скажем, одно из применений НС - фильтрация, в т.ч. адаптивная.

Уж кстати, НС будет хорошо работать когда вы поручаете ей какую-либо вполне конкретную задачу, а не принеси то, не знаю что.

Продолжаю вникать.

Я этой фиче 5 лет учился и представить даже себе не мог, что можно на фору применить.

Короче говоря НС - это обычный адаптивный нерекурсивный фильтр.

Разновидностей много.

С учителем, без учителя и пр..

Предикторы - коэффициенты цифровой фильтрации. Ржака, ибо элемЕнтарно, а тут науку типа топчут... Все это старо как валенки. (начало - 1950г.)

Ты мне скажи - слепого уже делал или вход/выход  с обучением пользуешь?

//Слепой - это когда не знаешь что на выходе, а на входе фора, т.е. сравнивать не с чем... Говорят что в этом случае основная цель - скинуть шум.

//А если зрячий, то прогноз типо получается с вычислением вектора ошибок, который и отфильтровывается. Но присутствует задержка обработки, минимум на один тик.