В предыдущих статьях я постарался описать что такое парный трейдинг, и частный случай этого — торговля корзиной валют (basket trading). А сейчас, я хочу предоставить Вашему вниманию техническое задание на торгового робота по этой теме, и если оно будет интересно, то сделаем пул на робота для парного трейдинга.
Техническое задание на робота по парному трейдингу
Суть задания — создать робота, который обеспечивает торговлю корзины валют, по индексному типу. Т.е., с одной стороны у нас есть какой-то индекс, и с другой стороны, как противовес — корзина валют.
Как валютная пара индекса, так и состав корзины валют должны быть настраиваемыми. Кроме указания валютных пар, оператор бота может указывать разные вес каждой валюты в корзине, путем указания объема каждой конкретной пары.
Из настраиваемых параметров для торговли указывается расхождение для проведения сделки (вход в сделку с корзиной валют), прибыль (при получении указанной прибыли бот закрывает позиции), а также расхождения для дополнительных сделок, и их максимальное количество.
Как биржу для работы я вижу только Bitmex ввиду его преимуществ:
- самые большие торговые объемы (порядка 1,5 млрд. долларов в сутки и более);
- настоящий режим «кросс» — т.е. для все пар используется один гарантийный депозит. В этом случае, если мы входим в парную позицию, то у нас есть настоящий хедж, что дает возможность торговать с хорошим плечом (не страшна волатильность);
- высокие торговые плечи от 1 к 20 до 1 к 100;
Но на этой бирже есть и большой минус — это отказ принимать ордера во время повышенной волатильности. Но с этим можно бороться, для этого надо сделать фильтр волатильности, и если она высока, то бот просто ожидает, и начинает работать только когда волатильность успокаивается. Этим алгоритмом мы во-первых, страхуемся от «капризов» биржи, а второе — защищаем себя от плохого исполнения во-время повышенной волатильности («буря в стакане»). Также, для битмекса будет сделан жесткий контроль рейтлимита.
Для входа я рекомендую пользоваться лимитными ордерами по лучшей цене в стакане (спредовый алгоритм) — это обеспечивает возможность войти в сделку по лучшей цене, и дополнительно получить прибыль как маркетмейкер (Битмекс платит за это хороший рибейт).
Таким-же образом будет осуществляться докупка и выход из позиции — чтобы обеспечить плавность и небольшую дополнительную прибыль за счет спреда и рибейта.
Другие особенности торгового робота для парного трейдинга:
- возможность работать как в режиме торговли, так и в режиме расчетов, с сохранением текущей информации для возможных расчетов (котировки и расхождения);
- графическое изображение текущего спреда;
- вывод котировок используемых инструментов в режиме реального времени (через WebSockets);
- вывод текущей информации о состоянии бота — текущий спред, купленные и проданные позиции, текущая прибыль/убыток (не реализованная), качество соединения с биржей, текущее состояние волатильности на бирже;
- ведение логирования важных действий;
- контроль за всем фазами торговли и расчетов;
- адаптация под торговлю как на локальном компьютере, так и на удаленном сервере.
Если у Вас есть интересные мысли по поводу дополнений или изменений к техническому заданию, дайте мне знать (контакты здесь). И не забывайте подписаться на канал по торговым роботам и стратегиям — вся оперативная связь там.
P.S. Если у Вас есть интерес к созданию пула, напишите мне, чтобы я мог ориентироваться, делать пул, или организовать в виде индивидуального заказа.