Gryphon
Gryphon личный блог
27 января 2018, 16:30

Market Maker Bot BitMEX - Граа́ль?

Market Maker Bot BitMEX - Граа́ль?


 Market Maker Bot  — открытый проект на github.com, не сильно там много движа но есть пару Pull requests и свежие обсуждения. Есть пару тем на редите по этому боту. Прикол бота в заработке спред + маленький процент и комисс на лимит ордерах. Комиссия на BitMEX -0.05%/-0.025% (Maker) платиться за лимитные сделки, а на некоторые пары как я понимаю надо чтобы цена была так же уникальной, т.е. не пристраеваешься в стакан к комуто а закрываешь дыры и этим поставляешь ликвидность. Комис за ордера по маркету или если выставляешь не уникальную цену в стакан 0.075%/0.25% (Taker), разница в 2 раза на разных парах.
 Как установить бота и запустить? Скачиваем бота с гитхаба, скачиваем и устанавливаем PYTHON, версию 2.7.14!!! На других у меня на работало, потерял пару часов. При установке ставим V в добавить PYTHON в variables, чтобы это схватило надо ребут. Делал 3 раза установку и уже руками собрался прописывать PYTHON в windows variables, но ребутнул и он оказался там! Через CMD в папке где бот запускаем python setup.py install. Это создает файл settings. Тут самое важное, около 20 настроек от которых зависит судьба вашего депозита. Я не все настройки досконально понимаю, но самое явное и интересное, то что можно трогать и менять разберем для тестов на проде с депозитом 0.1 битка :

тест — прод, тут все ясно + API ключи
BASE_URL = "https://testnet.bitmex.com/api/v1/"
BASE_URL = "https://www.bitmex.com/api/v1/"

основная пара, пока другими пока не пробывал
SYMBOL = «XBTUSD»

а вот дальше интересно, я тут дам свои настройки для тестирования на проде на депозит 0.1 битка
ORDER_PAIRS = 4 — пока хватит, значит держит открытые 8 ордеров, 4 бай и 4 сел.
ORDER_START_SIZE = 50 — каждый ордер по 50 контрактов, т.е. на 50$
ORDER_STEP_SIZE = 10 — каждый следуюший на 10 контрактов больше

Чтобы бот торговал много поставил такие значения, они для спокойного рынка и тестов, на движухе это быстрый набор позы до лимита.
Distance between successive orders, as a percentage (example: 0.005 for 0.5%)
INTERVAL = 0.0015
Minimum spread to maintain, in percent, between asks & bids
MIN_SPREAD = 0.003

Хз как это перевести и не уверен что до конца понимаю.
If True, market-maker will place orders just inside the existing spread and work the interval % outwards,
rather than starting in the middle and killing potentially profitable spreads.
MAINTAIN_SPREADS = True

вот это тоже важно, интервал между ордерами, поставил в 5 раз меньше от дефолта

This number defines far much the price of an existing order can be from a desired order before it is amended.
This is useful for avoiding unnecessary calls and maintaining your ratelimits.

Further information:
Each order is designed to be (INTERVAL*n)% away from the spread.
If the spread changes and the order has moved outside its bound defined as
abs((desired_order['price'] / order['price']) — 1) > settings.RELIST_INTERVAL)
it will be resubmitted.

0.01 == 1%
RELIST_INTERVAL = 0.002

Риск менеджмент, сколько максимум позы в сторону, для тестов поставил 400, потом конечно буду увеличивать вместе с сайзом ордера.

Position limits — set to True to activate. Values are in contracts.
If you exceed a position limit, the bot will log and stop quoting that side.
CHECK_POSITION_LIMITS = True
MIN_POSITION = -400
MAX_POSITION = 400

типо будешь забирать маркет фии точно или ордер может не закрыться, хз как это работает ParticipateDoNotInitiate
If True, will only send orders that rest in the book (ExecInst: ParticipateDoNotInitiate).
Use to guarantee a maker rebate.
However — orders that would have matched immediately will instead cancel, and you may end up with
unexpected delta. Be careful.
POST_ONLY = False

 Дальше ничего не менял, пам дефолт норм. У бота есть приколы, за ним нужено следить, иногда не понимаю почему он отключаеться и не хватает жесткого стоп лоса, типо поза ушла на -Х% от последнего ордера, закрывай по маркету и через Хмин включайся заново. А так бот работает супер, уже заработал мне пару сатошиков) Планирую запускать на серьeзные суммы после больших движений когда сам сижу за компом, а когда он без присмотра то пусть долбит на конфиге по минимому примерно как сверху. Для этого взял виртуальную тачу на винде в AWS. Работает отлично, сколько стоит пока не понятно но вроде первый год фри.

 Кому интересно и кто хочет попробывать могу помочь в пределах разумного) Буду благодарен и признателен тем кто зарегается на BitMEX по моей рефке которая дает 10% скидос на комис на пол года. Помните это не трендовый бот, большие движухи могут убить депозит. Пробуйте разные конфиги, не жадничайте и будет профит!

13 Комментариев
  • Элвис cМартлабов
    28 января 2018, 01:31
    при запуске ругается 

    AttributeError: 'module' object has no attribute 'reload'

      • Георгий Харитонов
        28 января 2018, 11:03
        Gryphon, Такая же ошибка...

        Я делал как на сайте, скачал phyton и установил.

        потом в cmd прописал pip install bitmex-market-maker
        и у меня скачался бот. Далее прописал в cmd marketmaker setup.
        В корне появилась папка и файл настроек. Фаил настроил примерно как у тебя, но для теста поменьше объем сделал. 
        Далее в командной строке для запуска пишу marketmaker XBTUSD или просто marketmaker. Пробывал на 2х системах, одно и тоже везде. Я в пайтоне не силен, что делаю не правильно?



  • tranquility
    28 января 2018, 17:40
    покажи экьюти!
  • Сергей Иванов
    31 января 2018, 19:09
    AttributeError: 'module' object has no attribute 'reload' — та же проблема
    Gryphon поделитесь конфигом пожалуйста 
  • Владислав Широбоков
    01 марта 2018, 22:28
    Ищу человека — написать бота на заказ для BitMex.
    скайп   iamvladyslav

    идея торговой стратегии у меня, работает в ручном режиме, но через АПИ будет куда лучше.
  • Adrim
    21 мая 2018, 10:41
    добрый день,
    очень заинтересовал ваш опыт настройки и использования бота на битмекс.
    Можете поделиться текущими результатами?
    Интересно было бы посотрудничать с вами :)

  • antonbell
    23 января 2019, 21:32
    подскажите кто нибудь. а имеющаяся поз в котируемом инструменте ка кто будет мешать? допустим я устнаовил лимиты +-400. а поза уже на 4000. он мне ее приведет тут же в -400? тогда стаивть надо 4400 и 3600 к примеру?

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн