Replikant_mih
Replikant_mih личный блог
25 июля 2021, 13:30

Алго: конкуренция сигналов в борьбе за деньги.

Расшифрую название:

Речь о том, что некоторые стратегии генерируют сигналы (купить открыть, продать закрыть, купить закрыть, продать открыть), но не все сигналы достаточно хороши и не все достаточно хороши для данного момента. А деньги получает сигнал, который достаточно хорош, который не достаточно хорош – так и остается просто сигналом, не превращается в ордер.

 

А теперь подробней про зачем это:

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

 

Почему вообще в рамках одной стратегии может возникать конкуренция за деньги? Простейшее – стратегия запущена на разных тикерах (кто там какие терминологии использует, конечно, но у меня пусть это будет одна и та же стратегия). Или даже одна стратегия – один тикер, в этом случае за раз эмитится один сигнал, конечно, но если на момент сигнала стратегия в позе, то сигналу может не хватить денег – получатся, конкуренция тоже есть, менее явная. А ещё многие/некоторые торгуют облаками значений параметров – там тоже сплошная конкуренция, если я, конечно, правильно понимаю, как это вообще работает.

 

Конкуренция по факту это про распределение ограниченных ресурсов среди сильнейших, вернее скорее: чем ты сильнее, тем больше получишь ресурсов из ограниченного их объема. В данном случае то же самое, тебе выгодно, чтобы бабки получили те сигналы, которые сильнее остальных. Возможны разные сценарии: есть порог силы сигнала, ниже никто не проходит, выше проходят все. Или: проходят все, но не тогда когда не хватает денег на всех – в этом случае сильнейшие. Или там: всегда все, но каждому по силе его и т.д.

 

Конечно же краеугольный камень во всей этой истории это не способ интерпретации силы сигналы (а вы думал он?), а оценка силы сигнала. Когда эмитится сигнал мы имеем набор входных данных, на которых принималось решение о сигнале – какие-нибудь значения индикаторов, OHLC, смещенные OHLC, можно это все сделать плоским одномерным, получается просто набор признаков. Алготрейдеры так любят хвастаться безпараметрическими стратегиями, что ж в этих случая зацепиться для оценки силы сигнала не за что, печалька. А допустим, у нас есть параметр. Уже можно построить какой-то скоринг, если конечно параметр рабочий (а иначе нахрена он тут вообще?). Построили скоринг исходя из закономерности, которая связана с этим параметром, допустим, что-то типа: чем ближе к 7 тем сила сигнала ближе к 0.75. Всё, уже можно выставлять какой-то порожек: ниже 0.7 не входим, или там: если 0.75 вот те 10 лотов, если 0.7 – вот те 5, а если 0.65 – вот те 1 на чай. Задача построить нормальный скоринг (или любой другой алгоритм оценки силы) на основе имеющихся параметров задача конечно же ни разу не тривиальная, но она не в этапе построения скоринга, а на этапе выбора параметров, если параметры дерьмо, никакого работающего скоринга ты не построишь, а если параметры мощные – да хоть простым сложением можешь эту силу определять – будет работать. Если параметр 2+, конечно же, тут уже напрашивается какой-нить простенький ML, чтобы оценивать силу сигнала. Только не говорите что тут риск подгонки, я вас умоляю. Но по факту это будет довольно ограниченный скоринг, один параметр рассекается пространство на 2 – true, false. Например, Close > SMA – либо да, либо нет, Close – SMA в процентах больше 1% — либо да, либо нет – и 1.5 больше и 2 больше и 7 больше. Т.е. по-хорошему модель надо строить над этими значениями, которые сравниваются с параметрами стратегии в логических условиях, участвующих в генерации сигнала. Вот это отличный симбиоз трейдерских фичей и ML надстройки над ними. В этом случае ты получаешь море преимуществ, море гибкости – хочешь конкуренцию сигналов – нате пожалуйста, хочешь видеть в реальном времени расклад вероятностей по открытой позе для ребалансировки – вэлкам и т.д.

 

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

 

Боюсь только к Велс-лабу я такое не смогу пока прикрутить.

 

13 Комментариев
  • T-800
    25 июля 2021, 14:20
    Как определить сигнал какой системы выбирать?
    А протестировать можно не в велс лабе, а что-либо написать.
      • T-800
        25 июля 2021, 14:30
        Replikant_mih, тема интересная
  • Artemunak
    25 июля 2021, 19:25
    братиш, помню ты курс по нейросетям брал. Как успехи и впечатления? Может об этом напишешь? Я что-то стал тупым и ленивым, боюсь не потяну, но вроде как надо.
    • Bearminator
      25 июля 2021, 19:37
      Artemunak, нейросетям и генетическим биржевым алгоритмам есть такой бесплатный ресурс (самому не интересно, но может кому сгодится) :
      «И наконец в нашем курсе мы закончили первую часть по Генетическим Алгоритмам и приступаем к Генетическому Программированию.

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

      t.me/finartel/96
  • Кот Матроскин
    25 июля 2021, 21:50
    Тоже одно время занимал вопрос конкуренции стратегии/инструмента за деньги.
    Конкуренцию можно организовать, если вход в позицию происходит одновременно по всем (либо по многим) инструментам, по какому-то одному таймингу, цикличности. А если 
    Close > SMA
    то это событие, которое может случиться, а может и нет. Может на этом баре, а может и на следующем.
    И как организовать конкуренцию между инструментом, где событие на вход уже случилось, и другим инструментом, где еще нет (а может и не случится в ближайшем будущем) — не известно. 
    Хотя перепробовал разные варианты. Например, первый по времени инструмент получает, допустим, половину капитала. Второй — половину от остатка. И т.д.
    В итоге победило распределение капитала равными долями
      • Кот Матроскин
        25 июля 2021, 22:50
        Replikant_mih, 
        не, кмк, слишком сложно, а поэтому скорее всего работать не будет (но это не точно )
        В таком случае проще (и надежнее) фильтровать инструменты, например, по моментуму или, скажем, волатильности
      • Кот Матроскин
        26 июля 2021, 00:26
        Replikant_mih, 
        возможно я «не умею готовить», но вся это конкуренция за капитал у меня слегка увеличивала прибыль, но ухудшала показатель риск/доходность. Лучше всего сглаживались просадки именно равномерным распределением капитала
        С другой стороны иногда психологически стрёмно использовать полные плечи. А с ограниченным плечом уже не так важно соотношение риска к доходности

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

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