3Qu
3Qu личный блог
30 ноября 2022, 00:04

Прогнозирование котировок.

Сижу как-то раз за рюмкой чая (это было за год, два или три до моего прихода на Smart-Lab} и приходит мне в голову мысль — а почему бы не попробовать прогнозировать котировки.
Прогноз, естественно, на ТФ 1м, который я использую. Время прогноза пусть будет — 5 минут — вполне достаточное для моих сделок, а недостаточно, так прогноз можно и повторить на следующие 5 минут. Архивы котировок по фьючерсам SBRF и GAZR тоже имеются, минимум за год-два за последние 3 месяца перед экспирацией — хватит и на отладку и на проверку.
Все есть, только как реализовать прогнозирование? — ни одной мысли.
Собственно, не особо мне это было и нужно, рабочая система у меня уже была и меня она вполне устраивала, но мысль о прогнозировании засела, и я время от времени ее думал.
Ничего сколь-нибудь конструктивного в голову не приходило, и было решено для прогнозирования использовать нейросеть, тем более, незадолго до того я немного занимался машинным обучением и нейросетями в том числе.
От использования каких-либо предикторов сразу отказался. Плюс 2-3 слоя к нейросети, и если в данных есть какие-либо взаимосвязи, НС сама внутри себя построит нужные ей предикторы. В общем, подаем на НС поток цен 15-20 отсчетов Vc={C(t0-20),C(t0-19),...C(t0)}, нормируем их к динам диапазону НС — Vcn={c(t0-20),c(t0-19,… c(t0-1), 0} — c(t0) у нас всегда = 0, и пусть НС сама мучается с прогнозированием и поиском c(t0+5). И еще, у всякого метода есть область применимости, потому нельзя учить чему попало. Для этого из обучающей и проверочных последовательностей по возможности исключаем области истории, где прогнозирование невозможно. Иначе получим нечто такое.

Прогнозирование котировок.
По Х — прогноз значения цены С(t0+5),
по У — реальное значение цены С(t0+5)
Т.е., не получили ничего

Для реализации прогнозирования была выбрана распространенная и не самая сложная библиотека Python scikit-learn, обычный многослойный перцептрон, где-то ~150 нейронов. Обучаем на истории 3 месяца до экспирации фьючерса SBRF или GAZR — это где-то не более 15 минут, проверяем на тех же фьючерсах с другой датой экспирации. Получаем прогноз нормированного значения цены через 5 минут — c(t0+5).

 Прогнозирование котировок.
По Х — прогноз нормированного значения цены c(t0+5),
по У — реальное нормированное значение цены с(t0+5)

Прогноз в области нуля для сделок нас не интересует. Прогноз же в области отличной от нуля вполне удовлетворителен и может быть использован для открытия и закрытия сделок. В ходе сделки прогноз может быть повторен для дальнейшего продолжение сделки.
Что же мы имеем. Мы видим, что для прогноза на 5 мин уже вполне достаточно жалких 150 нейронов. У таракана около 1 млн. нейронов.
Оказывается, для прогнозирования котировок и трейдинга мозгов нужно много меньше чем у таракана. Как-то даже обидно. Хотя, кому как.

61 Комментарий
  • Мальчик buybuy
    30 ноября 2022, 00:33
    Полная шняга

    Данные для графика 2 в студию, плз. 2 инструмента, 1 линейный прогноз и 1 временной интервал.

    С уважением
  • dnmsk ☮
    30 ноября 2022, 00:50
    Бектест стратегии на истории сделок с учетом комиссии и проскальзывания на выборке за пределами обучаемой будет?
  • Vladimir N.
    30 ноября 2022, 01:59
    Прогнозирование никогда не будет работать. Можете и поколдовать ради разнообразия.

    Вчера прогнал свою ТС ку — как часы, риски вижу заранее, понятен потенциал движения, знаю где ждать и какой сценарий. Соотношение риск к профиту можно брать 1 к 5, 1 к 20 и даже выше — нет предела.

    Вам CashKing просто так писал что ли? Я вот его читал внимательно, все по делу.

    smart-lab.ru/mobile/topic/690717/

    smart-lab.ru/r.php?u=https%3A%2F%2Fm.lenta.ru%2Fnews%2F2021%2F04%2F15%2Fphysics%2Famp%2F&s=1491763882
  • darkcorp
    30 ноября 2022, 09:22
    А где-то можно посмотреть как закодено? Можно без конкретных параметров.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн