Блог им. Replikant_mih

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

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

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

 

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

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

 

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

 

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

 

Конечно же краеугольный камень во всей этой истории это не способ интерпретации силы сигналы (а вы думал он?), а оценка силы сигнала. Когда эмитится сигнал мы имеем набор входных данных, на которых принималось решение о сигнале – какие-нибудь значения индикаторов, 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 надстройки над ними. В этом случае ты получаешь море преимуществ, море гибкости – хочешь конкуренцию сигналов – нате пожалуйста, хочешь видеть в реальном времени расклад вероятностей по открытой позе для ребалансировки – вэлкам и т.д.

 

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

 

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

 

★3
13 комментариев
Как определить сигнал какой системы выбирать?
А протестировать можно не в велс лабе, а что-либо написать.
avatar
Мейстор Эймон, Смотря какая схема используется, можно выделить деньги на стратегию и если нет сигналов по стратегии и деньги просто лежат, можно шарить деньги, тогда вот по силе сигнала смотреть. В общем вопрос слишком абстрактный.
avatar
Replikant_mih, тема интересная
avatar
Мейстор Эймон, ага)
avatar
братиш, помню ты курс по нейросетям брал. Как успехи и впечатления? Может об этом напишешь? Я что-то стал тупым и ленивым, боюсь не потяну, но вроде как надо.
avatar
Artemunak, нейросетям и генетическим биржевым алгоритмам есть такой бесплатный ресурс (самому не интересно, но может кому сгодится) :
«И наконец в нашем курсе мы закончили первую часть по Генетическим Алгоритмам и приступаем к Генетическому Программированию.

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

t.me/finartel/96
avatar

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

 

Если кратко, мне понравилось, прокачался хорошо, в целом зависит от скиллов, свободного времени, а главное упорство — можно жестко прокачаться, а можно сдаться где-нибудь в самом начале, не выдержав темпа. Подтянул многие дициплины, курс очень широкий был, ну и въехал в ML и нейросети. Для трейдинга — если поверхностно, то вряд ли эффект будет больше, чем от обычного рисеча и обычного алго, а если нужно бОльший эффект, то нужно пахать, вникать, изучать. Короче, если есть какие вопросы — отвечу. Ну или может есть какие-то больные точки в алго, попробую подсказать, как туда можно ML прилепить, если можно и нужно.

 
avatar
Тоже одно время занимал вопрос конкуренции стратегии/инструмента за деньги.
Конкуренцию можно организовать, если вход в позицию происходит одновременно по всем (либо по многим) инструментам, по какому-то одному таймингу, цикличности. А если 
Close > SMA
то это событие, которое может случиться, а может и нет. Может на этом баре, а может и на следующем.
И как организовать конкуренцию между инструментом, где событие на вход уже случилось, и другим инструментом, где еще нет (а может и не случится в ближайшем будущем) — не известно. 
Хотя перепробовал разные варианты. Например, первый по времени инструмент получает, допустим, половину капитала. Второй — половину от остатка. И т.д.
В итоге победило распределение капитала равными долями

Кот Матроскин,

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


Ну, по идее, можно поддерживать некоторую среднюю загрузку капитала на условно-постоянном уровне. Ну допустим, у тебя миллион и стратегии в среднем генерят 100 сигналов в месяц и если заряжать по 50 тысяч на сигнал в среднем с такими характеристиками будут загрузка капитала на 70%. Дальше, допустим, нарастил портфель стратегий стало 200 сигналов, им уже тесно стало, можно как-то эмпирически выбрать порог силы сигнала чтобы в работу шла такая доля лучших сигналов, которая обеспечивала бы примерно ту же 70% загрузку капитала. Эту долю загрузки можно выбрать какой-то оптимальной — если будет больше — это значит что ты входишь всякими шлачными сигналами и в моменте часто хорошим не хватаетденег, а если недозагружать — ну просто деньги сильно будут простаивать.
avatar
Replikant_mih, 
не, кмк, слишком сложно, а поэтому скорее всего работать не будет (но это не точно )
В таком случае проще (и надежнее) фильтровать инструменты, например, по моментуму или, скажем, волатильности
Кот Матроскин, Нуу, в данном случае «фильтровать по моментуму или волатильности» будет в моем понимании частным случаем или упрощенным вариантом. Я использую всякие фильтры по воле и т.д., в т.ч. на них и можно внутри стратегии основывать оценку силы сигнала.
avatar
Кот Матроскин, 
В итоге победило распределение капитала равными долями

Эт да, иногда помыкаешься помыкаешься и возвращаешься обратно к простым понятным вариантам).
avatar
Replikant_mih, 
возможно я «не умею готовить», но вся это конкуренция за капитал у меня слегка увеличивала прибыль, но ухудшала показатель риск/доходность. Лучше всего сглаживались просадки именно равномерным распределением капитала
С другой стороны иногда психологически стрёмно использовать полные плечи. А с ограниченным плечом уже не так важно соотношение риска к доходности

теги блога Replikant_mih

....все тэги



UPDONW
Новый дизайн