Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Еще будут эксперименты с разными вариантами...
Я пробую эти алгоритмы с набором индикаторов и смесь(индикаторы+цены закрытия). Если возможно и в русле ваших изысканий, реализуйте первоначальный отброс коррелированых данных, т.е. проверка на корреляцию. При вашем методе два близких индикатора пройдут в отбор (если достаточно влияют на результат), хотя по хорошему один должен уступить место независимому индикатору.
Я пробую эти алгоритмы с набором индикаторов и смесь(индикаторы+цены закрытия). Если возможно и в русле ваших изысканий, реализуйте первоначальный отброс коррелированых данных, т.е. проверка на корреляцию. При вашем методе два близких индикатора пройдут в отбор (если достаточно влияют на результат), хотя по хорошему один должен уступить место независимому индикатору.
Можно будет попробовать. На данный момент версия recursive и Logistic recursive (логит регрессия вместо RDF) реализует перебор приращений цен, т.е. при заданном массиве предикторов в 1000 цен закрытия, например, она нулевой бар делит на каждое последующее значение цены, тем самым получается большой набор приращений с разным лагом, из них выбирает лучшие. Т.е. подавать различные осцилляторы вроде моментума или рси с разными периодами не имеет большого смысла в данном случае
Можно будет попробовать...
Поправьте, если ошибаюсь в рассуждениях (по ценам):
В нескольких выложенных методах используется что-то типа:
С отбором по минимуму ошибки. Это можно рассматривать как проверку корреляции с результатом.
Допустим есть волновой процесс (коридор, клин и др.). 100 значений на часовом таймфрейме это ~4 суток, велика вероятность, что в интервале более 1 волны. Тогда имеем 2 (или более) коррелирующих между собой точек. Если одна из них сильно влияет на результат, то вторая тоже пройдет такую проверку. А есть еще полуволны с отрицательной корреляцией. В результате из десяти отобранных для дальнейшего построения показаний независимы 2-3 (остальные сильно с ними коррелируют и дают малое улучшение распознавания). Требуется вначале отобрать мало коррелирующие между собой показания (рассчитать хоть для всех пар не проблема, а вот как правильно из этого свинства вырезать кусок ветчины представляю пока слабо)
Как косвенное подтверждение, в серьезных руководствах указывается что метод бустинга деревьев дает результат на пару % наже случайного леса (бэгинг). Правда это сильно зависит от реализации и внутренних алгоритмов построения деревьев (в приведенном выше результате в обоих методах использовали CART).
В итоге эффективность одного метода сильно зависит от подбора тестового периода. Кстати наклон канала полностью не спасет от этой проблемы.В догон,
Может стоит использовать ту же логит регрессию или иной метод вместо усреднения показаний агентов? Вроде по теории такое применяется.
В догон,
Может стоит использовать ту же логит регрессию или иной метод вместо усреднения показаний агентов? Вроде по теории такое применяется.
можно использовать все что угодно, но чисто в теории какие-то вещи вообще не очевидны и не понятно стоит ли на них тратить время (как, собственно, и вообще на весь данный подход в целом). По меньшей мере будет пособие как делать не надо :)
по мультиколлинеарности предикторов - согласен. Нужно строить ковариационную матрицу и делать отбор по ней, позже подумаю как лучше делать
потестировал, впечатление неоднозначное, тестировал на кастомном графике сгенерированном по ф-ции Вейерштрасса по формуле
в теории на этом кастомном графике RandomForest долден был найти точки входов очень близкие к ЗигЗагу, ну или хотя бы вообще не иметь убыточных ордеров, на ТФ Н1 периодичность прослеживается явно, но RF вроде как и нашел эту закономерность, но и убыточные ордера присутствуют
тестировал ране в МТ4 на таких же данных старый советник GoldWarrior (на англ. форуме нашел) - советник по ЗигЗагу, в оптимизаторе МТ4 на всех ТФ до М15 четко находит закономерности и исключительно в + все ордера
тестировал индикаторный советник по пересечению линий регрессии (увы, под заказ делал, код не могу), и этот советник в оптимизаторе быстро находил закономерности на ф-ции Вейерштрасса
к чему эти примеры? - если примитивные методы могут найти закономерности, то машинное обучение тем более обязано все это найти.
при всем уважении, к автору, но сомнительный результат, вернее пример работы с RandomForest отличный. но есть еще куда приложить свои силы ;)
ЗЫ: обучал с 2000.01.01 по 2001.01.01 тестировал с 2001.01.01 по 2002.01.01
ЗЫ: скрипт для кастомного графика приатачил, библиотека Symbol в КБ
Раскусываю Вейерштрасса на раз-два, немного адаптированный вариант, весь участок - оос. Не видел смысла дальше продолжать, и так очевидно. Но позабавило :)
с рынком такое конечно же не пройдет. Спасибо за скрипт, кстати, проверка оказалась очень полезной, потому что не мог понять сначала есть ли ошибки в логике, на реальных котировках результаты намного скромнее
Линейная модель справляется так же непринужденно, т.е. для предсказания этой ф-ии даже нейросеть не нужна
Реверс сделок, для проверки.
Насчет наличия или отсутствия убыточных сделок - вопрос чисто риторический и трейд офф между accuracy и overfitting
Спасибо за скрипт, кстати, проверка оказалась очень полезной, потому что не мог понять сначала есть ли ошибки в логике, на реальных котировках результаты намного скромнее
;) ... я об этом, наверное с полгода талдычу
я математику "грызу", есть нестандартные идеи - негладкий анализ и с удивлением обнаружил, что довольно интересное художественное чтиво Р.Ловенстайн "Когда гений терпит поражение" - читаю чтобы отвлечься
очень интересует Ваш код, если можете, дайте подглядеть в ЛС
;) ... я об этом, наверное с полгода талдычу
я математику "грызу", есть нестандартные идеи - негладкий анализ и с удивлением обнаружил, что довольно интересное художественное чтиво Р.Ловенстайн "Когда гений терпит поражение" - читаю чтобы отвлечься
очень интересует Ваш код, если можете, дайте подглядеть в ЛС
негладкий и непушистый? :) вечером соберу в 1 файл, расшарю общий проект.. может вместе поделаем чего-нибудь
...по мультиколлинеарности предикторов - согласен. Нужно строить ковариационную матрицу и делать отбор по ней, позже подумаю как лучше делать
Возможно стучусь в открытую дверь, но т.к. в исходном не было...
Рекомендуют перед приведением к диапазону [0,1] предобработку:
1. удаление периодичности, выполнил в periodicityArrays() - из ряда вычитается профиль, составленный по дням недели и часу за месяц (правда для пробы сделал только для часового таймфрейма).
2.Удаление линейного тренда в linearTrendArrays() как рекомендуют a[i]=a[i]-a[i+1].
3.А вот здесь и должна быть проверка автокорреляции (пока не реализовано)
предсказательность после 1и 2 действий повысилась значительно. Код прикладываю.