Хоббит
Хоббит личный блог
Вчера в 12:58

Будни трейдера: фиаско с трансформером

Предыдущее: От эвристики к трансформеру

Всего 2 лайка за прошлый пост. Но с учётом того, что один от А.Г., можно продолжить ). Ключевые понятия в предыдущей статье. Там же результаты моей эвристики на VWAP-индикаторе. Сегодня о провале, которым закончился мой эксперимент с обучением трансформера, написанного на языке Python (Пайсон если по английски). Поясню.  Трансформер — это архитектура (класс моделей) глубоких нейронных сетей, предназначенный для обработки последовательностей данных (текста, звука, видео). Буквально это значит: «трансформер» — как «двигатель внутреннего сгорания», а «модель» — как «конкретный экземпляр ДВС с конкретными настройками». Обучаются веса конкретного экземпляра, а не «архитектура вообще».

 

Часть 2. Как использовать Трансформер на фондовом рынке

 

2.1. Что трансформер НЕ умеет

❌ Не предсказывает цену. Рынок нестационарен: одни правила работают в 2020-м, другие в 2024-м.

❌ Не даёт гарантии прибыли. Ни одна архитектура не даёт. Кто обещает — продаёт :-).

❌ Не заменяет правила безопасности: стопы, размер позиции, лимиты риска.


2.2. Где трансформер реально полезен

Классификация направления — не «цена будет 105», а «в следующие 5 баров движение вверх/вниз/боком» с вероятностью. Это мягче, чем регрессия, и лучше калибруется.

Скоринг входов — модель считает вероятность, а торговую логику (когда входить, объём, стоп) делает обычный код (или трейдер). Сам трансформер, это — датчик сигнала, а не трейдер.

Поиск контекста — внимание умеет улавливать, что «свежий всплеск объёма после долгого затишья» значит больше, чем просто цена.

Детекция аномалий — учимся на «нормальном» рынке, ловим отклонения (сбои, выносы).

Извлечение фич — представления из трансформера можно подавать в классическую модель (градиентный бустинг) вместо ручных индикаторов. Градиентный бустинг — модель на деревьях решений

Зачем это вместо ручных индикаторов

Ручные индикаторы

Представления трансформера

Ограничены фантазией разработчика

Ищутся автоматически из данных

Ловят известные закономерности

Могут поймать скрытые, неочевидные паттерны

Просты и интерпретируемы (плюс)

Чёрный ящик на первом этапе

Быстро считаются

Требуют обучения и данных


2.3. Правильная схема применения

данные → фичи → трансформер (вероятность направления)

                        ↓

            торговое правило (порог, фильтр времени, объём)

                        ↓

                    риск-менеджмент (стоп, размер позиции)

Модель трансформера не торгует сама — она подсказывает, а решение принимает простая прозрачная логика. Так её легче отлаживать и легче понять, где именно она ошибается.

Часть 3. Результаты эксперимента: что произошло на самом деле


Скрипт prototype_transformer.py, честный walk-forward: обучение на прошлых кварталах, калибровка порога на предыдущем квартале, тест на будущих кварталах (15 кварталов вне выборки).

Инструмент Si, M10, сумма P&L за 15 кварталов (1 лот, без комиссий):

Метод

Сумма, ₽

Сделки

Прибыльных кварталов

Трансформер (A)

−45 011

160

4/15

Эвристика P128R2

+46 059

1211

11/15

Эвристика P128R5

+55 531

487

13/15

На MX трансформер был в плюсе, но всё равно слабее эвристики: +170 тыс. против +257 тыс.

Урок №1: у простой эвристики меньше свободы — ей нечем переобучаться, ей не на чем «вырождаться». Это не слабость, это её сила.

Урок №2: перед любой сложной моделью обязательно нужен простой бейзлайн (примитивная модель-эвристика). Если трансформер не бьёт эвристику — он не готов в бой.

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
8 Комментариев
  • Дмитрий Киреев
    Вчера в 13:20
    А почему решили только один VWAP прогнать, а не например  VWAP + ещё какой нибудь индикатор?
  • Synthetic
    Вчера в 15:21

    А что Вы конкретно подаете на вход трансформера? Числа какие-то, текст или крестики?

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

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