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

 
Yuriy Asaulenko:

И в самом R графики никакие. И через граф пакеты тоже не Бог весть что. 

Сегодня посвятил день изучению ЦОС.

Чем то напоминает НС.

Коэффициенты фильтрации и все такое, почти что предикторы

)

 
Renat Akhtyamov:

Сегодня посвятил день изучению ЦОС.

Чем то напоминает НС.

Коэффициенты фильтрации и все такое, почти что предикторы

)

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

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

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

 
Yuriy Asaulenko:

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

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

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

спецуха соответствует

дня мало, согласен.

 
Dr. Trader:

Filter_02 2016 arr_Buy

Там класс "1" по количеству даже превышает "0", так что ложных входов меньше по сравнению с чем раньше. Попробуйте это дерево в советнике пожалуйста? Самому интересно что на графике прибыли будет.


y_pred
y_true01
0
1

Класс "1", там как раз фильтр на покупку, а класс "-1" фильтр на продажу, поэтому в идеале лучше программировать фильтр и на продажу и на покупку. У меня только значения все int, я так понимаю, если в дереве значение разветвления 2,5, то я ставлю 3, верно? А в овалах значит больше или равно 0.50, то это 1, иначе ноль? Просто выходов на ноль всего 4 получается, тогда я на них просто буду проверять, если не 0, то 1.

 
Aleksey Vyazmikin:

Класс "1", там как раз фильтр на покупку, а класс "-1" фильтр на продажу

Не понял. arr_Buy==1 означает "не покупать"? 

Aleksey Vyazmikin:

в идеале лучше программировать фильтр и на продажу и на покупку.

А как посчитать одну целевое значение из двух arr_Buy и arr_Sell? 
Хорошо если бы в одной таргет колонке было всего два класса -1 и 1 (купить и продать), причём примерно равное по количеству число обоих. В таком случае можно получить от модели более стабильный результат.

Aleksey Vyazmikin:

У меня только значения все int, я так понимаю, если в дереве значение разветвления 2,5, то я ставлю 3, верно? А в овалах значит больше или равно 0.50, то это 1, иначе ноль? Просто выходов на ноль всего 4 получается, тогда я на них просто буду проверять, если не 0, то 1.

Да, всё так.

 
Aleksey Vyazmikin:

Класс "1", там как раз фильтр на покупку, а класс "-1" фильтр на продажу, поэтому в идеале лучше программировать фильтр и на продажу и на покупку. У меня только значения все int, я так понимаю, если в дереве значение разветвления 2,5, то я ставлю 3, верно? А в овалах значит больше или равно 0.50, то это 1, иначе ноль? Просто выходов на ноль всего 4 получается, тогда я на них просто буду проверять, если не 0, то 1.

Сами дерево составляете?

Лес достаточно обучить, а дальнейшую оптимизацию проводить бессмысленно - проще новый лес сделать.

Для полной совместимости с MQL5 я создал https://github.com/Roffild/RoffildLibrary/blob/master/Experts/Roffild/Alglib_RandomForest.mq5 Запускать только на локальных агентах. Можно сгенерировать несколько файлов с разными количествами предикторов и перебирать в оптимизаторе. Когда оперативной памяти перестанет хватать - лучше переходить на Spark...

 
Dr. Trader:

Не понял. arr_Buy==1 означает "не покупать"? 

Да - не покупать, это фильтр, т.е. ищутся плохие точки входа для покупки и для продажи. Идея в том, что б найти входы в рынок и объединить с фильтром.

Dr. Trader:

А как посчитать одну целевое значение из двух arr_Buy и arr_Sell? 

Хорошо если бы в одной таргет колонке было всего два класса -1 и 1 (купить и продать), причём примерно равное по количеству число обоих. В таком случае можно получить от модели более стабильный результат.

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

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

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

Как определить "шумовые предикторы"? Пробовал выбрать по значимости и убрать таким способом, результат стал хуже.

 

Я результаты случайного леса предпочитаю накладывать на сам график.

Например, сравнение двух моделей случайного леса:

 
Roffild:

Я результаты случайного леса предпочитаю накладывать на сам график.

Например, сравнение двух моделей случайного леса:

Не ясно, как читать Ваш индикатор.

Причина обращения: