Обсуждение статьи "Грокаем "память" рынка через дифференцирование и энтропийный анализ" - страница 8
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Добрый день,
хотел бы вернуться к теме
Листинг 5.4. Нахождение минимального значения d, которое успешно проходит статистическую проверку ADF
Код на питоне из книги - эта функция определяет минимальную степень дробного дифференцирования,кто знаком с Питоном, переведите. На мой взгляд
именно ее не хватает в статье для практического применения метода ( ну или пошлите лентяя по нужному адресу - желательно с функцией )
Добрый день,
хотел бы вернуться к теме
Листинг 5.4. Нахождение минимального значения d, которое успешно проходит статистическую проверку ADF
Код на питоне из книги - эта функция определяет минимальную степень дробного дифференцирования,кто знаком с Питоном, переведите. На мой взгляд
именно ее не хватает в статье для практического применения метода ( ну или пошлите лентяя по нужному адресу - желательно с функцией )
Тест Дики - Фуллера, возможно, полезен для каких-то статистических исследований, но в статье значение d перебирается в оптимизаторе, плюс к этому предложенный вариант алгоритма постоянно переобучается, поэтому он здесь не был бы не особо полезен, по моему
https://www.mql5.com/ru/code/13072Тест Дики - Фуллера, возможно, полезен для каких-то статистических исследований, но в статье значение d перебирается в оптимизаторе, плюс к этому предложенный вариант алгоритма постоянно переобучается, поэтому он здесь не был бы не особо полезен, по моему
Я хотел использовать автоматическое определение d на этапе обучения с последующей автоматической обработкой данных как обучающей выборки, так и данных реальной торговли для кучи последующих алгоритмов (если уж говорим о методах машинного обучения - ну не говорим, я подразумеваю...)
выше ссылочку дал, вроде рабочий
Тест Дикки-Фуллера на MQL есть, но это проверка ряда на стационарность, на Хабре есть пример предобработки методом Бокса-Кокса, для которого в старой статье на сайте был приведен код автоматического определения параметра лямбда - имеющего схожее значение с обсуждаемым d.
Метод Бокса-Кокса на форэкс не всегда приводит к стационарности ряда (практически всегда не до конца) и требуется доп. обработка. Именно как попытку заменить метод БК на дробное дифференцирование (с авто определением лучшего значения d) и следует смотреть на мой вопрос.
К Вам и написанной Вами статье - полное уважение, в рамках статьи мой вопрос действительно лишний, это уже как задел на будущее...
Если брать конкретно его книгу, то дробное дифференцирование не очень понравилось (на практике), к тому же ему сто лет в обед, начиная с модификаций ARIMA. Это если брать такие ряды автономно, без других фичей, то удовлетворительных результатов не получил.
Понравились его мысли насчет мета-маркировки, т.е. обучать вторую модель корректировать результаты первой, улучшая результаты по confusion matrix. Убыточных сделок становится очень мало на трейн сабесте. Опять же, это не чисто его подход, он хорошо известен. Но только у него увидел применительно к фин. рядам. От переобучения это не избавляет, но делает красивую картинку на трейне.
Здесь можно посмотреть, Meta-Labeling раздел: https://towardsdatascience.com/financial-machine-learning-part-1-labels-7eeed050f32e
Еще здесь: https://www.quantopian.com/posts/meta-labeling-advances-in-financial-machine-learning-ch-3-pg-50
__________________________________________________________________________________________________________________
Что касается проблемы переобучения, то смотрю сторону Meta-learning, Attention (внимания) механизмов в машинном обучении.
Посмотреть можно:
1. https://medium.com/towards-artificial-intelligence/a-simple-neural-attentive-meta-learner-snail-1e6b1d487623
2. https://stats.stackexchange.com/questions/344508/what-are-attention-mechanisms-exactly
Спасибо за развернутый ответ, смотрю...
Еще забыл добавить, что Meta-Labeling из его книги это частный случай стакинга (stacking), если применять мета-модель не к одной первичной модели, а к взвеси нескольких, обученных на разных сабсетах. Это может дать еще простора для исследований, применительно к тафм-сериям.
Вот есть неплохая статья.
Плюс к этому, attention + stacking механизмы так же хорошо вплетаются в meta-learning. Ну и там есть что попробовать.
Это все должно приводить к какому-то глобальному обобщению и помогать бороться с оверфитом.
В моей мультиагентной RL библиотеке из статьи есть заготовка под мультиагентов, но их результаты усредняются и никак не взвешиваются. Для себя делаю всякие вариации на тему.
Maxim Dmitrievsky:
В моей мультиагентной RL библиотеке из статьи есть заготовка под мультиагентов, но их результаты усредняются и никак не взвешиваются. Для себя делаю всякие вариации на тему.
Не сочтите за наглость (автор библиотеки Вы и вам решать в каком направлении двигаться), в обсуждении к первой вашей статье о RL я поднимал вопрос о замене усреднения более сложным методом, тогда Вы восприняли это в штыки, в принципе, когда все агенты созданы одним алгоритмом случайного леса это действительно не актуально, с долей условности можно считать что 2 агента дают в объединении лес с большим числом деревьев. Просто напрашивается сделать еще один шаг в RL библиотеке и вынести деревья в отдельный стандартизированный класс-обертку, для возможности простой замены в агенте другим алгоритмом.
На базе вашей библиотеки попытался создать расширенную со структурой: класс первичной подготовки данных(ряд пары, дополнительный ряд-евро-доллар влияет на многие пары, набор показаний индикаторов, доп. параметры - как день месяца, день недели и т.д.) - подготовка данных для всех цепочек алгоритмов.
Сама цепочка: несколько стандартных классов пред обработки, класс метода
В конце - класс принятия решения (объединения результатов цепочек), в простом виде - среднее
У меня получилось 4 класса-основания-обертки: данные, пред обработка, обработка, принятие решений.
В таком виде возможно смешивание как разных методов, так и одного метода на разных данных, наверное что-то не учтено, но это получившийся минимум
Не сочтите за наглость (автор библиотеки Вы и вам решать в каком направлении двигаться), в обсуждении к первой вашей статье о RL я поднимал вопрос о замене усреднения более сложным методом, тогда Вы восприняли это в штыки, в принципе, когда все агенты созданы одним алгоритмом случайного леса это действительно не актуально, с долей условности можно считать что 2 агента дают в объединении лес с большим числом деревьев. Просто напрашивается сделать еще один шаг в RL библиотеке и вынести деревья в отдельный стандартизированный класс-обертку, для возможности простой замены в агенте другим алгоритмом.
На базе вашей библиотеки попытался создать расширенную со структурой: класс первичной подготовки данных(ряд пары, дополнительный ряд-евро-доллар влияет на многие пары, набор показаний индикаторов, доп. параметры - как день месяца, день недели и т.д.) - подготовка данных для всех цепочек алгоритмов.
Сама цепочка: несколько стандартных классов пред обработки, класс метода
В конце - класс принятия решения (объединения результатов цепочек), в простом виде - среднее
У меня получилось 4 класса-основания-обертки: данные, пред обработка, обработка, принятие решений.
В таком виде возможно смешивание как разных методов, так и одного метода на разных данных, наверное что-то не учтено, но это получившийся минимум
Только где взять другие алгоритмы? в алглиб больше ничего нет, придется какие-то сторонние добавлять. В той библиотеке из статьи можно менять параметры каждого агента - то есть закинуть в него другие фичи, кол--во деревьев и другие настройки, т.е. можно получить, допустим, множество слабых классификаторов с небольшим кол-вом деревьев, которые обучаются на разных фичах. Единственное чего там не хватает, как вы заметили, заменить усреднение на мета-модель. Ну еще можно разнести обучение на фолды, что бы каждый агент обучался на своей подвыборке. Именно со стакингом еще пока не эксперементировал.