Машинное обучение в трейдинге: теория и практика (торговля и не только) - страница 570

СанСаныч Фоменко
7269
СанСаныч Фоменко  
Maxim Dmitrievsky:
  • Random Forest: Gini Importance or Mean Decrease in Impurity (MDI) [2]
  • Random Forest: Permutation Importance or Mean Decrease in Accuracy (MDA) [2]
  • Random Forest: Boruta [3]

https://medium.com/@ceshine/feature-importance-measures-for-tree-models-part-i-47f187c1a2c3

надо попробовать хотя бы 1 из методов к алглиб лесам дописать, и тогда все можно делать на автомате в МТ5 без R, например дОбычу данных


Самый шикарный отбор предикторов в caret: gafs - выбор предикторов генетическим способом; rfe- обратный выбор предикторов (самый быстрый); safs - имитируемая устойчивость выбора предикторов (отжиг) - самый эффективный.


Если говорить про машинное обучение, то надо брать caret - это оболочка, которая включает полный цикл: дэйтамайнинг, моделирование, оценка.



ПС.

Все держишься за поделуху, так и будешь: "вот дописать...".

Maxim Dmitrievsky
25677
Maxim Dmitrievsky  
СанСаныч Фоменко:



нене, я именно про метод отбора в RF, не другими способами. Или это и есть для RF? я так понял Gini самый популярный

да, в R MDI используется

elibrarius
2139
elibrarius  

Про отбор предикторов..
Изначально добавил в модель - день недели. Посмотрел торговлю лучшего варианта - оказалась, что на 40 днях (8 недель) она заучила, что в четверг надо покупать и на тесте 10 дней (2 недели) чуть ли не каждый бар четверга покупала и оказалась в плюсе. А в другие дни или не торговала или единичные сделки.
Вывод - чтобы торговля была равномерной - надо удалить день недели. Сейчас тестирую без него, посмотрим, что получится.
Но тут отсев чисто по здравому смыслу, автоматика этот предиктор посчитала очень важным.

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

Maxim Dmitrievsky
25677
Maxim Dmitrievsky  
elibrarius:

Про отбор предикторов..
Изначально добавил в модель - день недели. Посмотрел торговлю лучшего варианта - оказалась, что на 40 днях (8 недель) она заучила, что в четверг надо покупать и на тесте 10 дней (2 недели) чуть ли не каждый бар четверга покупала и оказалась в плюсе. А в другие дни или не торговала или единичные сделки.
Вывод - чтобы торговля была равномерной - надо удалить день недели. Сейчас тестирую без него, посмотрим, что получится.
Но тут отсев чисто по здравому смыслу, автоматика этот предиктор посчитала очень важным.

Так что на автоматику стремно надеяться...


мне просто интересно разобраться как это работает, что бы не делать что попало :) если переменная не важна то ее просто удалять что бы не порождать лишние размерности

фича импортэнс не о том бодет ли модель на форварде работать,  о том насколько фичи в данный момент описывают целевую

c другой стороны, для НС или дип НС отбор признаков вообще не очень важен, она просто кидает меньшие веса и лишние признаки почти не влияют. Дополнительный тюнинг это конечно хорошо, но это дата сатанизм для статистики, для форы не подходит, и даст там 5-7% прироста качества, которые ни о чем

сам по себе отбор предикторов на форексе - почти пустое занятие, важность будет меняться о сета к сету. ИМХА

elibrarius
2139
elibrarius  
Maxim Dmitrievsky:

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

В моем примере четверг оказался очень удачным для покупок (на промежутке 50 дней) и видимо НС присвоила дню недели самый высокий вес. НС заработала, но я считаю покупку на каждом баре по четвергам - ошибкой. Ведь все может измениться, надо искать более глубокие закономерности.

Может на годе учить... но дольше будет в 6-7 раз. Тогда может день недели и понизится в важности.

Maxim Dmitrievsky
25677
Maxim Dmitrievsky  
elibrarius:

В моем примере четверг оказался очень удачным для покупок (на промежутке 50 дней) и видимо НС присвоила дню недели самый высокий вес. НС заработала, но я считаю покупку на каждом баре по четвергам - ошибкой. Ведь все может измениться, надо искать более глубокие закономерности.


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

geratdc
1510
geratdc  

Надо ещё частоту гэпов изучать, помню JPY график как будто топором рубили рост котировок. Ну и как тут торговать. Вот эти амплитуды больше 1000 пунктов надо структурировать (по уровням волатильности гэпов) и вероятность их повтора вычислять. Вероятность высокая - советник спит на этом графике. Или можно засечь усиление вероятности гэпа и зная в какую сторону он пойдёт, отложенными ордерами его пробовать оседлать. Важно ещё изучить то что перед гэпом происходит - ведь это явно рукотворная тема, поэтому они там мухлюют перед гэпом с целью сконцентрировать ордера в противоположную сторону от направления готовящегося гэпа. Добавлено.


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

И вот те значения истории котировок  или предикторы ваши (я так понимаю это повторяющиеся шаблоны поведения  котировки на графике) которые ближе к текущей дате, должны иметь больший вес, то есть история за 1 год интересна только для того, чтобы выискать эти предикторы  - повторяющиеся "профитные " шаблоны поведения котировки для массива предикторов и задать им вес в соответствии с их частотой обнаружения на истории котировок. Второй вес должен повышать статус предиктора в зависимости от близости к последним событиям на графике. 

Это я вам типа как Менделеев проснулся и со сна всё рассказал. Сам ничего в этом не понимаю))) Успехов, Ждём результатов.

100% годовых и стабильность в торговле. Больше ничего не надо. Не перестарайтесь.


предиктор

11.1.5. ЛИНЕЙНЫЙ ПРЕДИКТОР И ФУНКЦИЯ СВЯЗИ
  • lib.alnam.ru
линейный предиктор изменяется на единиц. (Это может быть как реалистичной интерпретацией, так и нереалистичной. В примере с объемом древесины, если радиус ствола дерева увеличивается, то, вероятно, возрастает и его высота.) Ожидаемое значение У связано с линейным предиктором посредством функции связи . В некоторых случаях известны естественные...
Maxim Dmitrievsky
25677
Maxim Dmitrievsky  
geratdc:

100% годовых мало, в месяц надо :)

elibrarius
2139
elibrarius  
elibrarius:

Про отбор предикторов..
Изначально добавил в модель - день недели. Посмотрел торговлю лучшего варианта - оказалась, что на 40 днях (8 недель) она заучила, что в четверг надо покупать и на тесте 10 дней (2 недели) чуть ли не каждый бар четверга покупала и оказалась в плюсе. А в другие дни или не торговала или единичные сделки.
Вывод - чтобы торговля была равномерной - надо удалить день недели. Сейчас тестирую без него, посмотрим, что получится.
Но тут отсев чисто по здравому смыслу, автоматика этот предиктор посчитала очень важным.

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

ан нет... после удаления дня недели, все осталось по прежнему. Там в качестве контекста 5 дневных баров, может от туда идет... без них надо попробовать
Maxim Dmitrievsky
25677
Maxim Dmitrievsky  
elibrarius:
ан нет... после удаления дня недели, все осталось по прежнему. Там в качестве контекста 5 дневных баров, может от туда идет... без них надо попробовать

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

только может возникнуть неожиданность что случайно перемешанные данные вдруг случайно окажутся очень важными :) + долго если фичей много. Так что без фич. импортанс это сизифов труд