Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 3019
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вся Ваша идея отделить "хорошие" правила" от плохих совершенно тупиковая, методически тупиковая.
Вы, почему-то считаете, что "хорошие" правила (деревья) они реально "хорошие".
И дело не только в туманности их будущего, а дело в том, что правил, которые можно взять по некоторым критериям, не существует от слова совсем. Есть правил, которые порождают ВЕРОЯТНОСТЬ "хорошести", которая меняется по мере движения окна. и вполне возможно, что это правило из "хорошего" станет "плохим" по мере движения окна. Эта изменчивость определяется величиной, которая делит вероятность предсказания на классы.
Стандартно в алгоритмах МО деление на классы производится делением вероятности предсказания класса пополам, но это совершенно неверно. Я считаю величину деления на классы - она никогда не бывает равной 0,5: эта величина меняется и зависит от конкретного предиктора.
Теперь вернемся к Вашим "хорошим" деревьям.
Если Вы отобрали деревья, "Хорошесть" которых лежит близко к порогу, который движется. Поэтому выше я и утверждал, что отобранные Вами "хорошие" деревья запросто могут стать плохими.
Это тупик.
Вы сами строите гипотезы о том, что я как считаю и им возражаете. Попробуйте задавать вопросы в начале.
Тупик или нет - но я показал реальные результаты. Покажите такие же лесом, что бы 50% листьев прибыльно классифицировало 3 класса, спустя два года после обучения. На сколько помню - у Вас концепция регулярного переобучения моделей, чуть ли не раз в неделю.
Про дрейф мне разъяснять не надо - на форуме создана мной отдельная ветка, где происходят попытки решить проблему - хотите поделиться идеями - присоединяйтесь.
Так что метод перспективный, но есть что улучшать и развивать.
Ну, пока не могу понять как внедрить максимизацию прибыли в тот же бустинг, например.
Что-то делаю, разумеется, но хотелось бы услышать и другие содержательные мнения по поводу темы.
Ну я же показывал как обучать форест на максимизацию прибыли.
Это простое безградиентное обучение через фитнес функцию , по сути RL.
Код тут скидывал, но способ этот не сильно ефективен для большых задач.
Для большых задач надо перевести безградиентное обучение в градиентное, те в обычный типичный дип RL
Вот посмотрите первую половину этого видео , тут сказано как это надо обучать .
Там пример с нейронкой, но это не принцыпиально буст это или что то другое
Accuracy нормально работает при сбалансированных классах. Пробовал все стандартные метрики, почти ничем результаты не отличаются. Максимизация прибыли внедряется через разметку с максимально прибыльными сделками, разве нет?)
1) через классификацию не учитываються торговые издержки , метка класса может показывать что надо продвать но может быть так что економично выгодней держать дальше покупку,
максимизация прибыли это учитывает.
2) то же и с волатильностью
3) не понятно как реализовать три состония бай, сел , ничего не делать, не в контексте трех классов, а именно про торговлю
4) не понятно как управлять стопами/тейками через МО через классификацию
.....
..
..
Accuracy нормально работает при сбалансированных классах. Пробовал все стандартные метрики, почти ничем результаты не отличаются.
Всё же, это разные величины. Предположим для простоты, что всегда тейк-профит = стоп-лосс = 1 и спред = 0. В каждую сделку либо входим, либо нет - для простоты система только для покупок (для продаж пусть другая модель).
Accuracy = (True positives + True Negatives)/ (True positives + True negatives + False positives + False negatives)
Profit_total = True positives - False positives
Accuracy вроде бы вполне подходит под требования для способа сплита в дереве, а профит вроде бы нет.
Максимизация прибыли внедряется через разметку с максимально прибыльными сделками, разве нет?)
Для простоты, все сделки дают одинаковые прибыль или убыток (1 или -1)
1) через классификацию не учитываються торговые издержки , метка класса может показывать что надо продвать но может быть так что економично выгодней держать дальше покупку,
максимизация прибыли это учитывает.
2) то же и с волатильностью
3) не понятно как реализовать три состония бай, сел , ничего не делать, не в контексте трех классов, а именно про торговлю
4) не понятно как управлять стопами/тейками через МО через классификацию
.....
..
..
Всё же, это разные величины. Предположим для простоты, что всегда тейк-профит = стоп-лосс = 1 и спред = 0. В каждую сделку либо входим, либо нет - для простоты система только для покупок (для продаж пусть другая модель).
Accuracy = (True positives + True Negatives)/ (True positives + True negatives + False positives + False negatives)
Profit_total = True positives - False positives
Accuracy вроде бы вполне подходит под требования для способа сплита в дереве, а профит вроде бы нет.
Для простоты, все сделки дают одинаковые прибыль или убыток (1 или -1)
Такой подход пробовали? (найдите раздел Model Interpretation примерно в середине страницы)
Порядок такой разметки примерно такой: берешь сделки с минимальным шагом прибыльные, в разные стороны, в зависимости от колебаний. Идешь по ним, объединяя однонаправленные в одну и считая кол-во пунктов с учётом издержек. Если оно больше чем в двух, объединяешь в одну, иначе оставляешь короткие.
1) Даже если это работает , получаеться под каждую задачу нужно придумывать какой то костыль алгоритм чтобы ее реализовать как готовую целевую?
Не проще ли написать ФФ и просто говорить АМО - хорошо / плохо , и это будет хорошо под любую задачу , универсальное решение..
2) хорошая целевая != хорошо обученый АМО под етой целевой
целевая может быть хорошей но алгоритм под нее не обучиться , так что надо не целевую оценивать , обученый АМО..
И ты это вроди как был понял когда я про ФФ расказывал , но уже я вижу забыл
1) Даже если это работает , получаеться под каждую задачу нужно придумывать какой то костыль алгоритм чтобы ее реализовать как готовую целевую?
Не проще ли написать ФФ и просто говорить АМО - хорошо / плохо , и это будет хорошо под любую задачу , универсальное решение..
2) хорошая целевая != хорошо обученый АМО под етой целевой
целевая может быть хорошей но алгоритм под нее не обучиться , так что надо не целевую оценивать , обученый АМО..
И ты это вроди как был понял когда я про ФФ расказывал , но уже я вижу забыл