
Полная версия
Код Трейдера. Система под контролем: масштаб, капитал, рост трейдера и бизнеса
Личный опыт
Я однажды потерял месяц работы просто потому, что смешал forward и боевую торговлю. Хотел протестировать одну логику «на маленьком объёме», но сделал это прямо в боевом счёте. Казалось: ну что там, 2–3 сделки, мелкие лоты. В итоге стратегия повела себя непредсказуемо, словила серию стопов и испортила статистику по основным стратегиям. Когда инвесторы спросили: «А что это за дыра в середине кривой?», мне пришлось краснеть и оправдываться. С тех пор я зарёкся: никаких экспериментов в боевом. Никогда.
Чек-лист разделения счётов
– Есть ли у вас отдельный боевой счёт, где работают только проверенные стратегии?
– Вынесены ли эксперименты в отдельный forward-аккаунт с ограниченным бюджетом?
– Капитал инвесторов хранится и работает отдельно от вашего?
– Есть ли резервный счёт под операционные расходы?
Разделили счета – молодцы. Но теперь начинается следующий уровень: как всё это хозяйство контролировать так, чтобы оно не развалилось от одной банальной ошибки или технического сбоя. Потому что одно дело – торговать с ноутбука «для себя», и совсем другое – когда у тебя несколько аккаунтов, партнёрские деньги и автоматические стратегии. Тут уже операционные риски выходят на первый план.
Операционные риски – это не про «рынок пошёл не туда». Это про то, что вы сами можете облажаться, или техника подведёт, или человек с доступом к счёту случайно нажмёт не ту кнопку. И таких историй я насмотрелся столько, что могу смело сказать: чаще всего трейдера убивает не рынок, а его же собственная операционная небрежность.
Доступы: кто и куда имеет ключи
Первый вопрос – доступы. У вас может быть десять аккаунтов, но если все ключи и пароли хранятся в одной папке на рабочем столе – это не система, это рулетка.
Как я делаю:
– Доступы к боевым счетам у меня только на одном основном устройстве. Никаких «на всякий случай сохраню пароль в телефоне».
– Для инвесторских счетов всегда выделяю отдельный уровень безопасности: двухфакторка, отдельный токен, отдельный VPN.
– Пароли хранятся в менеджере паролей, а не в Excel’е под названием «Пароли_2021».
И самое важное: минимизировать людей, у которых есть доступ. Чем меньше рук могут дотронуться до кнопки «Buy 100 contracts», тем спокойнее вы спите.
Бэкапы: готов ли ты потерять ноутбук?
Люблю задавать вопрос коллегам: «Что будет, если завтра твой ноутбук сгорит вместе с жёстким диском?» Ответы в стиле «ну у меня где-то копия была» – это уже поражение.
Правило простое: всё, что критично для торговли, должно быть задублировано.
– Конфиги стратегий – в облаке.
– Логи сделок – в отдельном репозитории.
– Скрипты для запуска – в резервной папке на другом устройстве.
– Аккаунты у брокеров – с доступом хотя бы с двух разных машин.
Я, например, держу второй «боевой» ноутбук, на который можно пересесть за 15 минут. Да, это расходы, но они окупаются ровно в тот момент, когда первый ноутбук решает внезапно умереть.
Регламент ошибок и сбоев
Самое глупое, что можно сделать – надеяться, что ошибок не будет. Ошибки будут. Всегда. Вопрос только в том, насколько они будут дорогими.
Поэтому нужен регламент. Не для красоты, а чтобы мозг в стрессовой ситуации не начинал метаться, а просто выполнял чек-лист.
У меня, например, прописано:
– Если исполнение ордера зависло – сначала проверяю через терминал брокера, потом через мобильное приложение, потом звонок в dealing.
– Если стратегия начала открывать «левые» сделки – мгновенно выключаю алгоритм, фиксирую скриншоты, пишу заметку в журнал. Потом уже разбираюсь.
– Если сервер лёг – переключаюсь на резервный VPS, все пароли и конфиги под рукой.
И вот поверьте, когда такая ситуация случается в реальности, мозг обычно в панике. Но если есть регламент – это как страховка: просто идёшь по шагам, и всё.
Человеческий фактор
Не стоит недооценивать и человеческий фактор. Вы можете быть супердисциплинированным, но если у вас есть помощники, коллеги или программисты с доступом к системе – значит, риск удваивается.
Я всегда делаю разграничение прав. Одно дело – дать программисту доступ к коду. Совсем другое – дать ему ключ к счёту с реальными деньгами. Это как доверить человеку не только гаечный ключ, но и ключ от сейфа.
Поэтому правило: минимальные права под задачу. Никогда не давайте полный доступ, если человек может работать ограниченным.
Истории из практики
Был у меня знакомый, который держал пароли от брокера в обычном блокноте на рабочем столе. Однажды его сын случайно зашёл на ноутбук, открыл терминал и ради интереса нажал пару кнопок. К счастью, это был демо-счёт. Но если бы это был реальный – история закончилась бы очень печально.
Другой случай – программист оставил тестовый скрипт включённым на боевом VPS. Скрипт ночью начал открывать сделки в цикле и за несколько часов спалил половину счёта. Это не рынок виноват, а чисто операционная дыра.
Минимальные стандарты безопасности
– У каждого счёта должен быть отдельный пароль.
– Двухфакторка включена везде, где это возможно.
– Пароли – только в менеджере паролей, никакого Excel’а.
– Бэкапы на облаке и на физическом носителе.
– Резервное устройство для выхода в систему.
– Регламент действий при сбоях – прописан и проверен.
Чек-лист на тему операционных рисков
– Где хранятся твои пароли?
– Есть ли у тебя доступ к счётам с другого устройства?
– Что ты будешь делать, если VPS упадёт в середине торговой сессии?
– Кто ещё, кроме тебя, имеет доступ к деньгам?
– Есть ли документ с прописанными действиями на случай ошибки или сбоя?
Если хотя бы на один вопрос ответ «не знаю» или «да как-нибудь разберусь» – значит, риск уже заложен в систему. А рынок ошибок не прощает. И самое обидное, когда теряешь деньги не из-за просадки, а из-за того, что забыл включить двухфакторку или сделать резервную копию
Разделение счетов и контроль доступа – это первый слой защиты. Но как только у вас в системе появляется больше двух–трёх аккаунтов, вы внезапно обнаруживаете, что тонете не в рынке, а в рутине. Проверить, все ли VPS запущены, зафиксировать сделки, внести заметки в журнал, сверить отчёт брокера, проконтролировать лимиты по каждой стратегии, глянуть, не отвалился ли сервер, ответить на алерты… Список тянется бесконечно. И если всё это делать руками, времени на сам трейдинг не остаётся. Более того, вы сами начинаете становиться слабым звеном: усталость, забывчивость, рассеянность – и всё, ошибка стоит вам денег.
Поэтому ключ к выживанию в мультиаккаунтах – автоматизация рутин. Я не говорю о том, чтобы полностью отдать торговлю роботам. Нет. Я говорю про автоматизацию именно механических задач, которые повторяются каждый день и отнимают ресурс. Это та «грязная» работа, которую нужно поручить машинам, чтобы ваш мозг занимался тем, для чего он создан – анализом и принятием решений.
Алерты: фильтруем шум и ловим только важное
Начнём с алертов. Это первая линия обороны, которая позволяет не сидеть круглосуточно перед экраном. Но проблема большинства трейдеров в том, что они перегружают себя сигналами. Терминал пикает на каждом тике, Telegram шлёт сообщения о каждом движении цены, а в почту валятся отчёты по каждому ордеру. Итог – вы перестаёте реагировать вообще. Это как жить рядом с железной дорогой: вначале вздрагиваешь от каждого поезда, а через месяц спишь под грохот так, будто его нет.
Правильная логика простая: алерты должны быть редкими, чёткими и критичными. Условно говоря, лучше получать два-три сигнала в день, но таких, на которые реально надо реагировать. Например:
– Стратегия превысила дневной лимит риска.
– VPS не отвечает больше пяти минут.
– Просадка по счёту превысила установленный порог.
– Сработал аварийный стоп на инвесторском аккаунте.
Всё. Больше ничего в личные уведомления не идёт. Все второстепенные события логируются в базу или в журнал и разбираются потом, в спокойное время.
Я настроил себе так: все критические сигналы приходят в Telegram, причём отдельным ботом с уникальным звуком уведомления. То есть я сразу знаю: «Это не чат, не ерунда, это именно торговая система зовёт». Такой звук невозможно перепутать. И знаете что? Я перестал чувствовать себя рабом терминала.
Журналы: память системы вместо памяти головы
Следующий уровень – журналы. Если вы думаете, что сможете годами вручную вести журнал сделок, вы обманываете себя. Неделю – да, месяц – кое-как, потом усталость победит. А ведь журнал – это основа анализа. Без него вы живёте в иллюзиях. Мозг устроен так, что неприятные вещи он забывает, а приятные преувеличивает. «Да вроде неплохо торгую, система работает». А потом открываешь реальную статистику и понимаешь, что половина сделок была в минус.
Автоматизация журналов решает проблему раз и навсегда. Сделка совершилась – скрипт выгрузил её в таблицу, добавил дату, инструмент, результат в R, проскальзывание, комиссию. Ещё один скрипт сразу считает статистику: winrate, среднее R, кумулятивную кривую. И ты вечером открываешь не пустой лист, куда надо переписывать ордера, а готовый отчёт.
Более того, я добавил функцию «заметки». После сделки система спрашивает: «Комментарий?» – и я голосом или парой слов пишу: «не по плану», «идеальный вход», «ошибка дисциплины». Это потом золото. Потому что через месяц, анализируя статистику, я вижу не только цифры, но и контекст. А контекст – это то, что превращает сухие данные в живой опыт.
Чек-листы: привычки превращаются в процедуры
Третья вещь – чек-листы. И это, пожалуй, самая недооценённая штука. Все мы думаем: «Я и так всё знаю, зачем мне список?». Но правда в том, что в стрессовой ситуации мозг перестаёт работать логически. Включается режим паники, и вы делаете глупости. Чек-лист в этот момент – это костыль, который держит вас на ногах.
У меня есть утренний чек-лист:
– Проверить доступность всех серверов.
– Проверить подключение к брокеру.
– Проверить лимиты по каждому счёту.
– Проверить, что все стратегии запущены в нужном режиме.
– Проверить выгрузку отчётов за вчера.
Есть вечерний чек-лист:
– Сверка журналов со сделками брокера.
– Проверка статистики по просадке.
– Архивация логов.
– Проверка обновлений и бэкапов.
И есть аварийный чек-лист, распечатанный и лежащий рядом с рабочим столом. Там написано: «Если что-то пошло совсем не туда – сделай это, это и это». Почему бумажный? Потому что если у вас легла система и вы в панике, открывать электронный документ – уже проблема. А бумага лежит под рукой.
Автоматизация мелочей, которые крадут время
Есть ещё куча мелких вещей, которые кажутся незначительными, но именно они забирают часы.
– Ежедневная выгрузка отчётов от брокера в облако. Зачем вручную? Пусть скрипт делает это в два часа ночи.
– Сверка реальных сделок с плановыми. Если стратегия должна была открыть сделку, а не открыла – алерт. Если открыла лишнюю – тоже алерт.
– Подсчёт комиссий и спредов. Многие удивляются, сколько на самом деле стоит им торговля, пока не автоматизируют подсчёт издержек.
– Архивация логов. Если логов нет, вы никогда не докажете, что ошибка была на стороне брокера или сервера.
Каждая такая мелочь вроде бы занимает минуту. Но когда у вас десятки операций в день и несколько аккаунтов – это выливается в часы.
Гигиена мультиаккаунтов
И чтобы вся эта автоматизация не превратилась в новый хаос, я составил для себя чек-лист гигиены мультиаккаунтов. Это как мыть руки перед едой: вроде банально, но спасает от болезней.
– У каждого аккаунта своя роль: боевой, экспериментальный, инвесторский, резервный.
– У каждого аккаунта есть лимиты риска и прописанный бюджет.
– Все действия логируются автоматически, журнал ведётся без участия человека.
– Доступы разграничены: минимум людей, двухфакторка включена везде.
– Ежедневные и еженедельные проверки идут по чек-листу, а не «на глаз».
– Все файлы и отчёты автоматически бэкапятся в облако и на локальный носитель.
– Есть аварийный протокол: как закрыть все позиции одним нажатием.
Истории из практики
Я когда-то вел журналы вручную. Каждый вечер тратил по часу на переписывание сделок. Через три месяца я понял, что это ад. Усталость копилась, ошибки множились, иногда я забывал внести сделки, иногда путал объёмы. Когда сделал автоматическую выгрузку, моё отношение к журналу изменилось. Теперь я трачу не час, а пять минут. И при этом точность данных выше.
С алертами была похожая история. Когда-то у меня терминал пищал при каждом изменении цены. Итог: я перестал на это реагировать. Сейчас у меня всего два ключевых алерта: если просадка превысила 5R и если сервер перестал отвечать. Эти два сигнала я слышу даже ночью. И знаете что? Они спасли меня уже пару раз от катастроф.
Практический чек-лист автоматизации
– Есть ли у вас система алертов, и не перегружена ли она шумом?
– Ведётся ли журнал автоматически, а не «по настроению»?
– Есть ли у вас утренний, вечерний и аварийный чек-лист?
– Автоматизированы ли рутинные процессы: отчёты, бэкапы, сверки?
– Существует ли у вас единый регламент «гигиены мультиаккаунтов»?
Если хотя бы на один вопрос ответ «нет» – значит, ваша система пока держится не на железе, а на силе воли. А сила воли – ресурс ограниченный. Настоящий трейдер должен убирать слабые места из процесса, а не надеяться, что «я просто буду внимательнее».
Автоматизация – это не роскошь. Это фундамент. Потому что трейдинг – это не соревнование «кто дольше сидит у экрана», а игра в эффективность. И выигрывает тот, у кого система построена так, что рутина работает сама, а мозг остаётся свободным для главного – думать.
Диверсификация без самообмана
Слово «диверсификация» звучит приятно для уха инвестора и опасно успокаивающе для трейдера. Очень легко сказать себе: «у меня десять стратегий на пяти рынках – значит, всё ок», и так же легко получить общую просадку ровно в тот момент, когда «всё ок» превращается в «всё красное». Чтобы этого не случилось, надо чётко понимать: диверсифицируем мы не названия, а источники риска. И делаем это по осям, а не «на глаз».
Я держу в голове четыре основных оси: рынок, тайм-фрейм, логика входа/выхода, исполнение. Иногда добавляю пятую – режим ликвидности/сессии, но её можно считать расширением первой и четвертой. Пройдёмся по ним подробно и без иллюзий.
Ось 1. Рынок (инструменты, классы активов, регионы, сессии)
Диверсификация по рынкам – не про «у меня и золото, и евро». Это про разные источники драйверов. Рубрики простые:
Классы активов. Акции/индексы, сырьё, валюты, облигации/ставки, кроссы волатильности (опционы), крипто. Чем дальше по фундаментальным драйверам – тем выше шанс независимости. Например, тренд на зерновых и тренд на ставках – это не одно и то же; а вот S&P и Nasdaq – часто один и тот же риск-фактор «risk-on».
Регионы и часы. Азия, Европа, США. Даже внутри одного класса активов смена сессии – это смена микро-структуры: ликвидность, поведение маркет-мейкеров, «ритуалы» открытия и закрытия. Открытие США и тонкая ночь по CME – две разные планеты. Если ваша логика одинаково тонет в обоих режимах, то никакой диверсификации по «тикерам» у вас нет.
Ликвидность. Сырьё с широким спредом и редкими «разворотными шипами» против высоколиквидных индексов с плотным стаканом – это разные риски исполнения. Хорошее правило: если тот же объём в одном инструменте исполняется с удвоенным impact-cost, это другой «рынок» для вашей системы.
Проверка на взрослость: возьмите дневную PnL-серию по каждой стратегии и постройте корреляции по датам, а не по сделкам. Если «разные рынки» двигаются вместе в стресс-дни, значит, это один источник риска, замаскированный под разные тикеры.
Ось 2. Тайм-фрейм (горизонт удержания и частота решений)
Многие думают, что «разные тайм-фреймы» – это M5 против H1. Нет. Для меня тайм-фрейм – это тип цикла, в котором живёт логика: внутридневной (интрадей), краткосрок (1–5 дней), среднесрок (недели), позиционка (месяцы+). У каждого – свои «биоритмы», свои источники дохода и ошибки.
– Интрадей живёт на микроструктуре: открытие, лента, реакция на тикетные новости, локальные перекосы ликвидности. Плюс – быстрое обновление статистики; минус – высокая чувствительность к комиссиям/проскальзыванию.
– Краткосрок – пространство, где «события» перевариваются рынком: отчёты, заседания, макро-релизы. Здесь важно уметь пережидать «пустые» дни, не превращая систему в скальпинг от скуки.
– Среднесрок/позиционка – царство трендов и медленного сдвига ожиданий. Ваши ошибки тут стоят дороже, но и сигналов меньше. Нужна железная дисциплина по стопам и ребалансировке.
Реальная диверсификация по тайм-фрейму – это когда методы принятия решения и временные риски не совпадают. Если у вас «псевдо-интрадей», который по факту держит позицию два дня, а ещё «краткосрок», который держит те же два дня… ну вы поняли.
Ось 3. Логика входа/выхода (семейства идей)
Эта ось – самая важная и самая часто недооценённая. Разные названия не делают логику другой. Семейств немного:
– Тренд/продолжение движения. Donchian, MA-кроссы, пробои каналов, breakout после консолидации. Сила – длинный «хвост» прибыли; слабость – длительные боковики.
– Контртренд/ре-версия к среднему. Отбой от диапазона, возврат к VWAP, fade импульса. Сила – частота и быстрые фиксы; слабость – «подхват ножа» на реальных трендах.
– Арбитраж/рыночно-нейтральные связки. Спреды, парный трейдинг, календарки, кросс-ассетные модели. Сила – низкая бета к рынку; слабость – capacity и микро-риски исполнения.
– Эвент-драйвен/новости. Отчётности, макро-календарь, ребалансировки индексов. Сила – концентрированный edge; слабость – «тёмная сторона» проскальзываний и гэпов.
– Волатильностные логики. Торговля сжатием/расширением (NR7, squeeze), конструкции с опционами, carry волы. Сила – иной измеритель «фазы» рынка; слабость – сложность учёта execution-cost.
Разнообразие по этой оси – это другие источники alpha. Если у вас три «разных» тренда на разных настройках – это один и тот же зверь, просто с разным ошейником.
Выходы – половина логики. Одно и то же правило входа с разными выходами (волатильный трейлинг против time-stop) может дать почти независимые PnL-профили. Но «разные стопы на том же шаблоне» – это не новая стратегия, если реакция на стресс-дни остаётся общей.
Ось 4. Исполнение (как именно вы превращаете сигнал в сделку)
Исполнение – забытая ось диверсификации. Две одинаковые идеи могут вести себя абсолютно по-разному из-за разных механик исполнения:
– Тип ордеров. Рыночные/лимитные/айсберги. Агрессивный вход «берёт» движение, но платит impact; пассивный берёт ребейты/лучший спред, но проскакивает часть сигналов – в итоге другой дистрибутив результатов.
– Схема набора/сброса. Одна пуля vs поэтапный набор; симметричное/асимметричное масштабирование.
– Алгоритмы. VWAP/TWAP/POV – разные пути к среднему исполнению, разные риски «быть наказанным» во время резкого импульса.
– Окна ликвидности. Торгуете ли вы только в основные часы или допускаете ночную торговлю? Один и тот же сигнал, исполненный ночью, – иной риск.
Если вы когда-то «убили» хорошую идею отдельной плохой реализацией, вы понимаете. Меняя исполнение, можно ортогонализировать поведение той же логики.
Как собирать всё это вместе: карта диверсификации
Я веду простую таблицу, где по строкам – стратегии, по столбцам – оси. В каждой клетке – «чем эта стратегия отличается от соседней». Если я вижу, что отличия только в названии инструмента и параметрах индикатора, – бью тревогу. Различия должны быть по минимум двум осям, лучше – трём.
Пример вопросов к себе:
– Если отключить названия тикеров, отличу ли я стратегии по поведению в стресс-дни?
– Если замедлить ленту/урезать ликвидность вдвое, какие идеи выживут?
– Если убрать из отчётов доллары и оставить только R, где у меня по-настоящему другая динамика?
– Какие стратегии «горят» от новостных гэпов, а какие переживают их без дрожи в руках?
Если ответы расплывчаты – диверсификация бумажная.
Типичные ловушки «мнимой разности»
– Разные рынки, один фактор. Нефть + канадский доллар + акции energy – три тикера, один риск «нефтяной цикл».
– Разные тайм-фреймы, общая реакция. M15 и H1 с одинаковой логикой контртренда против сильного тренда – обе погибают одновременно, просто с разной скоростью.
– Разные входы, общий выход. Взяли разные триггеры, но всё равно «выходим по развороту на среднюю». В стресс-дни это один и тот же слив.
– Разные брокеры/площадки, общая микро-структура. Два крипто-экспонента на разных биржах – это не независимость, если ликвидность питается тем же потоком новостей/потоков ордеров.
И последнее. Диверсификация – это не «сделать поменьше просадку», это собрать мотор, который не клинит в одном и том же месте. Когда следующий «чёрный четверг» прилетит, вам будет всё равно, как называлась стратегия – важно, чтобы она падала не вместе с остальными и не по той же причине.
Если часть 1 – это теория осей, то здесь – чистая практика. Задача простая: разоблачить «маскарад», где идеи с разными шильдиками на деле рисуют один и тот же риск-профиль. Я не раз проходил через это сам: думаешь, что собрал «зоопарк», а это оказалось стадо, которое бежит туда же и туда же падает. Как выявлять? Ниже – набор инструментов, который работает в реальных условиях, а не только в учебнике.
1) Классическая корреляция PnL-серий (но с нюансами)
Берём дневные (или бар-к-бару для интрадей) PnL-ряды стратегий и считаем корреляции. Важно: ровняем по датам, заполняем отсутствующие значения нулями (нет сделки – нет PnL). Смотрим не на «в целом», а на роллинг-окна: 60/120/250 баров. Псевдодиверсификация часто прячется в среднем, но всплывает в стресс-окнах – когда всё внезапно становится «красным». Если rolling-corr улетает в 0.7+ в просадках – ставлю галочку «одна семья».
Флажки:
– corr > 0.7 стабильно → один риск или общая логика.
– 0.3–0.7 → частичное перекрытие; копаем дальше.
– < 0.2 и устойчиво → похоже на независимость, но не расслабляемся.
2) «Оверлап» просадок и синхронность экстремумов
Корреляция – линейная мера. А рынки любят нелинейности. Я считаю коэффициент совпадения просадок: доля дней, когда обе стратегии находятся глубже, чем их 80-й перцентиль текущей DD. Если «провалы» совпадают чаще, чем 50–60% времени, это не случайность. Плюс смотрю синхронность минимумов: совпадение дат локальных low-water marks – отличный индикатор общих болячек.
3) Анализ перекрытия позиций и экспозиций (cosine similarity)
Строю по дням вектор экспозиции: длинные/короткие веса по рынкам, нормированные в R. Считаю косинусное сходство между векторами стратегий. Если cosine → 1 в стресс-дни, стратегии тащат одни и те же плечи. Даже если «входы разные». Особенно полезно для мульти-рыночных систем: позиции разные, риск один.
4) Факторный «рентген»: бета к собственным факторам