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

 
Maxim Dmitrievsky:

у меня просто цены на входе, фичами не страдаю :) главное это подбор целевых

Maxim Dmitrievsky:

да я хз че делать дальше, идей пока никто не подкидывает, думать лень

идеи?

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

попробуйте всего навсего угадать что будет первым обновлен (пробит) на новом баре High[1] или Low[1] - если научитесь прогнозировать, тогда это профит ибо Вы уже будете знать направление движения цены

;)

 
Igor Makanu:

идеи?

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

попробуйте всего навсего угадать что будет первым обновлен (пробит) на новом баре High[1] или Low[1] - если научитесь прогнозировать, тогда это профит ибо Вы уже будете знать направление движения цены

;)

механизмы котирования - это отдельное читерское направление :)

хотелось бы на тф от 5-15 мин. Уже показывал на скринах что какие-то закономерности ловит, не связанные с котированием. Но на ООС работает не очень долго, максимум 2X трейн

про пробой интересно, надо попробовать

 

History/Future = 30000/1000. Вход - таймсерия из разностей Close и Open: iClose(NULL, 0, i+j+1+Shift) - iOpen(NULL, 0, i+j+1+Shift), где j от 0 до 99 (Всего 100 штук). Целевая - цвет бара (0,1).

На графиках только период ООС (Future).

Без спреда. Уровень для входа в ордер - 0.


Спред - 2 пункта. Уровень для входа в ордер - 0.

Спред - 2 пункта . Уровень для входа в ордер - 0.1

Спред - 2 пункта . Уровень для входа в ордер - 0.15

Распределение предиктов между классами. Точность - 0.525.


 
Ilya Antipin:


Распределение предиктов между классами. Точность - 0.525.

Какая то выборка малюсенькая - у меня вот по 100-200 тысячь выборка, и если я возьму кусочек в 1000, то велика вероятность, что будет сопряженность и получше.

 

Сделать гениальную вещь очень просто. Сложно достичь состояния, в котором делаются гениальные вещи. Амедео Модильяни :)

поэтому нужно пробовать разные сорта трав

 
Maxim Dmitrievsky:

ну есть модель, обучается стабильно хорошо в разных модификациях, некоторые по 100% и больше от трейна отрабатывают на оос, как здесь.. (4 мес обучения 10 мес ООС) потом фигня

на демках не вижу смысла тестить т.к. уже и так все понятно

Да, жаль что твоя демка слилась. А всё потому что ты на ООС слишком много смотришь, хотя сам же приводил статью где написано что по ООС выбирать модели нельзя, да и на форуме тут много раз писали тоже самое.

 
Dr. Trader:

Да, жаль что твоя демка слилась. А всё потому что ты на ООС слишком много смотришь, хотя сам же приводил статью где написано что по ООС выбирать модели нельзя, да и на форуме тут много раз писали тоже самое.

Вот в чем дело оказывается...

Скопирую свои рассуждения/предложения на эту тему из др. ветки:

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

Ведь могли попасться данные, которые не так хороши. И модель например могла обучаться до 40% ошибки на обучающем участке, и чисто случайно показать 30% на тестовом. А вторая модель допустим, обучилась до 35% на обоих участках. Вторая очевидно лучше. Но выбор только по тестовому участку выберет первую. Для сравнения есть такие варианты оценки модели:
оценка только на обучающем участке,
или на сумме  всех участков,
или как в Darch, (при поданных валидационных данных) на Err = (ErrLeran * 0.37 + ErrValid * 0.63) - эти коэффициенты по умолчанию, но их можно менять.

Последний вариант самый интересный, т.к. учитывает обе ошибки, но с большим весом валидационного участка.
В принципе можно формулу расширить, например до Err = (ErrLeran * 0.25 + ErrValid * 0.35 + ErrTest * 0.4).

Может даже по дельтам ошибок надо делать отбор, например если ErrLeran и ErrTest отличаются более чем на 5% - то отбраковать такую модель (Сан Саныч про это говорил). А из оставшихся уже делать выбор.
 
elibrarius:
Вот в чем дело оказывается...

Скопирую свои рассуждения/предложения на эту тему из др. ветки:

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

Ведь могли попасться данные, которые не так хороши. И модель например могла обучаться до 40% ошибки на обучающем участке, и чисто случайно показать 30% на тестовом. А вторая модель допустим, обучилась до 35% на обоих участках. Вторая очевидно лучше. Но выбор только по тестовому участку выберет первую. Для сравнения есть такие варианты оценки модели:
оценка только на обучающем участке,
или на сумме  всех участков,
или как в Darch, (при поданных валидационных данных) на Err = (ErrLeran * 0.37 + ErrValid * 0.63) - эти коэффициенты по умолчанию, но их можно менять.

Последний вариант самый интересный, т.к. учитывает обе ошибки, но с большим весом валидационного участка.
В принципе можно формулу расширить, например до Err = (ErrLeran * 0.25 + ErrValid * 0.35 + ErrTest * 0.4).

Может даже по дельтам ошибок надо делать отбор, например если ErrLeran и ErrTest отличаются более чем на 5% - то отбраковать такую модель (Сан Саныч про это говорил). А из оставшихся уже делать выбор.
ИМХО, кроме формул  суммирования ошибок, нужны еще пропорции их соотношения, тут кажется уже кто-то писал, что ошибки по участкам должны соотноситься как Train <= Valid <= Test.
 
Ivan Negreshniy:
ИМХО, кроме формул  суммирования ошибок, нужны еще пропорции их соотношения, тут кажется уже кто-то писал, что ошибки по участкам должны соотноситься как Train <= Valid <= Test.
Train минимизируется по ошибке при обучении, остальные участки могут случайно болтаться, как вверх так и вниз. Главное чтобы не сильно.
 
elibrarius:
Train минимизируется по ошибке при обучении, остальные участки могут случайно болтаться, как вверх так и вниз. Главное чтобы не сильно.

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

И какая тогда ваша главная задача, если не борьба с этой случайностью, ведь она нивелирует смысл и валидации и ООС и МО в целом.?))