Обсуждение статьи "Нелинейные регрессионные модели на бирже"

 

Опубликована статья Нелинейные регрессионные модели на бирже:

Нелинейные регрессионные модели на бирже: реально ли прогнозировать финансовые рынки? Попробуем создать моделеь для прогноза цен на евро-доллар, и сделать на ее основе двух роботов - на Python и MQL5.

Последние три года я убил на попытки создать что-то действительно рабочее. Чего только не перепробовал — от простейших регрессий до навороченных нейронок. И знаете что? Результатов в классификации добиться удалось, а вот в регрессии — пока нет.

Там была каждый раз одна и та же история — на истории все работает как часы, а выпускаешь на реальный рынок — и привет, убытки. Помню, как радовался своей первой сверточной сети. Красота же — R2 под 1.00% на обучении. А потом — две недели торговли и минус 30% депозита. Классика — переобучение во всей красе. Врубаешь визуализацию форварда, и видишь, как при регрессии прогноз "улетает" от реальных цен все дальше и дальше, с течением времени...

Но я упрямый. После очередного слива решил копнуть глубже, засел за научные статьи. И знаете, что откопал в пыльных архивах? Оказывается, еще старина Мандельброт талдычил про фрактальную природу рынков. А мы все пытаемся линейными моделями торговать! Это все равно что пытаться измерить длину береговой линии линейкой — чем точнее меряешь, тем длиннее получается.

В какой-то момент меня осенило — а что если попробовать скрестить классический теханализ с нелинейной динамикой? Не эти топорные индикаторы, а что-то посерьезнее — дифференциальные уравнения, адаптивные коэффициенты. Звучит сложно, но по сути — просто попытка научиться говорить с рынком на его языке.

Короче говоря, взял я Python, подрубил библиотеки для машинного обучения и начал эксперименты. Сразу решил — никаких академических наворотов, только то, что можно реально использовать. Никаких суперкомпьютеров — обычный ноут Acer, супер-мощный VPS и терминал МetaТrader 5. Из всего этого и родилась модель, о которой я хочу рассказать.

Автор: Yevgeniy Koshtenko

 
А можно тест без усреднения?
 

Вот это очень странно:

Было несколько забавных моментов в процессе отладки. Например, система начала выдавать серию противоречивых сигналов буквально каждые несколько минут. Купить, продать, снова купить... Классическая ошибка начинающего алгоритмического трейдера — слишком частые входы в рынок. Решение оказалось до смешного простым — добавил таймаут в 15 минут между сделками и фильтр на открытые позиции.

Получается, что противоречивые сигналы модели искусственно прореживаются рандомно. А если условную точку начала торговли сдвинуть на 15 минут, получим сделки в других направлениях на том же отрезке времени?

 

I remember how happy I was with my first convolutional network. Beauty - R2 at 1.00% during training. And then - two weeks of trading and minus 30% of the deposit. Classic - retraining in all its glory. You turn on forward visualization, and you see how, with regression, the forecast "flies" further and further from real prices, over time...

Data drift is the million dollar question in machine learning.Have you tried self training- online machine learning algorithms like this 


I havent tried this but another solution for data drift looks like Dr Charles Martin employs random matrix theory some advanced similarity analysis from physics 
https://weightwatcher.ai/
 

Нравится полет фантазии, попытки подойти к созданию ТС с разных необычных ракурсов :)

Собственно это и есть процесс творчества, который иногда приводит к появлению гениальных решений.

 
Спасибо за статью! Приятный слог.

Без усреднения и закрытия по прибыли (чистые перевороты по сигналам), EURUSD H1 за 2024 год показывает такое:

Сами прогнозы выглядят скорее краткосрочными:

Измененного советника приложил (вариант для тестера). Закрытие по прибыли отключается параметром.

Файлы:
 

Еще что бросилось в глаза -- это асимметричный сигнал (прогноз >= ask -- buy, прогноз < ask (почему не бид?) -- sell). Но при удержании позиции от часа и больше, наверное, не принципиально.

 
Ну, и интересно было бы вок-форвард запустить -- оптимизировать на последних Х барах, торговать Y баров, переоптимизировать, повторить.
 
Andrey Khatimlianskii #:

Еще что бросилось в глаза -- это асимметричный сигнал (прогноз >= ask -- buy, прогноз < ask (почему не бид?) -- sell). Но при удержании позиции от часа и больше, наверное, не принципиально.

Вы нашли ответ на вопрос?

Это самый важный момент любой ТС, нельзя пропускать сигналы, иначе вся логика рушится, или здесь не так?

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Обсуждение статьи "Нелинейные регрессионные модели на бирже"

Stanislav Korotky, 2024.11.27 19:05

Вот это очень странно:

Получается, что противоречивые сигналы модели искусственно прореживаются рандомно. А если условную точку начала торговли сдвинуть на 15 минут, получим сделки в других направлениях на том же отрезке времени?

 

Статья интересна тем, что наглядно показывает, как мало надо переменных, что бы описать историю движения цены с достаточной точностью для генерации прибыли в тестере.

Я только не понял, по тексту говорится о регулярных переоптимизациях, но предлагается график с фиксированными значениями. Или там коэффициенты подобраны с какой то частотой окна, и хранятся в многомерном массиве? Не разбирал код.

Пытались ли использовать иные методы для оптимизации формулы? Андрей Дик глубоко их исследует, может какой из им описанных алгоритмов позволит вообще отказаться от питона?

 
Отказаться от питона - это как отказаться от бэнтли потому, что слишком красивая? )