Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 2749
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
нет - речь о том, чтобы generalize (обобщать)... да, неверно, выразилать... sorry
думаю, выделять risk-on/risk-off environment -- пока думаю по каким признакам обобщать такое разделение... вся в своих мыслях (на форуме случайно)...
спасибо за ответ!
попробуйте, в катбусте куча разных фичей, мне понравилось
есть ранний останов на основании ошибки на валидационной выборке, дообучение. Генерализация не хуже чем у НС, к которым к тому же свои функции приходится писать для остановки обучения
и учится быстро, не надо часами ждать
Те просто интересно, может ли МО имитировать притивные функции из ЯП
есть матрица, каждая строка матрицы это обучающий пример
нужно найти максимум каждой строки, размер выборки 20к строк
решаю задачу через регресию
округляю для наглядности
довольно не плохо, на тесте из 50 новых строк всего несколько ошибок
Но данные то в матрице Х очень просты, всего 5 уникальных значений от 1 до 5 и колонок то всего 5 , а уже ошибки .
Хотя думаю если делать классификацию то ошибок бы не было , кстати можно проверить
Ну да, так и есть , но если мы ищем максимум в данных то классификация не подходит потому что разброс значений может быть огромный..
Так что вернемся к регресии и усложним данные
получаем такой результат
В принцепе не плохо, но обычная функция мах() сделает это лучше и может заменить всю эту модель..
Кстати интересно, как сработают другие модели, смогут ли они возсоздать функцию мах() без ошибки
Я помню, но это ошибка подгонки, Тоесть трейн выборка...
Это ошибка на следующих 300 бар. На каждом баре формировались предикторы, затем фильтровались, обучалась модель и делалось предсказание следующего бара.
Ну в этом есть определенный смысл, потому что зачастую модели долго не живут. Но хотелось бы найти варианты без переобучения постоянного, хотя бы на интервале год +, с медленной деградацией модели, которую легко отследить
Не могу с этим согласиться.
Рынок меняется, причем временные интервалы изменения разные и независимые друг от друга.
Я когда-то умел писать советники, которые жили от 3 до 6 месяцев. Оптимизировал в выходные. Потом они умирали, причем в течение короткого времени вполне достаточного для слива депозита. Нго недостаточного для оптимизации. В конечном итоге положение было еще хуже: через некоторое время выяснялось, что была граница, отодвинувшись от которой невозможно было подобрать параметры.
Есть более длительные периоды изменения рынка: 5-7 лет. Но результат такой же как и для месячных периодов. Бот умирает навсегда. В личку отправлю конкретный бот из маркета - тут нельзя.
Поэтому вся эта иде "вне выборки" - чушь собачья. Бот все равно имеет время жизни, мы не знаем сколько: 3 мес или 7 лет. Смерь бота путаем с очередной просадкой и сливаем депо.
В идеале переучивать по следующей свече. Если работаем на тиках, то на следующем тике, на Н1 то по приходу следующего часа.
Не спорю с обучением на каждом баре, и может быть даже на не стационарном тике например. Не понимаю структуру обучения тогда полностью. Логика советника это отдельное обучение или часть обучения на каждом баре? Это как бы хвосты первого обучения, сколько хвостов, или этапов обучения?
На каждом баре все по-новому
Есть еще деревянные модели для causal inference, не успел разобраться
из практики, много трактовок:
- среда влияет на испытуемого (когда в лаб. условиях всё коррелирует, в естеств. усл-ях проявляются др. неучтённые зависимости - самый банальный - человеческий фактор или же crowding effect) - RL лучше ML, но тоже моделировать надо и не всё можно учесть...
- когда о 2х коррелирующих величинах можно лишь выдвинуть inference (предположение), что от чего зависит, а не наоборот (результат от фактора или фактор от результата)
- mediation, moderation, interaction вклинивающиеся в процесс зависимости (часто которые даже нельзя проследить экспериментальным путём)
- вообще, важно планирование эксперимента (полезно уметь рисовать графы зависимостей, именно логических, теоретических), чтобы спланировать эксперимент, результаты которого уже обработать ML'ом или ещё проще ...
т.е. в какой последовательности и какие факторы фиксировать, чтобы получать условное распределение по исследуемому фактору, или совместному влиянию 2х исследуемых факторов, сравнить полученные результаты с безусловным распределением - выдвинуть гипотезу "лучше - нелучше", "влияет-не_влияет",подтвердить либо опровергнуть статистически, перенести на испытания в полевые условия... и нарваться на новый causal inference))
а в ML RF - не знаю, как они делают это, обрабатывая корреляционные матрицы - (особенно вызывает вопросы п.2)
многие критикуют probabilistic models как раз по причине п.2 и начинают превозносить causal inference, заявляя, что они учли влияние иных факторов... но алгоритмически как решается вопрос (! ещё одно слово синоним - reasoning) аппаратом ВМ - неизветно (по крайней мере мне) - я бы сказала "никак"
для меня causal inference - это по сути reasoning, а исследование mediation, moderation, interaction - это отдельная большая тема и дело вкуса (т.е. набросать тот или иной граф, построенный логически) - тоже своего рода Design (эксперимента)
просто имея в рынке 1 ВР - особо гипотезу о зависимостях не проверишь... а при разумной постановке эксперимента и одного OLS или ANOVA хватит (но уж фичи выделять точно не придётся)
?? ... так что алгоритм отнесения feature к фактору или к результату (деревянными моделями или хоть чем) я не знаю, кроме логики и теоретических знаний... но у нас же сейчас, что только не пиарят под др. словами -- я не знаю в каком контексте вам встречался causal inference
из практики, много трактовок:
- среда влияет на испытуемого (когда в лаб. условиях всё коррелирует, в естеств. усл-ях проявляются др. неучтённые зависимости - самый банальный - человеческий фактор или же crowding effect) - RL лучше ML, но тоже моделировать надо и не всё можно учесть...
- когда о 2х коррелирующих величинах можно лишь выдвинуть inference (предположение), что от чего зависит, а не наоборот (результат от фактора или фактор от результата)
- mediation, moderation, interaction вклинивающиеся в процесс зависимости (часто которые даже нельзя проследить экспериментальным путём)
- вообще, важно планирование эксперимента (полезно уметь рисовать графы зависимостей, именно логических, теоретических), чтобы спланировать эксперимент, результаты которого уже обработать ML'ом...
т.е. в какой последовательности и какие факторы фиксировать, чтобы получать условное распределение по исследуемому фактору, или совместному влиянию 2х исследуемых факторов, сравнить полученные результаты с безусловным распределением - выдвинуть гипотезу "лучше - нелучше", подтвердить либо опровергнуть статистически, перенести на испытания в полевые условия... и нарваться на новый causal inference)
а в ML RF - не знаю, как они делают это, обрабатывая корреляционные матрицы - (особенно вызывает вопросы п.2)
многие критикуют probabilistic models как раз по причине п.2 и начинают превозносить causal inference, заявляя, что они учли влияние иных факторов... но алгоритмически как решается вопрос (! ещё одно слово синоним - reasoning) аппаратом ВМ - неизветно (по крайней мере мне) - я бы сказала "никак"
для меня causal inference - это по сути reasoning, а исследование mediation, moderation, interaction - это отдельная большая тема и дело вкуса (т.е. набросать тот или иной граф, построенный логически) - тоже своего рода Design (эксперимента)
просто имея в рынке 1 ВР - особо гипотезу о зависимостях не проверишь... а при разумной постановке эксперимента и одного OLS или LDA хватит (но уж фичи выделять точно не придётся)
?? ... так что алгоритм отнесения feature к фактору или к результату (деревянными моделями или хоть чем) я не знаю, кроме логики и теоретических знаний... но у нас же сейчас, что только не пиарят под др. словами -- я не знаю в каком контексте вам встречался causal inference
Какая-то либа от Uber попалась на глаза, типа они улучшили свои процессы
ну и общая трактовка, что correlation != causation и попытки ее решить разными способами, начиная с A/B, но я в этом не шарю
у них какие-то странные определения, без бутылки не разберешься, придется забивать голову лишними словами
Кстати интересно, как сработают другие модели, смогут ли они возсоздать функцию мах() без ошибки
Бегло потренировал разные модели без всякого тюнинга ГП
вывод: модели не могут возсоздать функцию, только апроксимировать с какой то точностью , так что создание признаков и отбор признаков пока актульны
Это ошибка на следующих 300 бар. На каждом баре формировались предикторы, затем фильтровались, обучалась модель и делалось предсказание следующего бара.
Попробую сделать что то похожее вечером, но я делал довольно много таких переобучающихся ботов, и чтобы они давали такой скор , слабо в это вериться...
Скорей тут путаница в понятиях/пониманиях что есть тест выборка, и из за этого говорим о разном называя это одинаково
Немного разгрузилась очередь заданий - появилась возможность запустить скрипт. Запускаю и получаю ошибку.
Я правильно понимаю, что программа хочет старую версию R 4.0?
Ну в общем я поискал старую версию и не нашел. Ужасная несовместимость отталкивает конечно.
Неправильно. Если пакет собран под другую версию, будет предупреждение. О какой несовместимости идет речь?
randomForest v.4.7-1.1 никуда не девалась и в кран. R 4.1.3