BeyG
BeyG личный блог
Сегодня в 19:30

Просто одна из моих стратегий, ничего особенного)

Впереди выходные, вчера сделал большое дело, настроение неплохое, вот и решил под бутылочку уругвайского Tannat (стоит тут порядка 500р кстати, отличного качества) поделиться с людьми наработками и опытом по одной их моих страт. Безвозмездно, кому надо тот прочитает и может что-то вынесет для себя (правда подозреваю что костяк местной публики не оценит). Надо же хоть каплю полезного контента на смартлабе. ТГ канала кстати пока нет ;)

Скажу сразу – страта деградировала в последнее время и требует переобучения/донастройки, как сделать которую лично мне пока неочевидно. Виной всему… ну как обычно – изменившийся рынок. Причины и характер изменений мне понятен, состоит из двух факторов, но как лечить один (рыночный) понятно, второй (нерыночного характера) – пока неясно. Собственно поэтому и публикую (а вы думали кто-то из НЕинфоцыган будет делиться работающими продакшн стратегиями?)

Важный дисклеймер. Все мои роботы и стратегии построены на ML и DL алгоритмах, если вам это не интересно или непонятно (или вы в это не верите, таких много), наверное дальше можно не читать.

Что из себя представляет эта стратегия. Опишу основные принципы, но всего не раскрою.

Инструмент банален – российские акции. 1 сделка в день. Нейросеть в определенный момент смотрит что за день мы имеем на рынке и принимает решение по одной из самых ликвидных акций (выбирая с наибольшей вероятностью). 4-е плечо, slippage + комис 15 bps

Решение принимается на основании 461 фичи. Каждая из фичей это event-sampled показатель, собранный из микроструктуры рынка. Какие фичи? Ну… их много они, достаточно сложные и в них есть мое ноу-хау, описывать все их не буду, но могу привести пару примеров прямо из паспорта страты, чисто для понимания логики:

f_order_flow_dynamics — Дисбаланс количества выставленных заявок. Используется скользящее среднее из 12 последних сэмплов (примерно от 0.5 до 1 часа по времени на среднем рынке).

f_book_pressure — Сводное давление стакана. 0.50 * volume_imbalance + 0.35 * trades_imbalance + 0.15 * book_value_imbalance. Используется среднее значение каждого сэмпла.

Итак, на вход подается плоский вектор из 461 признака, каждый признак преобразуется в embedding токен, последовательность токенов идет в двухголовую LSTM. Одна голова отвечает за лонг, вторая за шорт. Архитектуру сетки расписывать не буду, она простая. Что интересно FT Transformer перформил на OOS чуть лучше, но явно оверфитил при обучении (AUC 0.93), стремно.

Закрытие позы (финасовая цель) по динамическому triple-barrier, барьеры считаются на основе всяких фичей волатильности отдельным ML-алгоритмом на базе RandomForest. Тут расписывать не буду.

 

Теперь показатели.

Сначала основные финансовые:

 Просто одна из моих стратегий, ничего особенного)

Кому интересно ROC AUC основной модельки:

 Просто одна из моих стратегий, ничего особенного)

 На закуску эквити:

 Просто одна из моих стратегий, ничего особенного) 

С начала июня было принято решение страту отключить. Что делать с ней пока не решил)

Как сломалось – а вот так:

 Просто одна из моих стратегий, ничего особенного)

  

Вопросы и комментарии от умных и хороших людей приветствуются, глупым и плохим отвечаю 1 раз, потом в бан. Всем удачных торгов!

 

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
7 Комментариев
  • Оля "Hare"... (заяц)...
    Сегодня в 19:34
    Здравствуйте! НЕ баньте пожалуйста за глупый вопрос: вы доверяете нейросети?! Просто вы пишете что она ПРИНИМАЕТ РЕШЕНИЕ… Хм...                                                                                                                                         

  • Algo Hub 01
    Сегодня в 19:40
    Привет, странно вин рейт остался высоким а стратегия перестала приносить прибыль, может есть еще показатели от которых зависит объем на сделку итд

    Еще вопрос если столько много показателей от которых принимается решение может нужно их сгруппировать по группам и по каждой группе смотреть показатель когда сделка была убыточна, вести статистику какая группа больше всего страдает, так вы получите тонкую настройку, если хотите больше советов пишите в личку поговорим
  • zhorzh
    Сегодня в 19:50
    Не сказать, что всё совсем плохо. Винрейт, конечно, несколько припал, но собственно, это не означает, что стратегия совершенно перестала работать, это вполне может быть в рамках допустимых отклонений поведения (ну как из 10 бросков монеты могут выпасть и 10 орлов и 10 решек и это тоже вполне допустимое поведение, вот из 20 бросков 20 решек/орлов — тут я бы призадумался).

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

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