В этой статье мы с Вами посмотрим на то, как можно торговать пары в Os Engine руками! Для этого у нас там есть очень удобные визуальные интерфейсы.
Делалось это всё для роботов, но в какой-то момент у нашей команды появилось несколько правил:
- Если нет визуала для тестов, скорее всего функционал будет работать не верно.
- Всё, что доступно роботу, должно быть доступно для ручного теста.
- Делай сразу хорошо.
Эти три небольших правила позволили сделать и для тех, кто торгует руками приемлемые условия для торговли. Будем разбираться!
А выглядит одна пара так:
Рис. 1. Пара для торговли в OsEngine.
Чтобы повторить все, что написано в статье, рекомендуется скачать данные при помощи OsData.
Сет на 2 – 10 бумаг. ТФ 15 минут. С МосБиржи или с Бинанс.
И запастись терпением…
Оглавление:
1) Запускаем тестер в OsEngine.
2) Выбираем робота. PairCorrelationTrader.
3) Сводная таблица пар.
4) Окно авто-выбора пар.
5) Окно общих настроек.
6) Окно пары – графики.
7) Окно пары – настройки.
8) Окно пары – торговля.
1. Запускаем тестер.
Далее. Кроме описанного ниже, придётся сначала скачать данные и потом уметь их включить в тестер, запустив эмулятор биржи. Поэтому, если ещё не умеете это делать, начинайте качать данные и изучать устройство тестера:
2. Включаем робота. PairCorrelationTrader.
В открывшемся окне тестера:
- Жмём на кнопку добавить робота.
- Выбираем бота «PairCorrelationTrader».
- Называем его как-то. Это обязательно! Это имя затем изменить будет нельзя.
- Жмём кнопку «Создать».
После этого можем увидеть новую запись в таблице с этим роботом:
Нажимаем на кнопку Chart, смотрим, что у него внутри.
3. Сводная таблица пар. Пустая.
Перед нами открывается отдельное окно управления роботом. В данном случае роботом для парного трейдинга:
- Для начала рекомендуется закрыть лишние панели. В парном арбитраже они не используются. Делается это по нажатию данных кнопок в углу окна.
- Кнопка открытия окна Автовыбора пар. Окно, которое упрощает создание длинного списка пар, если их много.
- Кнопка «Common settings» открывает окно общих настроек для пар. Данное окно упрощает и ускоряет настройку индикаторов и способов открытия позиций для пар. Т.к. в этом окне можно применить настройки сразу ко всем уже созданным парам.
- Кнопка создания пары. Создаёт пустую пару со стандартными настройками.
- Тип сортировки таблицы пар.
- No – Сортировка отключена. Пары будут отображаться в соответствии с номерами
- Side – Текущее значение отклонения относительно линий на чарте отклонений (коинтеграция). Up (отклонение выше текущей линии) будут отображаться сверху. Down (отклонение ниже текущей линии) будут отображаться во вторую очередь. No – будут отображаться внизу таблицы.
- Correlation – пары будут отображаться в соответствии с размером корреляции. Чем выше корреляция, тем выше позиция пары в таблице.
4. Добавление пар вручную.
- Кнопка, которая создаст пустую пару, которую надо будет настроить.
- Кнопки вызова настроек инструментов по паре.
- Биды по первому и второму инструменту.
- Тип сервера по инструментам.
- Текущие позиции по инструментам.
- Текущее положение отклонения между инструментами относительно линий на графике отклонений (коинтеграция).
- Текущее значение корреляции между инструментами.
- Текущее значение отклонения с графика отклонений (коинтеграция).
- Вызов окна пары.
- Кнопка удалить пару.
5. Окно автовыбора пар.
- Меню выбора торгового сервера, комиссии и таймфрейма.
- Выбор бумаг, из которых будут составляться пары. Выбираются путём нажатия галочки в правом столбце.
- Меню поиска бумаги.
- Максимальное количество пар на каждую выбранную бумагу.
- Если активно, в таблице «Final pairs» будут отображаться уже созданные пары.
- Создать список пар, которые получаются из выбранных бумаг.
- Предварительный список пар, которые можно создать в роботе.
- Кнопка, по нажатию которой создаются пары из списка выше, уже в роботе.
6. Окно общих настроек.
Пар может быть много. И у них могут быть общие настройки. Если Вам нужно поменять какие-то из них по всем парам одновременно, то открывать настройки для каждой не имеет смысла. В таком случае надо воспользоваться окном общих настроек.
Открывается по нажатию кнопки «Common settings»
- Тип объёма для бумаги 1. Виды:
- Currency – Цена контракта. В случае если контракт номинирован в рублях, то это рубли. Если в долларах, то доллары. Например BTCUSDT номинирован в USDT. И если выбрать данный тип расчёта объёмов, то в данном случае это будет означать, что мы выбрали 7мь долларов.
- Contract – Количество контрактов без преобразований.
2. Окно ввода кол-ва объёма.
3. Тип проскальзывания, который будет использован при выставлении заявки. Виды:
- Percent – проскальзывание будет рассчитано в процентах от текущей цены контракта.
- Absolute – абсолютное значение, которое введёт пользователь.
4. Окно ввода кол-ва проскальзывания.
5. Regime – режим торговли по инструменту. Виды:
- Off – торговля по ноге отключена.
- Limit – лимитная заявка. В данном случае начнёт работать проскальзывание.
- Market – маркет заявка.
- Second – позиция по данной ноге будет взята по маркету сразу после того, как по другой ноге позиция будет открыта.
6. Настройки сопровождения позиции.
7. Длина расчета Корреляции между инструментами.
8. Длина расчета графика остатков от разницы инструментов с оптимальным мультипликатором (коинтеграция).
9. Отклонение для линий на графике остатков (коинтеграция). Этот мультипликатор будет умножаться на стандартное отклонение на графике остатков. Таким образом мы получим линии выше и ниже нуля на графике остатков.
10. Кнопка применить текущие настройки ко всем парам, уже созданным в роботе.
11. Кнопка сохранить настройки. В таком случае данные настройки будут применены только к вновь создаваемым парам.
7. Окно пары – графики.
Открыть отдельное окно пары можно по нажатию на кнопку «Chart» в таблице пар:
Сначала давайте рассмотрим внутри этого окна чарты и то, что на них:
- Свечной график первого инструмента.
- Свечной график второго инструмента.
- Корреляция между инструментами в виде столбцовой диаграммы, построенная вместе с историческими значениями на глубину LookBack.
- График остатков от разницы инструментов с оптимальным мультипликатором.
8. Окно пары – настройки.
- Длина расчета Корреляции между инструментами.
- Отклонение для линий на графике остатков (коинтеграция). Этот мультипликатор будет умножаться на стандартное отклонение на графике остатков. Таким образом мы получим линии выше и ниже нуля на графике остатков.
- Длина расчета графика остатков от разницы инструментов с оптимальным мультипликатором (коинтеграция).
- Кнопка применить текущие настройки и пересчитать индикатор по текущим настройкам.
9. Окно пары – торговля.
- Вызов окна подключения бумаги 1.
- Вызов окна подключения бумаги 2.
- Тип объёма для бумаги. Виды:
- Currency – Цена контракта. В случае если контракт номинирован в рублях, то это рубли. Если в долларах, то доллары. Например BTCUSDT номинирован в USDT. И если выбрать данный тип расчёта объёмов, то в данном случае это будет означать, что мы выбрали 7мь долларов.
- Contract – Количество контрактов без преобразований.
4. Окно ввода кол-ва объёма.
5. Тип проскальзывания, который будет использован при выставлении заявки. Виды:
- Percent – проскальзывание будет рассчитано в процентах от текущей цены контракта.
- Absolute – абсолютное значение, которое введёт пользователь.
6. Окно ввода кол-ва проскальзывания.
7. Regime – режим торговли по инструменту. Виды:
- Off – торговля по ноге отключена.
- Limit – лимитная заявка. В данном случае начнёт работать проскальзывание.
- Market – маркет заявка.
- Second – позиция по данной ноге будет взята по маркету сразу после того, как по другой ноге позиция будет открыта.
8. Текущая позиция по бумаге.
9. Купить инструмент 1 и продать инструмент 2.
10. Продать инструмент 1 и купить инструмент 2.
11. Закрыть все позиции.
12. Открыть журнал пары.
10. Заключение.
Это определённо сложно и мало понятно с первого раза. Однако, по крайней мере программировать Вам не придётся. Если охота торговать парный трейдинг руками, имея при этом рассчитанную корреляцию и график минимальных остатков (Cointegration).
О самих роботах для парного трейдинга будем разговаривать уже совсем скоро. Но все они работают через вот эти интерфейсы, описанные в статье.
OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support
Комментарии открыты только для друзей, добавляйтесь.