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

Это связано с тем, что самой большой опасностью для квантового магазина является отказ его систем. Просчеты в системе управления рисками, отказы систем и ошибки, скрывающиеся в трудночитаемом коде. Магазины Quant похожи на Рим. Они не строятся за один день, но могут быть сожжены за один день. Итак, давайте поговорим о нескольких простых способах сделать ваши системы надежными.

Оптимизируйте все

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

|        Exchange        |    Api Call     |  Number of args |
|------------------------|-----------------|-----------------|
| Binance Spot           |  /api/v3/order  |              14 |
| Binance USD-M futures  |  /fapi/v1/order |              18 |
| Binance COIN-M futures |  /dapi/v1/order |              18 |
| FTX (spot& futs)       |  /orders        |               9 |

Таким образом, для двух бирж у вас есть четыре разных конечных точки, которым требуется от 9 до 18 единиц информации для размещения заказа. С этим сложно работать, как мы в Musca решили эту проблему, создав собственную оболочку API, которая ожидает одни и те же аргументы для каждого вызова API для каждого обмена и возвращает одну и ту же информацию в том же формате.

Уже есть некоторые решения, такие как CCXT, но их код беспорядочный, не все унифицирует и не поддерживает асинхронные запросы. Кроме того, если вы создадите собственное решение, будет проще добавить дополнительные обмены, поскольку ваша унифицированная оболочка/API адаптирована к вашим потребностям, будет проще добавлять дополнительные функции и отлаживать.

Данные не всегда ваш друг

Ваши системы помогают вам принимать решения или принимать их полностью самостоятельно на основе данных, которые они получают. Но что, если эти данные неверны, задержаны или неправильно интерпретированы? Давайте посмотрим на пример.

| Exchange  |    Market     |   Price  |
|-----------|---------------|----------|
| Binance-f |  BTCUSDT-perp |    20520 |
| FTX       |  BTC-PERP     |    20515 |
| Coinbase  |  BTCUSD       |    20514 |
| Coinbase  |  USDTUSD      |  0.99015 |

Давайте сыграем в игру: какова цена в долларах США на каждом рынке, который вы видите выше? Один из них не похож на другие, большинство людей сказали бы, что Цена указана в долларах США, но это не так. Поскольку контракт номинирован в долларах США, стоимость в долларах США будет составлять 20317,87 долларов США, а не 20520 долларов США. Многие не обратят внимания на эту неэффективность, но невероятно важно, чтобы вы принимали ее во внимание.

Вернемся к 13 мая 2022 года, отмена привязки UST к Luna заставляет людей чувствовать себя некомфортно, держа стейблкоины, что приводит к распродаже Tether (USDT) на рынке. Что это будет означать для того, кто не принимает во внимание текущие цены на стейблкоины?

  • Цены на реальном рынке были бы неверными для пар USDT
  • Ваш внутренний баланс будет неверным, поскольку вы все еще думаете, что Tether равен 1 доллару.
  • Каждая точка данных, основанная на рыночных ценах USDT, будет неверной.

Монолитная архитектура действительно может вернуть вас в каменный век.

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

На мой взгляд, микросервисная архитектура — лучшее решение для квантов. Вы можете независимо масштабировать каждый элемент без простоев, легко интегрировать новые технологии, а компоненты можно тестировать по отдельности, но, что наиболее важно, сбой одного микросервиса не влияет на другие сервисы.

Чтобы объяснить это нетехническим способом, подумайте о монолитной системе как об отдельном трейдере в торговом зале, который управляет вашим риском, совершает сделки и проводит ваш анализ. Однако, когда/если этот человек терпит неудачу, все терпит неудачу. Микросервисы — это команда людей. Один человек занимается управлением рисками, другой совершает сделки, а третий занимается анализом. Если один терпит неудачу, это не означает, что вся система дает сбой, и его можно заменить. Добавлять новых людей с другим набором навыков легко, им нужно только научиться общаться с другими членами команды.

Что, если третьи стороны потерпят неудачу?

Но переживет ли он март 2020 года? Это один из моих любимых вопросов: сможет ли моя система выжить в случае сбоя обмена?

Как бы вы поступили с:

  • Биржа, отключающая торговлю на определенном рынке, на котором у вас есть позиция
  • Ввод/вывод средств отключен
  • Замороженные блокчейны
  • Проблемы с API
  • Проблемы с пользовательским интерфейсом биржи

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

Но что, если API биржи выйдет из строя? Смогут ли ваши системы обнаружить это и предпринять необходимые действия? Как насчет отключенных депозитов? Как вы будете хеджировать свои ставки или уберечь себя от ликвидации, если вы не можете внести залог?

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

Заключить:

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

Наш сайт: https://musca.capital/

Твиттер: https://twitter.com/MuscaCapital

Свяжитесь с нами: https://musca.capital/contact