В этом посте (лонгрид):
- Как я управляю капиталом сейчас
- Какие варианты управления капиталом я собираюсь тестировать/применять
Термины и определения
- ТА — торговый алгоритм. Кусок кода или набор правил, по которым определяется точка входа в сделку / выхода из сделки
- ИД — идеальная доходность с методикой расчёта, варианты описаны в моём посте, в посте Sprite или в посте Buybuy. Эту идею я уже публиковал больше года назад, но прошлое забыто.
- ДТА — доходность торгового алгоритма
Простейший способ
До последнего времени я не усложнял себе жизнь распределением капитала. В соответствии с моими правилами, риск на позицию должен быть меньше 3% от депозита, и это означает, что я должен иметь как минимум 33 позиции с разными ТА на разных инструментах. Поскольку я всегда использую таймфрейм M1, то акцентирую на этом внимание и дальше упоминать про таймфрейм не буду. Ещё раз скажу, что я использую M1 по той причине, что он даёт наиболее высокую доходность и теоретически меньшие просадки. Доходность выше достигается, похоже, только HFT-техниками внутри стакана.
Таким образом, число позиций для меня определяется как число уникальных комбинаций инструмент-ТА. Кому-то нужно будет добавить TF.
Определившись с приемлемым риском на позицию, я могу рассчитать нужный размер капитала исходя из числа позиций, или нужное число позиций исходя из размера капитала, которым я хочу торговать.
Однако, есть ещё одно ограничение — это минимальный размер лота, определяемый правилами биржи. В общем случае, размеры всех позиций должны быть равны, и это значит, что я должен установить минимальным размером позиции максимальную стоимость лота торгуемых инструментов.
Для примера я буду рассматривать активность на Binance.
Самый дорогой инструмент там — BTC. Минимальный разрешенный размер лота BTC составляет 0.001, а используемое плечо — 10. Поэтому, минимальную стоимость позиции для всех ТА я определяю как стоимость BTCUSDT 30000 * лот 0.001 и / плечо 10, что = 3. Поскольку цена BTCUSDT сейчас близка к 30000 и иногда заходит выше, я использую значение 3.5.
Число фьючерсов, которые я торгую, = 11. Это
ADAUSDT, BCHUSDT, BNBUSDT, BTCUSDT, ETCUSDT, ETHUSDT, LINKUSDT, LTCUSDT, TRXUSDT, XLMUSDT, XRPUSDT.
На каждый фьючерс я подбираю одно и то же число ТА, которое равномерно делится на Long- и Short- алгоритмы.
Я перестал использовать переворотные ТА, которые закрывают long и тут же входят в short и так далее, находясь при этом всё время в рынке, по той причине, что бэктесты этих алгоритмов иногда не воспроизводимы. В зависимости от того, в какое время я начинаю тестирование, входы могут различаться, потому что точек входа может быть несколько, и причина в этом. Другой аспект состоит в том, что, улучшая что-то в лонговых ТА, я одновременно ухудшаю шортовые. Разделение ТА отдельно на лонговые и шортовые, такая их специализация, делает торговую систему более управляемой и предсказуемой. Кроме того, проще анализировать результаты как тестов, так и реальной торговли и точно вносить изменения в состав работающих ТА, просто отключая плохие. Последнее даже более важно для меня.
Для игр и тестов я выделяю объём депозита в 1000.
Определяю, сколько нужно выделить на инструмент, их у меня в данном примере 11: 1000 / 11 = 90.
И рассчитываю нужное мне число ТА. Делю на 2 (лонг+шорт) и на минимальный размер позиции, который был рассчитан ранее:
90 / 2 / 3.5 = 12 (тут округляем до целого вниз, поскольку нельзя торговать половиной ТА).
Таким образом, мне нужно 12 лонговых ТА и 12 шортовых ТА на каждый инструмент.
Суммарное число ТА = 11 * 12 * 2 = 264 ТА.
Проверяем: 1000 / 264 = 3.79, что примерно соответствует значению 3.5.
В реальности будет использоваться несколько меньший объём депозита суммарно, потому что размер позиции на открытии определяется шагом лота.
Кроме того, не все ТА будут в рынке в моменте и часть депозита не будет задействована. Поэтому то, что 3.79 > 3.5, в данном случае является нормой.
Риск на позицию в моём случае составляет 3,79 / 1000 = 0,379% и он даже несколько завышен, как следует из изложенного выше.
Так моя ТС работает в настоящее время.
Динамические техники
Недавно Тимофей задавался вопросом о динамическом распределении капитала по позициям. В прошлом году, когда мы встречались с ICWiener в Петербурге, я слышал от него тот же вопрос-идею, что хорошо бы динамически регулировать размер входа. Тема регулярно всплывает в околотрейдерской тусовке, но дальше фраз «вот бы хорошо...» дело не идёт, или вы всё скрываете. Попробую порассуждать, что тут можно сделать, но сразу хочу отметить два следствия, вытекающие из идеи динамического управления капиталом:
- Придётся проверять перед каждым входом в сделку, достаточно ли у меня свободного капитала, чтобы её совершить и, возможно уменьшать размер позиции, чтобы открыть хоть что-то, если на рассчитанный объём средств недостаточно.
- Ожидаю, что абсолютная прибыль должна вырасти, так как динамическое управление капиталом должно привести к более полному использованию депозита, его утилизации, это предстоит проверить.
- Как будет изложено далее, я планирую увеличивать или уменьшать долю капитала на позицию в интервале -25%..+25%, поэтому я не превышу свои ограничения по максимальному риску на позицию (нюансы опущу), но эти вещи нужно внимательно отслеживать.
Заход с точки зрения ИД
Чтобы было понятно, о чём далее пойдёт речь, хочу вспомнить, как мы оцениваем эффективность наших ТА. Все вот эти шарпы, просадки и даже квадраты отклонений, которыми оценивается одно и то же — кривая доходности ТА, прекрасны, но мне пришла в голову мысль, что это лечение симптомов. Я подозреваю, что все эти метрики изначально оценивают уже искажённые данные.
Размышления у меня такие. Есть некий инструмент, и наш ТА, поторговав на истории, показал некую кривую доходности. Очевидно, что она нам не нравится в тех местах, где она загибается вниз. Но откуда мы знаем, что и по инструменту в целом в такие моменты прибыльность не падает, а потому и поведение нашего ТА закономерно и нормально? Я имею ввиду, что когда мы смотрим на кривую, которую выдал нам наш ТА, в отрыве от того, что в реальности происходило с инструментом, а потом ещё накручиваем на это кучу разных метрик, большей частью, к тому же, бестолковых, то мы как бы смотрим через несколько кривых зеркал. И возникает сооблазн решить, что ТА «протух», да здравствует новый ТА. Меж тем, ТА может быть совершенно прекрасен, а проблема с инструментом.
Заголовком этого раздела я как бы намекаю способ решения этой проблемы. Нужно сравнивать кривую ДТА с кривой ИД. И не просто сравнивать, а считать корреляцию. Если она есть и она положительна и велика, ТА работает прекрасно, невзирая на его доходность относительно размера рабочего капитала. Этот метод оценки работоспособности ТА, который на днях пришёл мне в голову, конечно, нужно протестировать. Но логично, что если мы стремимся к ИД, то наш ТА должен повторять кривую ИД, пусть и в 10% объёме.
Второй метрикой я хочу посчитать корреляцию ДТА с ценой актива и изучить эти данные. Гипотеза состоит в том, что эта корреляция должна быть низкой или отсутствовать, а если она есть и положительна, то ТА зарабатывает на трендовом росте рынка и теряет в остальных случаях, ну, то есть, проще было купить и держать. А если она положительна на трендовых нисходящих движениях — то это так же плохо, как вытекает из изложенного.
Поэтому, с точки зрения принятия решения о работоспособности ТА в принципе, хорошо бы скорректировать его кривую доходности на идеальную доходность, а потом считать всякие шарпы. Мне можно оппонировать, что живём-то мы в реальной жизни, и просадки должны учитывать реальные, а не скорректированные. И это верно, но управляйте этим, диверсифицируя портфель, а не рубя голову ТА, который, возможно, не так уж и плох. В конце концов, все ТА временны (если вынести за скобки оптимизацию), но неприятно выбросить рабочий ТА, а потом обнаружить, что он не ломался.
Способ 1: распределение капитала по приведённой доходности ТА
Он состоит в том, что нужно посчитать ДТА по отношению к ИД по каждому ТА и нормировать к 100% обычной пропорцией. Получу веса для каждого ТА и могу распределять капитал между ТА согласно этих весов, с дискретизацией по лотности. Но это довольно сложно, поэтому подумал об упрощённом варианте.
Он заключается в следующем: нужно создать таблицу, в которой для каждой комбинации инструмент-ТА нужно будет определить три варианта объёма входа: пониженный (-25%), нормальный и повышенный (+25%). Из полученной в предыдущем разделе доходности ТА нужно составить список и отсортировать его в убывающем порядке по размеру доходности ТА. Разделить список на три приблизительно равные группы. Верхнюю торговать с повышенным объёмом из созданной таблицы, среднюю с нормальным, а нижнюю — с пониженным.
С учётом моего подхода, описанного здесь, расчёт ДТА и ИД я буду осуществлять на основании размера окна, предшествующего началу торгов, как это описано в посте. Протестирую на днях.
Вероятно, для этого метода не подойдут ТА, доходность которых не коррелирует с ИД. Такие ТА я думаю пометить как ТА второго эшелона или вообще отправить на скамейку запасных, поскольку у меня их в принципе овердохера.
На картинках видно: доход по инструментам и доход по ТА (на первой доход отображается суммарно, на второй цвета определяют длинные ТА короткие ТА). Такие вот разбросы в доходности толкают меня в пользу упрощённого варианта, либо нужно вводить дополнительные ограничения на размер капитала на позицию, чтобы не нарушить принципы по рискам, что усложнит подход.
Способ 2: увеличение капитала при входе в позиции, вероятность прибыли по которым выше
Если ТА открывает лонг на инструменте, на котором установился длительный восходящий тренд, вероятность того, что эта сделка закроется в плюс, выше. Поэтому я протестирую эту гипотезу, а так же зеркальную, по нисходящим трендам, как само утверждение, так и результаты торгов, если его применить. По сделкам, открываемым в направлении тренда, устанавливается повышенный объём. По всем иным, в том числе, флэт — нормальный, но можно так же рассмотреть понижение объёма для контртрендовых сделок так же при установившемся тренде: если на восходящем тренде ТА открывает шорт, то установлю пониженный объём.
Способ 3: расчёт вероятности успешности позиции при открытии и коррекция размера на её основании
Несколько раз я использовал ML и DL в трейдинге. Сама по себе технология отлично справляется, если не пытаться забивать гвозди микроскопом. Моя первая итерация классифицировала точки входа для длинных и коротких сделок с точностью 85-92%. Почему я тогда не запустил это? Причин было две: сложность архитектуры и то, что я не сумел сбалансировать сеть. Но выводы, которые я сделал, говорят о том, что технология прекрасно справляется с задачами классификации и регресса. Просто не нужно заниматься ерундой и пытаться предсказать цену. НС и это сделать в теории смогла бы, но у вас просто нет формализованных данных, которые нужно ей для этого скормить, а-ля: кто что подумал, какие новости опубликовали, куда побежала толпа и мозг каждого в отдельности, какие решения приняли киты и какие у них сейчас объёмы и позиции и что они собираются делать.
В марте был заход № 2, когда я поторговал фьючерсы МосБиржи на истории. Большинство позиций оказались прибыльны и размеры этой прибыли были прекрасны с точки зрения инвестора, но не спекулянта (5-15% в месяц), и меня абсолютно не устроило метание кривой доходности вверх-вниз по каждому инструменту. Это было полезное упражнение с целью освежить знания по нейронным сетям. Думаю, тут всё может быть успешно, если добавить фильтры. Но, если добавлять фильтры, зачем городить огород с нейросетью? Выгоды счёл сомнительными, убрал пока эту поделку на полку.
В данном случае я хочу протестировать не торговлю по командам нейросети, а рассчитать с её помощью вероятность успешности сделки для конкретного ТА. На вход уйдут векторы о наличии или отсутствии тренда, о совершенных ранее в таких же обстоятельствах сделках и их результатах, и самих этих обстоятельствах, в привязке к инструменту и ТА. На выходе будет один нейрон, который будет выдавать значение 0..1, которое будет являться вероятностью успешности сделки. Эта информация будет использоваться только для определения размера входа. Нейросеть — простой регресс, 4-5 слоёв, до 500-700 нейронов в слое, со слоями нормализации и защиты от переобучения, линейная.
Поскольку все мои ТА — описательные и представляют из себя набор флагов, определяющих использование тех или иных сигналов различных индикаторов, то это нативная информация и заранее подготовленное удобоваримое блюдо для сети, которое тоже можно ей скормить. Для меня это важно потому, что, хотя я регулярно ротирую алгоритмы, внутри они состоят из одних и тех же кирпичей, просто в одних включены одни, а в других — другие. Поэтому подавать сети на вход номер алгоритма бессмысленно, а вот его описание может оказаться куда как полезнее. Если кто-то захочет протестировать на своих, этот вход опциональный.
В чём принципиальная разница? Во-первых, в том, что точки входа и выхода не будут определяться нейронной сетью. Во-вторых, на вход добавляется информация об успешности/неуспешности сделки конкретным ТА в конкретных условиях. Будем посмотреть на то, что получится. Это не то, чтобы сложная, но трудоёмкая работа, поэтому не в ближайших планах.
Заключение
Хочу отметить, что во всё, вышеописанное, можно добавить нелинейность — например, только увеличивать долю капитала на позицию, или только уменьшать. Кроме того, можно изначально внести дисбаланс в размеры позиций по ТА с использованием таблицы, упомянутой выше, таким образом создав изначально дисбаланс, и в дальнейшем организуя работу системы в рамках него. Наверняка можно выделить критерии и разбить ТА на группы по доходности и по надёжности. Можно отключить управление капиталом для ТА вторых эшелонов, используя для них всегда нормальный объём входа.
Я намеренно не рассматривал тут вопросы наращивания или сокращения позиций в ходе сделки, поскольку придерживаюсь своего подхода, суть которого в том, что в вышеописанном кейсе у меня 24 ТА на инструмент, половина которых — лонг, половина — шорт. Постоянно открыты часть одних и часть других и суммарная позиция по инструменту может оказаться любой. Можно сказать, что я наращиваю или уменьшаю позицию по инструменту в целом вот таким оригинальным способом.
Ну а как управляете капиталом вы?
Консервативно. Недавно первый раз потерял всю позицию полностью (акции SBNY — банкротство) — это составило 0,8% от капитала.
она подчиняется каким то иным законам, типа тем что позволяют хорошему жонглеру одновременно жонглировать большим количеством жанглируемых предметов
при этом он жонглер еще меняет позу гад и все у него получается
это как когда забиваешь гвоздь и нечаянно подумаешь как это мозгу удается так ловко управлять рукой что все получается и точно в этот миг получаешь по пальцам и истина вырывается наружу
вот этот закон мною проверен всего три раза и каждый раз срабатывало
поэтому стараюсь не думать, что трудней чем думать, но опыт заставляет — научился
на бирже примерно так же и то же
хотя у каждого свой метод и всем удачи
В любом случае тема очень специфична и явно не предназначена для широкой аудитории СЛ.
Денис С, ничем от акций, которые Вы торгуете, не отличается. Что непонятно?
Кароче, если примитивно и кратко имхо проблематика не в том как распихать, а в том как заранее определить куда, но это уже другая история.
PS ICWiener, насколько я помню с идеей динамического распределения капитала ещё в своём дискорде спрашивал, все что-то пофантазировали и разошлись по углам, т.к. у всех всё слишком разное. Так что ваш путь (который я не осилил) наверное волне себе путь, этож не грааль какой. А вообще согласен с Дмитрием )
Я торгую акциями на часах и днях руками. Но любопытно стало на минутке.
Посмотрел сегодня минутный график BTCUSD с 7 утра.
Увидел пока всего 3 покупки в 7, 12, 15 часов и 3 продажи или шорт после этих покупок?
На минутах это же мало сделок. Прав ли я?
Посмотрел на днях. Коррекция с 30 на 27.
Сколько денег можно заработать на этих 3 сделках в день без шорта?
Уточню. 4 битка (на 100к) по 110 пунктов это 440 в день. Норм или мало.
В итоге на 100к в день получаем 400 (это мало), на миллион 4000 на 3 сделках в день.
Да еще добавляем шорт.
Помните «Вы все еще кипятите? Тогда мы идем к вам»!
Спасибо.
напишу ниже
вообще метод келли — считается — наиболее интересный для прироста капиталла с точки зрения математики и позволяет наращивать прибыль
вопрос весь в том, какой у вас максимальный дродаун — количество убыточных сделок подряд?
и сколько просадки депозита можете выдержать без изменене стратегии
как это будет ясно — так можно и с управлением капиталлом определиться, чтобы понять, какой стоп использовать оптимально
P.s. При плохом управление капиталлом, даже хорошая хорошая стратегия сливает влет
ну и конечно — важно понимать — где у вас в стратегии черный лебедь закопан
Ответы на ваши вопросы будут такие:
1. Просадку не считал. График можете посмотреть по ссылкам в посте на предыдущие посты.
2. Просадки компенсируются параллельно работающими алгоритмами. Стратегия, по сути, меняется постоянно. Тоже по ссылкам в посте можете прочитать. А как иначе заработать 50-70% в неделю? Рынок же тоже живой и меняется.
Стопы в классическом смысле работают отвратительно, потому что реагируют на шумы. Открывайте встречные позиции по другим ТА и всё будет на порядки лучше.
вы могли бы быть сильным скальпером.
Я не пытаюсь описать формулами, я хочу сказать, что вы имеете все равно свой винрейт. даже если торгуете интуитивно.
на крипте столько можно взять) 50%-70%
если иметь конкурентные преимущества
про встречные позиции я подумаю) — может так и сделаю, как хедж)
У них там такое:
так что мои 50-70% кошкины слёзы.
Но мне достаточно. Тем более, я торгую 200+ позиций, а они туда вылетели, потому что удачно в один инструмент всем капиталом вошли. С дикими плечами.
Понимаете? Я хочу стабильности, а там к резким ощущениям люди предрасположены.
200 поз торговать — скажу честно. Это надо много сил, я стараюсь 3 позы для концентрации) больше идет распыление) не уследить) пока 7
Вопрос о стабильности — это надо знать ответы выше. Вы видимо часто берете большие риски и сильные просадки получаются
По этим лудоманам — не чему там радоваться.
Вот пример.
Видите, что с ним происходит? Сейчас гигантская доходность, но 134 тыщи просрал, и какая суммарная доходность? И он не покрыл свой убыток. У меня хоть медленно, но постепенно и стабильно, и, потом, сложный процент. Я не запустился, эмулирую, да, мне сложно вот так просто довериться своим исследованиям трёхлетней давности, но, знаете… русские долго запрягают и быстро едут. Если доходность подтверждается, мне за 4 месяца превратить 1000 в млн какие проблемы? Не я же торгую, а мой код. Но я хочу быть железно уверен, что всё так и будет. И дело не в том, что 1000 для меня как три копейки. Просто мне нужно и важно портировать это решение на другие биржи. Мне важно сделать агента, который будет работать в автономе от меня, пока я на яхте неделями плаваю в океане без связи. Вот цель.
Ну раз вы алгоритмист, то торговать столько алгоритмов это норм и вылавливать неэффективности.
Ну за алгоритмами надо следить, на яхте врятли, условия рынка меняются.
Так и у вас все в норме, вы просто хотите быстрее. Но там так не получается дальше с прежней скоростью.
Получается в основном поиск идей идёт и туда время тратится
Просто, чтобы обыграть большинство обычных как трейдеров, так и алготрейдеров, мне нужно было увеличить количество ТА.
Я не хочу следить за алгоритмами, Константин, это была моя изначальная установка моей большой работы.
И я не хочу быстрее, куда уже быстрее. Ну Вы посчитайте по сложному проценту доходность, я же, по сути, планирую реинвестировать после каждой сделки. Куда уже быстрее.
Идеи не я ищу, Вы просто предыдущие посты не читали. Код ищет. Я пока просто оркестрирую процесс, но и от этого я уйду. Я же человек. Я хочу просто жить и наслаждаться. Я не хочу торговать, я не хочу перестраивать алгоритмы, я не хочу их совершенствовать. Они сами. Я такую цель поставил себе и к ней иду, потому и долго. Первый-то мой робот на высоколиквидных акциях МосБиржи ещё в сентябре 2020 заработал. И было там что-то вроде 15 тыс чистого дохода в день на 2 млн депозита. Просто меня это не устроило. Может, стоило остановиться. Но было заточено именно на акции и именно МосБиржи. А я хочу мир обнять, так сказать
Что значит увеличить кол-во ТА?
По поводу слежения за алгоритмами, тут тогда нужно это как бизнес выстраивать и нужна команда или сотрудники. Помню о похожем Андрей К на этом форуме из Калининграда говорил.
Про реинвестирование я понял, поэтому и говорим про манименеджмент и правила Келли, чтобы даже с прибыльной системой не слиться. Точку баланса поиск и ее изменение во времени)). Есть и другие подходы к манименеджмента, тоже хорошие.
Я понял, что код ищет, ваша деятельность похожа на работу фонда медальон Джима Саймонса. Можно в книге про него почитать Возможно вы хотите, как он стать венчурным инвестором.
По поводу ваших афирмаций, наслаждаться и обнять мир, это хороший посыл, но поводу отношения к реальности, не уверен.
Возможно ваше быть как Саймонс быть.
По поводу остановиться в заработке, это вопрос целей, и что вы хотите от жизни.
По поводу обнять, это духовные и религиозные вопросы, а не трейдерское сообщество.
Вот хорошее видео, может вас к чему-то подтолкнет. youtu.be/CpLiPRyeAhs
вообще не ел ни разу ракообразных например. ни крабов ни раков ни креветок ни омаров. и улиток с устрицами тоже ни в жизнь не стану есть, разве что с голоду не дай бог ))
а серьёзно если, то вручную всё это сложно и долго, а автоматизировать я ничего не собираюсь. в основном потому что «пялиться в монитор» для меня не проблема, а удовольствие.
прочти путь черепах как они епали мозг мм…
Ну это практически у всех так. И с инструментом проблемы, и с биржей, ФРС не туда рулит и погода подкачала. Не я же, как дурак, в алгоритме накосячил, он прекрасен — сомнений нет...
После прочтения этого лонгрида, у меня возникли недоуменные вопросы:
1. ТА без разницы какой инструмент торговать?
2. Сколькими лотами оперирует один ТА на одном инструменте?
3. Как ограничивается убыток, нанесенный ТА? Кого наказывают? Конкретный ТА на конкретном инструменте или весь ТА или весь инструмент?
1. ТА без разницы, а вот будет ли прибыль — другой вопрос. Есть такие ТА, которые на 10 из 11 инструментов в + работают, а есть такие, что только на одном в +, на остальных сливают.
2. Как настрою. В кейсе выше сумма на ТА фиксирована, из неё считаются лоты для входа.
3. Конкретный ТА на конкретном инструменте.
Вот лог сделок на реальном счёте, тут если перемножать количесвто и цену входа — примерно один объём будет получаться
А кухня своя есть?
В том смысле если на инструменте 24 робота, и половина купила, половина продала и обе заплатили комиссию. Хотя могли бы продать/купить между собой и ничего не выводить на биржу.
Т.е. каждый ТА управляет своей позицией, а управления портфелем нет как такового?
Что и всегда -оптимизацию состава (у Вас фиксированный) и структуры совокупности ценных бумаг, учитывая их доходность, ликвидность и уровень риска.