Market Maker Bot BitMEX - Граа́ль?
Это пост о Market Maker Bot BitMEX для всех гиков криптопатриотов трэйдунов и специально для комрадов @yefet , @vladimir.antonov , @vako, @zagitov и @d-stepnoy которые заинтересовались предыдущим постом и в теме . 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% скидос на комис на пол года. Помните это не трендовый бот, большие движухи могут убить депозит. Пробуйте разные конфиги, не жадничайте и будет профит!