Hello everyone, I am a full time crypto derivatives trader and I’m looking to improve my execution infrastructure.
I like Hummingbot because it’s written in Cython, can be deployed on my own server and already has some features that are useful to me, for example the quote machine.
The problem is, I do not code so I always either need potent off the shelf software for production (which costs a lot of money) or customized open source software for rapid prototyping (which is a nightmare because most freelancers do not trade).
I think/hope that Hummingbot is the right place to start improving my rapid prototyping environment, since you guys trade and have an interesting project.
I trade market neutral futures strategies on Deribit/FTX/Bitmex and also make markets in these products.
Requirements/What I need to get done:
- a connector for Deribit. There is already a feature request on Github, so I don’t know the progress of this. Perhaps it’s already worked on. https://github.com/CoinAlpha/hummingbot/issues/900
IMO it’s the best derivatives exchange since it’s fast, reasonably liquid and the exchange itself does not have a market making desk. So liquidity is all natural and everyone can compete.
- Tweak of the Cross - Exchange Market Making engine:
a) Since a 3m futures and a 6m futures on BTC are similar but not the same like
ETHUSD on Coinbase vs ETHUSD on Binance, I need additional variables that allows me to set the price difference or ratios I want to quote.
Lets say the 3m future is trading at 7000 and 6m is trading at 6800, the difference is +200$. In my opinion it should be -200, so I would quote 6800bid/7200offered in the 6m future and hedge in the 3m.
In the end a bid in the maker market is derived from a bid in the taker market like this:
bid(maker)= bid(taker)+d*r where d = difference and r = ratio/multiplier.
vice versa for the offer.
I also can imagine doing the calculation from a vwap - midprice in the taker market and adjust the quotes with min profitability and a skew variable. I don’t know which is more effort.
b.) support of the “post only” ordertype. Almost all derivatives market operate on a maker/taker basis where the maker receives a rebate. A bot that is quoting there must not cross the market under any circumstances, as the difference is 10+bp in fees.
c.) Change of inventory requirements to maximum position size: Since futures trade on margin and margin requirements are usually negotiated for bigger traders, using balances as sanity check to stop the bot doesn’t make sense, especially when both exchanges trade on the same exchange.
Nevertheless I would like to specify a maximum inventory that once reached makes the bot either pull one side of the quotes or cancels all orders.
There are a lot of other little things on the whishlist but the above is the minimum to trade.
When it comes to collaboration, I would not like to create a bounty for it in order to make this a free for all. I made so many aweful experiences with freelancers over the years that I’d prefer someone from the original dev team to work on it.
I have no problems with this spreader engine being a public feature. I’m 100% sure there are a lot of pairstraders out there that would love to get their hands on something like that.
Also by trading derivatives, it is possible to create a synthetic USD which you can quote every coin against, be it DEX or centralized.
I’m willing to pay for it, of course, so this is not a feature request. If this is interesting for you guys, let’s discuss