Блог им. gryphon

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

    • 27 января 2018, 16:30
    • |
    • Gryphon
  • Еще

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% скидос на комис на пол года. Помните это не трендовый бот, большие движухи могут убить депозит. Пробуйте разные конфиги, не жадничайте и будет профит!

★9
13 комментариев
при запуске ругается 

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

Элвис cМартлабов, Такую ошибку не получал, могу тебе свой конфиг рабочий дать, бился над ним долго!
avatar
Элвис cМартлабов, сразу при запуске выдаёт или какое-то время бежит и потом?
avatar
Gryphon, Такая же ошибка...

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

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



Георгий Харитонов, я запускаю так без определения пары, она из конфигурации 

python ./marketmaker

avatar
Георгий Харитонов, я кстати без pip скачал, и без setup, сам скачал и папку положил на с, потом install запустил
avatar
покажи экьюти!
avatar
AttributeError: 'module' object has no attribute 'reload' — та же проблема
Gryphon поделитесь конфигом пожалуйста 
Ищу человека — написать бота на заказ для BitMex.
скайп   iamvladyslav

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

avatar
подскажите кто нибудь. а имеющаяся поз в котируемом инструменте ка кто будет мешать? допустим я устнаовил лимиты +-400. а поза уже на 4000. он мне ее приведет тут же в -400? тогда стаивть надо 4400 и 3600 к примеру?
avatar

теги блога Gryphon

....все тэги



UPDONW
Новый дизайн