This is a mirror of the original BitMEX trollbox archive that used to be online here. BitMEX disabled their archive after the DDOS attack so I have decided to make my mirror publicly available.
Well now, a few days after I made this mirror available to the public, the original archive from BitMEX is online again. But since it is still limited (neutered to the last few hundred messages) I will keep my FULL mirror alive.
You have access to more than 50 million trollbox posts. This is more than 7 gigabyte of data hosted on a $5 server so please be patient or consider a donation
<< >> English 中文 Русский 한국어 日本語 Español Français [2015-09-02 08:01:01] BitMEX_Arthur : these exposures will change as the spot price moves [2015-09-02 08:01:09] BitMEX_Arthur : because of the payoff properties of the XBT series [2015-09-02 08:01:12] bitcoinvsevil : That is the example I used. [2015-09-02 08:01:47] BitMEX_Arthur : https://blog.bitmex.com/xbt-vs-xbu-chain/ [2015-09-02 08:02:02] bitcoinvsevil : Why can't I just cover with bitcoin? [2015-09-02 08:02:07] BitMEX_Arthur : you can [2015-09-02 08:02:24] BitMEX_Arthur : but that article gives you an explanation of the return profile of the 25x leveraged futures [2015-09-02 08:02:39] bitcoinvsevil : So how would I lose if I sold the future....but held bitcoin? [2015-09-02 08:03:04] BitMEX_Arthur : Assume that you dynamically hedge as the price moves to keep your USD exposure flat [2015-09-02 08:03:11] bitcoinvsevil : I'm not asking about leverage [2015-09-02 08:03:20] BitMEX_Arthur : as the price rises you buy bitcoin, as the price falls you sell bitcoin [2015-09-02 08:03:25] BitMEX_Arthur : so you are short volatility [2015-09-02 08:03:41] bitcoinvsevil : But that is not the strategy I am asking about. [2015-09-02 08:03:59] BitMEX_Arthur : You want to buy Bitcoin and short `XBTZ15` for example? [2015-09-02 08:04:03] bitcoinvsevil : I'm buying bitcoin at 100. Selling DEC for 125..... [2015-09-02 08:04:13] bitcoinvsevil : collecting $25 [2015-09-02 08:04:17] bitcoinvsevil : at expiration [2015-09-02 08:04:29] BitMEX_Arthur : right but you would be selling `XBTZ15` right? [2015-09-02 08:04:38] BitMEX_Arthur : the one that we classify as speculative [2015-09-02 08:04:41] bitcoinvsevil : if bitcoin goes down....the future value goe sup.... [2015-09-02 08:04:45] BitMEX_Arthur : this is an important distinction [2015-09-02 08:04:47] bitcoinvsevil : goes up [2015-09-02 08:04:49] BitMEX_Arthur : we have two types of futures [2015-09-02 08:05:18] BitMEX_Arthur : using a concrete example which contract would you want to trade with on BitMEX to do your strategy? [2015-09-02 08:05:27] bitcoinvsevil : DEC [2015-09-02 08:05:34] bitcoinvsevil : Z15 [2015-09-02 08:05:44] BitMEX_Arthur : Ok we have two Dec futures, XBT or XBU? [2015-09-02 08:05:56] BitMEX_Arthur : One has 25x leverage, one has 5x leverage [2015-09-02 08:06:36] bitcoinvsevil : Does not matter if I am covering with full amount of the underlying future.... [2015-09-02 08:07:07] bitcoinvsevil : If bitcoin is 100 bucks.....I will use 2500 bucks worth of bitcoin in the spread [2015-09-02 08:07:39] BitMEX_Arthur : XBTZ15 is trading at $250, and XBUZ15 is trading at $231 [2015-09-02 08:07:42] bitcoinvsevil : If bitcoin goes down....the future value goes up cuz I am shorting [2015-09-02 08:07:49] BitMEX_Arthur : You want to trade XBTZ15 right? [2015-09-02 08:07:58] bitcoinvsevil : Right [2015-09-02 08:08:18] BitMEX_Arthur : Ok XBT prefixed contracts have a Bitcoin multiplier of 0.0001 XBT per $1 move [2015-09-02 08:08:40] BitMEX_Arthur : Meaning if the price goes up 1%, the Bitcoin value goes up by 1%, but the USD value goes up by 1%^2 [2015-09-02 08:09:15] BitMEX_Arthur : So if you short `XBTZ15` and hedge with spot Bitcoin to earn the spread, as the price moves you are not flat in USD terms [2015-09-02 08:09:24] BitMEX_Arthur : Does that make sense to you? [2015-09-02 08:09:30] bitcoinvsevil : But again.....if I am covering with the full amount of the underlying commodity.....why should that matter? [2015-09-02 08:09:59] bitcoinvsevil : I'm buying bitcoin......then shorting the future.....cash and carry spread. [2015-09-02 08:10:00] BitMEX_Arthur : Let me give you an example, you sell XBTZ15 and the price goes up by 10% what is your loss in USD terms? [2015-09-02 08:10:18] bitcoinvsevil : 25 [2015-09-02 08:10:44] bitcoinvsevil : assuming its 250 [2015-09-02 08:11:07] bitcoinvsevil : But I bought......bitcoin at 225 so its now at 250 [2015-09-02 08:12:08] BitMEX_Wally : But the instrument is margined and settled in Bitcoin [2015-09-02 08:12:16] BitMEX_Wally : There are no dollars deposits [2015-09-02 08:12:32] BitMEX_Wally : So if your are short XBTZ15 and it goes up 10% then you have a 10% loss in Bitcoin [2015-09-02 08:12:33] bitcoinvsevil : And I covered in bitcoin. [2015-09-02 08:12:44] BitMEX_Wally : But the Bitcoin is now worth 10% more, so you actually have a 11% loss in USD [2015-09-02 08:12:51] bitcoinvsevil : But a 10% gain in the the bitcoin I bought to cover the spread [2015-09-02 08:12:59] BitMEX_Wally : Yeah, you have a 10% gain because you are covered [2015-09-02 08:13:04] BitMEX_Wally : But an 11% loss on the future [2015-09-02 08:13:09] BitMEX_Wally : So you over all have lost 1% [2015-09-02 08:13:14] BitMEX_Wally : That is what we mean by short gamma [2015-09-02 08:13:22] bitcoinvsevil : How do you figure that? [2015-09-02 08:13:35] BitMEX_Wally : XBTZ15 is a quanto contract [2015-09-02 08:13:40] BitMEX_Wally : It pays out a linear amount in Bitcoin [2015-09-02 08:13:41] bitcoinvsevil : English.... [2015-09-02 08:13:45] BitMEX_Wally : But you are thinking in dollars... [2015-09-02 08:14:18] bitcoinvsevil : So should it not......go up "quanto" in bitcoin if I covered in....bitcoin? [2015-09-02 08:14:19] BitMEX_Wally : If I give you a 10% return in Bitcoin, you need to convert that Bitcoin to dollars to do your calculations... [2015-09-02 08:14:40] BitMEX_Arthur : bitcoinvsevil: This is obviously confusing, you aren't the first person to ask these questions I'm going to write up a blog post with graphs and a numerical example to help you and others understand [2015-09-02 08:15:29] BitMEX_Wally : bitcoinvsevil: In the mean time read the blog post https://blog.bitmex.com/xbt-vs-xbu-chain/ [2015-09-02 08:19:07] bitcoinvsevil : So what strategy would I use for a cash and carry trade then? XBU? [2015-09-02 08:19:26] BitMEX_Wally : If you want to be perfectly hedged then yes, XBU [2015-09-02 08:19:46] BitMEX_Wally : But you can use the strategy on XBT if you re-hedge as needed [2015-09-02 08:20:06] BitMEX_Wally : If you a short quanto then a 10% move in either direction is a 1% loss (10% of 10%). [2015-09-02 08:20:38] BitMEX_Wally : So if you earn more than 1% premium on the carry, you can cope with a +/- 10% move in spot while still making profit [2015-09-02 08:22:01] bitcoinvsevil : Bitcoin can move 10% in an hour. [2015-09-02 08:22:22] BitMEX_Wally : Yep [2015-09-02 08:22:47] bitcoinvsevil : I"m still not understanding how if I am using bitcoin to cover selling a future.....anything matters. If the future goes up....so does the bitcoin. [2015-09-02 08:22:51] vbmithr : Yo, BitMEX [2015-09-02 08:23:14] BitMEX_Wally : bitcoinvsevil: Let me give you a simple example [2015-09-02 08:23:23] BitMEX_Arthur : vbmithr: Sup? [2015-09-02 08:23:35] BitMEX_Wally : Let's say you buy 1 bitcoin spot at 250 dollars [2015-09-02 08:23:47] BitMEX_Wally : And you sell 400 futures of XBTZ15 at 250 [2015-09-02 08:23:50] vbmithr : Sup ? :) [2015-09-02 08:24:07] BitMEX_Wally : bitcoinvsevil: So you are perfectly edge, and your PNL should be 0 as the price moves up and down? [2015-09-02 08:24:15] BitMEX_Wally : *perfectly hedged [2015-09-02 08:25:26] BitMEX_Wally : bitcoinvsevil: With me so far? [2015-09-02 08:25:34] bitcoinvsevil : Yes [2015-09-02 08:25:43] BitMEX_Wally : Now let's say the price goes to 200 dollars [2015-09-02 08:25:50] BitMEX_Wally : You have lost 50 dollars on your spot position? [2015-09-02 08:26:32] BitMEX_Wally : And your XBTZ15 position has lost 400*50*0.00001 = 0.2 Bitcoin [2015-09-02 08:26:58] BitMEX_Wally : Sorry, your XBTZ15 has made 0.2 Bitcoin [2015-09-02 08:27:07] bitcoinvsevil : Yes [2015-09-02 08:27:15] BitMEX_Wally : How much is that 0.2 Bitcoin now worth? [2015-09-02 08:27:31] bitcoinvsevil : 40 [2015-09-02 08:27:39] BitMEX_Wally : So you made 40 on the future, but lost 50 on the spot [2015-09-02 08:27:43] BitMEX_Wally : 10 loss [2015-09-02 08:27:53] BitMEX_Wally : Now let's say the price goes to 300 [2015-09-02 08:27:58] BitMEX_Wally : Same calculations [2015-09-02 08:28:22] BitMEX_Wally : You make 50 on spot, but lose 0.2 XBT on the future [2015-09-02 08:28:39] BitMEX_Wally : 0.2 XBT loss at 300 dollars is 60 dollars [2015-09-02 08:28:51] BitMEX_Wally : So a 10 dollar loss again [2015-09-02 08:29:16] bitcoinvsevil : I see [2015-09-02 08:29:18] BitMEX_Wally : Even though you have covered the delta, you have not covered the short USD gamma [2015-09-02 08:29:33] BitMEX_Wally : This is why everyone loves to be long XBT contracts :) [2015-09-02 08:29:51] BitMEX_Wally : And no-one likes to be short unless the premium is enough to cover this risk [2015-09-02 08:29:54] bitcoinvsevil : So why did Sam show up in TV saying that I could do a strategy similar to swaps? [2015-09-02 08:30:36] BitMEX_Wally : You can, you just have to price it in [2015-09-02 08:31:00] bitcoinvsevil : There are no losses in swaps [2015-09-02 08:31:09] bitcoinvsevil : You just earn daily interest by lending [2015-09-02 08:31:28] BitMEX_Wally : You have a default risk on Bitfinex [2015-09-02 08:31:48] BitMEX_Wally : They take 15% of your interest earn as a fee, etc [2015-09-02 08:31:58] bitcoinvsevil : You can say that about any financial institution... [2015-09-02 08:32:10] bitcoinvsevil : You guys are registered in some island by Africa.... [2015-09-02 08:32:32] BitMEX_Wally : I mean if a trader on Bitfinex is not liquidated in time, and goes bankrupt, then the swap defaults [2015-09-02 08:32:36] bitcoinvsevil : for 25% anualized a year.....15% seems pretty cheap [2015-09-02 08:33:14] bitcoinvsevil : Show me where in N.America you can earn 21% volatile free interest. [2015-09-02 08:33:22] BitMEX_Wally : XBTH16 is trading at an implied basis of 50% [2015-09-02 08:33:34] BitMEX_Wally : annualised [2015-09-02 08:33:48] bitcoinvsevil : Right [2015-09-02 08:34:01] bitcoinvsevil : But you just showed me how if bitcoin goes up......I lose money [2015-09-02 08:34:25] bitcoinvsevil : Even if I own bitcoin [2015-09-02 08:34:26] BitMEX_Wally : I showed you that if you short the future and buy spot _at the same price_ [2015-09-02 08:34:28] BitMEX_Wally : I.e. no premium [2015-09-02 08:34:35] BitMEX_Wally : Then you lose money if the price goes up or down [2015-09-02 08:35:01] BitMEX_Wally : That's why you short the future at 250 (say) and buy spot at 225 (say) [2015-09-02 08:35:10] BitMEX_Wally : Then you have 25 dollars premium [2015-09-02 08:35:22] BitMEX_Wally : And even if spot moves +/- 50 dollars you'll still keep 15 dollars of that [2015-09-02 08:35:37] vbmithr : Is the chart of BitMEX indices interesting ? [2015-09-02 08:35:51] vbmithr : I mean, would customers want to see charts of indices in addition of charts of instruments ? [2015-09-02 08:36:09] bitcoinvsevil : So whats the trade here? That is like a swap? [2015-09-02 08:36:12] BitMEX_Wally : Yes, we intend to add index charts soon [2015-09-02 08:36:28] vbmithr : Ok thanks. [2015-09-02 08:36:33] vbmithr : I'll add them to Sierra Chart too [2015-09-02 08:36:57] BitMEX_Wally : bitcoinvsevil: Sell XBU and buy spot is like lending USD swaps [2015-09-02 08:37:24] BitMEX_Wally : bitcoinvsevil: Sell XBT and buy spot, and keep an eye on the price and buy/sell spot as needed to keep it in hedge, is more profitable than just lending out swaps [2015-09-02 08:40:32] bitcoinvsevil : xbu December.....is spot. Where is the trade? [2015-09-02 08:40:56] BitMEX_Arthur : bitcoinvsevil: Right now I agree selling that contract and buying spot is not attractive [2015-09-02 08:41:33] BitMEX_Arthur : But selling XBTZ15 can be attractive given your view on how volatile spot will be between now and December [2015-09-02 08:42:17] bitcoinvsevil : I said it can be [2015-09-02 08:42:22] bitcoinvsevil : Not that it will be [2015-09-02 08:42:36] bitcoinvsevil : I'm just looking for a nice return. Not to gamble. [2015-09-02 08:42:55] bitcoinvsevil : Which was why I enjoyed using BFX before they blew up.... [2015-09-02 08:44:30] bitcoinvsevil : Now bitfinex is barely paying 10%..... [2015-09-02 08:44:46] vbmithr : did anybody read dynamic hedging by Taleb ? [2015-09-02 08:45:00] bitcoinvsevil : nope [2015-09-02 08:45:28] vbmithr : Now that I joined here I feel like understanding derivatives [2015-09-02 08:47:04] bitcoinvsevil : So there really is no trade then? [2015-09-02 08:47:13] bitcoinvsevil : That pays well? Fire and forget? [2015-09-02 08:47:38] BitMEX_Wally : No such thing as a free lunch [2015-09-02 08:48:01] bitcoinvsevil : It was pretty close to free on Finex..... [2015-09-02 08:48:08] bitcoinvsevil : Was making 25%..... [2015-09-02 08:48:32] vbmithr : and who lost money then. Who was at the other end of your transactions ? [2015-09-02 08:49:00] DunningKruger : Even a free lunch can have unintended side effects until it leaves your arsehole. [2015-09-02 08:49:00] bitcoinvsevil : I have no idea if anyone won or lost. [2015-09-02 08:49:08] bitcoinvsevil : They were just borrowing money [2015-09-02 08:49:32] vbmithr : ok [2015-09-02 08:49:36] vbmithr : and you were lending, then [2015-09-02 08:49:44] bitcoinvsevil : Yes..... [2015-09-02 08:50:06] bitcoinvsevil : And I was to understand I could do that here.....but it looks like I may have been mistaken. [2015-09-02 08:51:31] bitcoinvsevil : Am I mistaken BitMEX? [2015-09-02 08:53:35] bitcoinvsevil : Anyone? [2015-09-02 08:54:02] BitMEX_Wally : bitcoinvsevil: We do not take USD deposits, and we do not have a swaps market [2015-09-02 08:54:38] horlicks_ : As Arthur said, you can do the same kind of trade with XBT, but there's no money in it at the moment [2015-09-02 08:54:44] bitcoinvsevil : So your just a gambling service? [2015-09-02 08:54:54] horlicks_ : Is that expected to change? [2015-09-02 08:55:07] BitMEX_Wally : You can do that trade with XBU, there just isn't enough money in it for you [2015-09-02 08:55:16] BitMEX_Wally : You can do that trade with XBT, you just don't like the gamma risk [2015-09-02 08:55:37] BitMEX_Wally : We offer products for hedging and speculation [2015-09-02 08:55:57] bitcoinvsevil : Will you be offering lending swaps in the future? [2015-09-02 08:56:30] BitMEX_Wally : No plans at the moment [2015-09-02 08:56:52] bitcoinvsevil : Okay thanks for your time. I really appreciate it.... [2015-09-02 08:57:04] BitMEX_Wally : No worries, we're always happy to answer questions [2015-09-02 08:57:40] BitMEX_Wally : You might want to look at shorting XBTH16 and going long XBTZ15 to hedge [2015-09-02 08:57:48] BitMEX_Wally : Trading the calendar spread [2015-09-02 12:31:53] vbmithr : I can open multiple websocket connections from the same IP, right ? [2015-09-02 13:28:20] BitMEX_Sam : vbmithr: Yes, that's no problem [2015-09-02 13:41:26] vbmithr : I'm getting 504 Gateway Timeout errors in the websocket sometimes [2015-09-02 13:43:00] BitMEX_Sam : vbmithr: On the initial handshake? [2015-09-02 13:43:11] vbmithr : No, after [2015-09-02 13:44:16] BitMEX_Sam : Hmm, once the TCP connection is established there shouldn't even be a way for it to throw HTTP error codes [2015-09-02 13:44:21] BitMEX_Sam : Are you asking for images through it? [2015-09-02 13:44:27] vbmithr : No. [2015-09-02 13:44:30] vbmithr : I need to check my code [2015-09-02 13:44:35] vbmithr : I suspect sth is wrong in my code. [2015-09-02 13:44:39] BitMEX_Sam : Ah [2015-09-02 13:44:47] BitMEX_Sam : Might be. Once that's established it's json or bust [2015-09-02 13:44:59] vbmithr : yes. That's exactly it. [2015-09-02 13:56:28] vbmithr : yeah, my mistake [2015-09-02 13:56:31] vbmithr : wrong api endpoint [2015-09-02 14:01:54] vbmithr : HA [2015-09-02 14:02:10] vbmithr : Sam: there is an inconsistency between the trade object returned by the REST vs Websocket [2015-09-02 14:02:24] vbmithr : the timestamp field is a string in REST and a int in websocket [2015-09-02 14:02:36] vbmithr : that kind of thing is very annoying, could you fix this [2015-09-02 14:02:37] vbmithr : ? [2015-09-02 14:03:46] BitMEX_Sam : vbmithr: Are you getting from the bucketed endpoint [2015-09-02 14:03:53] BitMEX_Sam : Ah nvm. I see what you mean [2015-09-02 14:04:00] BitMEX_Sam : It should be an int everywhere [2015-09-02 14:04:01] vbmithr : no [2015-09-02 14:04:32] vbmithr : as long as it is the same between the two apis… :) [2015-09-02 14:05:15] BitMEX_Sam : Right. Well, changing it in the REST API everywhere would require an announcement because there may be users depending on that [2015-09-02 14:05:25] BitMEX_Sam : So for now, sorry, will have to deal with it, we will roll out a fix. [2015-09-02 14:06:12] vbmithr : okay [2015-09-02 14:37:05] BitMEX_Sam : vbmithr: Okay, we've made an announcement about it. The websocket will use the same timestamp format as the REST API starting Monday [2015-09-02 14:37:29] BitMEX_Sam : It's already been deployed to Testnet. [2015-09-02 14:50:08] vbmithr : okay, thanks! [2015-09-02 14:50:15] vbmithr : And the value is always in ms, right ? [2015-09-02 14:51:17] vbmithr : announced where, btw ? [2015-09-02 14:51:35] vbmithr : websocket same as REST ? [2015-09-02 14:51:39] vbmithr : So it means, a string ? [2015-09-02 14:52:35] vbmithr : Ah, I see where :) [2015-09-02 14:55:03] vbmithr : Yes, best to use ISO, because it is clear it is in ms. [2015-09-02 17:22:42] krtek.net : Depends, for time values, it is best to use epoch = unix time, it's shorter than ISO a unambigious, because its always UTC. For date only values it is the best to use the date part of the ISO format... Using virtually anything else is a path to hell due to timezones and daylight savings. [2015-09-02 17:23:32] krtek.net : also don't even think about using native Date object of JavaScript/ECMAScript, this thing is broken by spec, use moment.js. always. [2015-09-02 17:23:44] BitMEX_Sam : Yeah, it's horribly broken, especially in Safari. [2015-09-02 17:24:06] BitMEX_Sam : In JSON, there's not much of a size difference in favor of ms timestamps vs ISO strings because it's all text [2015-09-02 17:24:26] BitMEX_Sam : What I like about ISO is that it's human readable and the precision is obvious. [2015-09-02 17:24:39] BitMEX_Sam : And of course, all timestamps are always UTC, thus the `Z` suffix. [2015-09-02 17:25:22] krtek.net : yep, but than you need to use it with explicit timezone or Z... or negotiative in front what the "local" timezone is. But that would be a pita anyway. [2015-09-02 17:25:56] BitMEX_Sam : Yeah, we always send with Z [2015-09-02 17:26:05] BitMEX_Sam : No use figuring out local timezones. [2015-09-02 17:26:21] BitMEX_Sam : Browsers don't send a proper header that would allow you to figure it out, anyway. You have to do it in JS after the render [2015-09-02 17:26:33] BitMEX_Sam : And for API consumers, of course, waste of time. [2015-09-02 17:27:53] krtek.net : Agreed. I just find the reability less important since the value is never presented directly to user on frontend and parsing the string is by my guess slower :) [2015-09-02 17:28:07] krtek.net : for debugging, iso wins of course [2015-09-02 17:28:47] BitMEX_Sam : Yeah. Parsing the string is a little bit slower. But if you have a date library that you can tell to expect ISO strings the difference is pretty negligible. If it's sitting there trying to figure out formatting it can be a bottleneck. [2015-09-02 17:29:31] BitMEX_Sam : What the decision really came down to is that we have been serving ISO over the REST API since we started, and the change on the WS to ms timestamps was relatively recent. [2015-09-02 17:29:35] krtek.net : moment.js does a good job, I never needed to look for something else ;) [2015-09-02 17:29:42] BitMEX_Sam : There are far more REST subscribers than WS subscribers so a change there is far less painful. [2015-09-02 17:29:54] BitMEX_Sam : Yeah moment is great. A bit slow though but it got better in the last release. [2015-09-02 17:30:56] BitMEX_Sam : Here's a weird one. `var d = new Date(); new Date(d)` is two orders of magnitude slower in Firefox than `new Date(d.valueOf())`. [2015-09-02 17:31:22] krtek.net : Ah... "ms' yeah, I was talking about that too when speaking about epoch/unix time. My bad sorry ;) [2015-09-02 17:31:23] BitMEX_Sam : And `d.valueOf()` is 2x faster than `+d` [2015-09-02 17:32:17] BitMEX_Sam : Yeah we definitely have to serve ms. Maybe ns time in the future. [2015-09-02 17:32:25] krtek.net : valueOf forces it to the integer rightaway, other methods cannot afford this and need to have the type undesided for much longer [2015-09-02 17:32:35] krtek.net : typescript would solve this :) [2015-09-02 17:32:52] BitMEX_Sam : Right, depending on how TS compiles you can get optimizations like this for free [2015-09-02 17:33:12] BitMEX_Sam : I would expect TS to coerce most things into optimizable functions [2015-09-02 17:33:23] BitMEX_Sam : / near asm.js code if possible [2015-09-02 17:34:22] krtek.net : welll even plain 'use strict" does a lot ;0 [2015-09-02 17:34:25] krtek.net : :) [2015-09-02 17:34:41] BitMEX_Sam : Yep. Most processors will insert it for you [2015-09-02 17:34:59] krtek.net : use strict should be mandatory... like in Perl :D [2015-09-02 17:35:17] BitMEX_Sam : I've been toying around a lot with the code in petra's V8 optimization article - https://github.com/petkaantonov/bluebird/wiki/Optimization-killers [2015-09-02 17:35:37] BitMEX_Sam : Bluebird is an amazing lib and anyone who can write something that reliable and fast gets my attention [2015-09-02 17:35:45] krtek.net : neat, will read, thanks. [2015-09-02 17:35:58] BitMEX_Sam : He has a nice snippet of Node code you can use to test if a function will get optimized or not [2015-09-02 17:36:15] BitMEX_Sam : I've been doing it on a lot of the WS update functions on the frontend to make sure they get put on the fast path so we can get idle cpu & initial render down [2015-09-02 17:36:49] BitMEX_Sam : Unfortunately we've been using a very convenient data lib that uses ES5 getters/setters which are not optimizable in most runtimes [2015-09-02 17:41:52] krtek.net : your GUI is awesome. I was thinkin about trying to apply for a job an BitMEX, but when I found you were behind it, I need to agree I cannot match... and this doens't happen often ;0 [2015-09-02 17:41:57] krtek.net : ;) [2015-09-02 17:42:52] BitMEX_Sam : Thanks, I appreciate the compliment. At some point we'll be adding onto the UI team [2015-09-02 17:50:02] krtek.net : I have done fronend only on my last project (Angular, corporate e-banking), I have no concrete specialization actually :) https://cz.linkedin.com/in/lukasnovy [2015-09-02 17:50:40] krtek.net : hmm... good time for the update I guess. [2015-09-02 18:20:52] vbmithr : kr: I sent you an invite on linkedin. [2015-09-02 18:43:17] vbmithr : [link] - [Top] [2015-09-02 18:43:18] vbmithr : Sent by the Server to the Client to update the end of day settlement price when the end of day settlement price changes or is updated. [2015-09-02 18:43:29] vbmithr : What is "end of day settlement price) ? [2015-09-02 18:45:45] BitMEX_Sam : Where are you seeing that? [2015-09-02 18:47:52] BitMEX_Sam : vbmithr: Ah, from DTC. Well, we don't really have an 'end of day' since they're all 24hr markets [2015-09-02 18:48:05] BitMEX_Sam : So I would assume that never gets sent [2015-09-02 19:09:54] vbmithr : Ok [2015-09-02 19:09:57] vbmithr : thanks for the info [2015-09-03 00:01:54] j8 : BitMEX_Sam: is there a way to turn off notifications altogether? when i block OS notifications they still come up in the browser. [2015-09-03 00:07:19] j8 : just thinking it will be overwhelming if i run bots on several markets [2015-09-03 00:15:08] j8 : also, one thing that's not very convenient: isolate margin defaults to off when all orders are cancelled, but only if you don't have a position. so if i want it on for market making, i need to set it every time i reprice my orders? [2015-09-03 01:42:19] cryptojoe : looks like bitstamp is about to break 300 again today [2015-09-03 01:43:23] cryptojoe : hope it stays above 300 for a change [2015-09-03 01:48:26] BitMEX_Wally : cryptojoe: It's currently trading at 229.80 but you predict a 70 dollar move? [2015-09-03 01:48:50] cryptojoe : i meant 230. LOL sorry [2015-09-03 01:49:06] cryptojoe : am only watching the last too numbers. hehehe [2015-09-03 01:49:21] cryptojoe : it's been a long day [2015-09-03 01:50:39] BitMEX_Wally : :) [2015-09-03 01:55:46] cryptojoe : hey are the spec/taker fees a typo? Really only hundreths of a percent? [2015-09-03 02:02:31] BitMEX_Wally : That's correct [2015-09-03 02:04:01] BitMEX_Wally : In finance we usually say 5 bps ("five bips") instead of 0.05% [2015-09-03 02:06:17] cryptojoe : BitMEX_Wally: Cool and what are pips? [2015-09-03 02:06:34] cryptojoe : never could figure that out when looking at peoples definitions [2015-09-03 02:08:17] BitMEX_Wally : Pips are used more in FX trading. So if GBPUSD is at 1.5320 and it goes up to 1.5325 that would be 5 pips [2015-09-03 02:08:39] BitMEX_Wally : So effectively pips depends on the tickSize [2015-09-03 02:08:42] cryptojoe : BitMEX_Wally: is it by definition what [2015-09-03 02:09:07] cryptojoe : 's at the 4th decimal place or is whatever the smallest interesting measure happens to be [2015-09-03 02:09:19] BitMEX_Wally : http://www.investopedia.com/terms/p/pip.asp [2015-09-03 02:10:31] cryptojoe : So wrt to btc would a pip be a satoshi? [2015-09-03 02:10:43] BitMEX_Wally : It's not clear [2015-09-03 02:10:52] BitMEX_Wally : 1 bps is always 0.01% [2015-09-03 02:10:57] BitMEX_Wally : But 1 pip depends on the tick size [2015-09-03 02:11:14] BitMEX_Wally : So for XBU7D which has a tick size of 0.01 USD then 1 pip is 0.01 USD [2015-09-03 02:11:55] krtek.net : pip in forex is not constant... it's a delta [2015-09-03 02:11:55] krtek.net : 9 [2015-09-03 02:11:58] krtek.net : fsck [2015-09-03 02:12:05] BitMEX_Wally : ETH7D has a tick size of 0.00001 Bitcoin [2015-09-03 02:12:11] krtek.net : delta (difference) between the prices [2015-09-03 02:12:19] krtek.net : the last one and the one before [2015-09-03 02:12:28] krtek.net : grrr [2015-09-03 02:12:34] krtek.net : not... that is the tick [2015-09-03 02:12:41] BitMEX_Wally : I would say that the delta is measured in pips [2015-09-03 02:16:15] krtek.net : on `ETH7D` the pip is 0.00001 XBT, and tick is size is 0.00011 now and was 0.00009 before that. [2015-09-03 02:16:25] krtek.net : lowest tick is one pip here. [2015-09-03 02:18:15] krtek.net : 1 bip is always 0.0001 [2015-09-03 02:18:53] krtek.net : that is 0.01 % [2015-09-03 02:23:13] cryptojoe : i see [2015-09-03 02:25:24] krtek.net : well... I think this is not completley correct, so don't take my word for it. I think that tick has "two-axial" meaning... [2015-09-03 02:25:38] krtek.net : it means the time from the last trade to the one before also. [2015-09-03 02:26:34] krtek.net : but anyway, the pip should be the lowers amount you can adjust the price for your order. [2015-09-03 02:28:52] j8 : that investopedia link was mind-numbing [2015-09-03 02:29:12] krtek.net : http://www.forexknowledge.com/Education/pip.asp [2015-09-03 02:29:21] krtek.net : something completely different :) [2015-09-03 02:30:20] j8 : this one doesn't seem to contradict itself at least :) [2015-09-03 02:31:35] krtek.net : http://daytrading.about.com/od/ptor/g/PointsTicksPips.htm [2015-09-03 02:33:00] cryptojoe : forexknowledge has yet a third defintion: lots size X tick size [2015-09-03 02:34:13] krtek.net : actually forex seems to have three definitions of pip :)) [2015-09-03 02:35:06] cryptojoe : Three definitions depending on the context: 1 tenthousanth, tick size, and lot sizeXtick size [2015-09-03 02:35:22] krtek.net : I would say, that tick is the smallest delta in the quote currency, and pip is the smallest amount in settlement currency [2015-09-03 02:36:38] cryptojoe : Not i don't feel so stupid about not understanding pips. [2015-09-03 02:38:00] cryptojoe : no movement in XBTU15 since 14:05. Yawn! [2015-09-03 02:44:48] j8 : 6 hour bbands tightening, therefore something will happen, eventually [2015-09-03 02:45:25] krtek.net : Yeah that should be it. 1 pip which is specifically used in forex is the lowest amount your P/L can move. And it actually depends more on your broker than on the market itself :) [2015-09-03 02:45:46] cryptojoe : Are there any traditional volatility contracts that pay based on shear number of units of movement in any direction. So 2 up and 2 down would be a 4 units of movement contract? [2015-09-03 02:46:59] krtek.net : that would be too easy to manipulate no? [2015-09-03 02:47:25] cryptojoe : j8: i guess europe will decide the direction when they wake up [2015-09-03 02:48:05] krtek.net : it's already almost 5am in the europe :) [2015-09-03 02:48:28] cryptojoe : krtek.net: i guess easy to manipulate in low volume markets [2015-09-03 02:50:22] krtek.net : the oposite the buyer and the seller can negotiate to oscilate the order with many tiny trades around the target price [2015-09-03 02:50:39] krtek.net : welll... not the oposite... it doesn't matter I think [2015-09-03 02:51:44] krtek.net : btc-e and bitstamp would have completely different outputs on this, but they are actually trading the "same market" [2015-09-03 02:52:05] krtek.net : so I don't think you could trade that since there is not possibility to arbitrage [2015-09-03 02:52:18] krtek.net : which breaks the one price dogma [2015-09-03 02:55:05] krtek.net : I need to shut up, I'm speaking too fast. [2015-09-03 02:56:13] cryptojoe : can use an index made up of lots exchanges like the one used here. that would reduce manipulation [2015-09-03 02:56:53] j8 : yeah, tradeblock should be a lot more fair for `BVOL` [2015-09-03 02:57:13] j8 : and also lower volatility in general [2015-09-03 02:57:45] krtek.net : I feel so stupid always in here, since the question and the discussion is actually valuable... there's no other trollbox like that... Elsewhere I can shoot the answer right away, win the argument, be called and idiot, rinse and repeat. [2015-09-03 03:00:03] krtek.net : Lastly on TV, some midget was trying to teach me economics 101 saying that the larger block means that miners will earn more on fees. He has kept this stand even when I used the parking lots analogy... [2015-09-03 03:01:14] krtek.net : like adding more parking places could attract more cars when the they are 60 % free all the time anyway... [2015-09-03 03:01:43] j8 : silly [2015-09-03 03:06:50] j8 : well, in the long run it may be true, if capacity was hit AND fees are as high as people are willing to pay [2015-09-03 03:12:11] krtek.net : yes, something like the laffer curve would apply here also, but I don't think we are nearly that far, every crap gets included into the blocks and miners don't actually care for the fee since the award is much higher than that. [2015-09-03 03:35:23] chromaticcr : krtek.net: the thing is that the benefits of larger block even if they have sufficient fee, it doesn't outweigh the cost of delayed propagation that causes the found hash invalid [2015-09-03 04:17:21] krtek.net : yep, larger block = more orphans [2015-09-03 04:18:08] krtek.net : (I presume that the block is passed only after the full validation passes) [2015-09-03 06:22:28] j8 : looks like another big overreaction from china. [2015-09-03 07:40:16] j8 : this range is really holding. [2015-09-03 07:42:03] BitMEX_Arthur : We ain't going anywhere until the holiday is over in china [2015-09-03 07:55:23] j8 : i guess not. [2015-09-03 08:04:12] vbmithr : Good morning BitMEX [2015-09-03 08:08:13] BitMEX_Arthur : Allo [2015-09-03 08:41:30] BitMEX_Arthur : it's a crap shoot [2015-09-03 08:41:54] DunningKruger : We going down and I'm making money, so it's all good. [2015-09-03 08:42:06] BitMEX_Arthur : eligigi400: I see that you just signed up, how did you hear about us? [2015-09-03 08:42:13] DunningKruger : Oh you checked a graph. [2015-09-03 08:42:52] BitMEX_Arthur : What's signalcoin? [2015-09-03 08:44:05] BitMEX_Arthur : The Seychelles [2015-09-03 08:44:38] DunningKruger : But where are you based? [2015-09-03 08:45:13] BitMEX_Arthur : The partners are spread out between Hong Kong and the US [2015-09-03 08:45:19] DunningKruger : OK [2015-09-03 08:47:17] DunningKruger : Woah RARed exes from a site I never heard of? No thanks. [2015-09-03 08:55:55] BitMEX_Arthur : https://blog.bitmex.com/the-world-is-on-holiday-time-for-a-bitcoin-dump-or-pump/ [2015-09-03 08:59:39] DunningKruger : Nah looks like a malware-ridden site you've been spamming for the last few days according to Google. [2015-09-03 08:59:52] DunningKruger : Admin I'd suggest you delete his links. [2015-09-03 09:31:11] btcedlo : wow and there's chinese version of blog now! [2015-09-03 09:33:53] BitMEX_Arthur : yes [2015-09-03 09:33:57] BitMEX_Arthur : we are making a big push into china [2015-09-03 09:34:05] BitMEX_Arthur : you will see more china focused things from us going forward [2015-09-03 09:37:07] priceaction : i'm in china :) [2015-09-03 09:37:23] BitMEX_Arthur : priceaction: We are in Shanghai at the moment [2015-09-03 09:37:28] BitMEX_Arthur : In Jingan [2015-09-03 09:39:13] priceaction : none of the chinese i know deals with bitcoin in any way, some did 2 years ago [2015-09-03 09:39:26] priceaction : the regulation scared them [2015-09-03 09:40:19] priceaction : shanghai is a bit different though [2015-09-03 09:42:03] BitMEX_Arthur : The volatility went down, they don't care about what the government says [2015-09-03 09:42:20] BitMEX_Arthur : And the stock market became the hottest thing that's what has taken the attention of all the traders [2015-09-03 09:46:45] priceaction : now some people put money back into the stock market hoping for a big buck [2015-09-03 09:51:59] priceaction : it's ridiculous - but prob safe enough bet after the gov pumped in bilions or trilions to the rescue [2015-09-03 10:08:00] priceaction : so you guys start promoting on wechat and weibo? [2015-09-03 10:08:12] BitMEX_Arthur : priceaction: We will yes [2015-09-03 10:08:26] BitMEX_Arthur : And release a Chinese language front end, and mobil app [2015-09-03 10:09:37] priceaction : wow [2015-09-03 10:11:15] priceaction : all in huh [2015-09-03 10:12:02] BitMEX_Arthur : We need liquidity for you guys, China is where it all is [2015-09-03 10:12:39] BitMEX_Arthur : Starting in a few days we have English and Chinese daily TA discussions. They will appear on the blog [2015-09-03 10:13:48] priceaction : makes sense [2015-09-03 10:14:06] priceaction : but gov can restrict access any given time [2015-09-03 10:31:36] SnackyCoins : mobile app, sweet! though i must say your mobile UI is fantastic enough i'm not missing an app [2015-09-03 10:36:22] DunningKruger : Liquidity would be...wonderful. [2015-09-03 10:41:08] DunningKruger : BitMEX_Arthur: loving your blog articles by the way. Really appreciate them. [2015-09-03 11:23:58] Matthew.v : I was wondering if you were going to be targeting the Chinese market. [2015-09-03 11:27:30] Matthew.v : naw I am cool fuck that shit [2015-09-03 11:49:25] Matthew.v : get out of there wit the mal ware [2015-09-03 12:07:08] BitMEX_Sam : Please be careful of anything signalcoin - or anything eli posts. I've banned him once before [2015-09-03 12:09:49] Matthew.v : bring that hammer down [2015-09-03 12:11:03] BitMEX_Sam : Yep, he's toast. [2015-09-03 12:18:15] DunningKruger : Good. Such a lame attempt anyway. [2015-09-03 12:18:59] DunningKruger : He'd prob have better luck on BTC-e... [2015-09-03 12:19:08] BitMEX_Sam : Yeah. It makes sense that people would target malware to exchange users - changes are high some users might have a wallet.dat sitting around [2015-09-03 12:19:12] BitMEX_Sam : chances* [2015-09-03 12:31:11] Matthew.v : So, Bitmex is going to begin to target the Chinese user base? [2015-09-03 12:37:51] BitMEX_Arthur : Yes we are [2015-09-03 12:45:58] vbmithr : {"table":"orderBook25","action":"delete","data":[{"symbol":"XLT7D","level":3}]} [2015-09-03 12:46:15] vbmithr : which side of this orderbook the level 3 is deleted ? [2015-09-03 12:47:24] Bitman : testing testing [2015-09-03 12:51:21] BitMEX_Wally : vbmithr: Both sides [2015-09-03 12:51:39] vbmithr : they can be out of sync no ? [2015-09-03 12:51:45] vbmithr : more sellers than buyers, that kind of stuff [2015-09-03 12:52:09] BitMEX_Wally : vbmithr: The row is only deleted when there are no bids and no asks at that level [2015-09-03 12:52:36] BitMEX_Wally : vbmithr: The table has bids and asks in the same row [2015-09-03 12:54:49] vbmithr : so suppose a table with 3 rows, all filled [2015-09-03 12:55:00] vbmithr : if one order get deleted from one side, what happens ? [2015-09-03 12:55:15] vbmithr : ha, ok. [2015-09-03 12:55:16] vbmithr : an update [2015-09-03 12:55:26] BitMEX_Wally : You will get an update for that row with null price and null quantity [2015-09-03 12:55:34] vbmithr : Ok got it [2015-09-03 12:55:36] vbmithr : thanks.x [2015-09-03 12:55:49] BitMEX_Wally : Yeah I regret doing the order book this way, should have just pushed the L3 updates and let people build it themselves [2015-09-03 12:55:59] BitMEX_Wally : Made it too easy for people who just want to maintain an image [2015-09-03 13:11:26] vbmithr : Ok I see [2015-09-03 13:11:44] vbmithr : So the semantic of field absent and field = null is totally different [2015-09-03 13:11:55] vbmithr : null = delete, absent = not modified [2015-09-03 13:13:15] BitMEX_Wally : Yes [2015-09-03 13:13:23] vbmithr : yeah, not clear [2015-09-03 13:13:47] BitMEX_Wally : Internally we use IEEE floats with NaN for values which are 'null' [2015-09-03 13:14:06] vbmithr : ok [2015-09-03 13:14:16] vbmithr : you should write this somewhere [2015-09-03 13:14:26] vbmithr : how one should interpret the orderBook ws messages [2015-09-03 13:14:31] vbmithr : it's not completely obvious [2015-09-03 13:26:04] BitMEX_Wally : vbmithr: Good idea. These insert/update/delete messages should be interpreted the same for all tables [2015-09-03 13:28:33] vbmithr : yeah [2015-09-03 13:33:14] vbmithr : To attach a semantic "delete" to a null field is totally wrong [2015-09-03 13:33:31] vbmithr : the programmer is not supposed to guess that a null field means a deleted row in a DB [2015-09-03 13:33:52] vbmithr : Or else you don't put delete messages but update with both null [2015-09-03 13:34:22] vbmithr : I did not see insert messages though [2015-09-03 13:34:25] vbmithr : (not yet) [2015-09-03 13:34:29] vbmithr : for the orderbook [2015-09-03 13:34:56] BitMEX_Sam : It doesn't mean a deleted row, it means a column set to null [2015-09-03 13:35:02] BitMEX_Sam : `delete` means a deleted row [2015-09-03 13:35:33] vbmithr : Ah I saw an insert [2015-09-03 13:35:34] BitMEX_Sam : `update` messages are built to be as lean as possible, so if a field hasn't changed, it's not sent [2015-09-03 13:35:50] vbmithr : ok [2015-09-03 13:36:02] vbmithr : (sorry, I meant a deleted cell) [2015-09-03 13:36:15] BitMEX_Sam : The actual updating from WS is pretty simple [2015-09-03 13:36:28] BitMEX_Sam : See https://github.com/BitMEX/market-maker/blob/master/market_maker/ws/ws_thread.py#L172 [2015-09-03 13:36:36] vbmithr : I think I understand it now [2015-09-03 13:37:19] vbmithr : Ok, much useful, thanks! [2015-09-03 13:38:00] BitMEX_Sam : Maybe it makes sense to put that into a tiny module. But it's really quite simple. Insert and partial is very easy, when deleting/updating you simply use the `keys` definition to find the right item [2015-09-03 14:43:26] priceaction : omg eth is takin a big hit [2015-09-03 15:46:43] jillhomebrew619 : hi there [2015-09-03 15:46:56] jillhomebrew619 : first time user of Bitmex. forced here because okcoin blocked deposits [2015-09-03 15:47:53] BitMEX_Wally : jillhomebrew619: Welcome to BitMEX [2015-09-03 15:48:10] jillhomebrew619 : let me ask some dumb questions [2015-09-03 15:48:14] BitMEX_Wally : Sure [2015-09-03 15:48:26] jillhomebrew619 : first off, for "Speculation XBT" are these futures contracts? [2015-09-03 15:48:31] BitMEX_Wally : Yes [2015-09-03 15:48:40] jillhomebrew619 : does 25 Mar 2016 have a huge premium? [2015-09-03 15:49:04] jillhomebrew619 : $285?? like wtf haha even OKcoin's quarterly contracts don't have THAT large of a premium [2015-09-03 15:49:22] BitMEX_Wally : People love to go long [2015-09-03 15:49:34] BitMEX_Wally : If you think the premium is high then you can short the future and buy spot :) [2015-09-03 15:53:57] jillhomebrew619 : wow ok. awesome thnx [2015-09-03 15:54:22] jillhomebrew619 : i find the UI a bit flooded on first glance, but i think i'll have to just get used to it [2015-09-03 15:55:34] BitMEX_Sam : jillhomebrew619: We try to put everything in front of you so you can monitor the market all at once [2015-09-03 16:09:00] j8 : jillhomebrew619: keep in mind the `XBT` series are quanto futures, not directly comparable to OKC futures. there is a good reason they are priced higher. [2015-09-03 16:09:19] j8 : https://blog.bitmex.com/xbt-vs-xbu-chain/ [2015-09-03 17:41:23] ssa3512 : BitMEX_Sam: what happened to XBTU15_Z15 [2015-09-03 18:06:40] vbmithr : Yeah [2015-09-03 18:06:47] vbmithr : I have got BitMEX data in Sierra Chart [2015-09-03 18:06:49] vbmithr : totally amazing [2015-09-03 18:11:10] j8 : nicely done [2015-09-03 18:11:36] vbmithr : Next week it will be public [2015-09-03 18:11:39] vbmithr : BitMEX entry in Sierra Chart [2015-09-03 18:11:41] vbmithr : for free [2015-09-03 18:11:59] vbmithr : And in one more week, trading support [2015-09-03 18:12:02] vbmithr : if all goes well [2015-09-03 18:25:53] ssa3512 : anyone else notice the 44 contract orders on XBTU? [2015-09-03 18:26:03] ssa3512 : I'm thinking it must be a bot [2015-09-03 18:26:13] j8 : for sure [2015-09-03 18:26:23] ssa3512 : but why is the question [2015-09-03 18:26:31] j8 : why not? [2015-09-03 18:26:42] ssa3512 : 44 contracts doesn't make you a whole lot [2015-09-03 18:28:09] j8 : maybe still getting comfortable with their pricing etc. [2015-09-03 18:28:38] ssa3512 : I wouldn't trust my money to a bot [2015-09-03 18:28:44] ssa3512 : too easily manipulated [2015-09-03 18:28:53] j8 : thats why you do it with 44 contracts to start [2015-09-03 18:29:19] j8 : probably 90% of the orders here are placed by bots [2015-09-03 18:29:19] ssa3512 : well for me I just mean at all, ever [2015-09-03 18:29:31] ssa3512 : really? 90%? [2015-09-03 18:29:37] j8 : i dunno just guessing [2015-09-03 18:29:49] ssa3512 : they must be losing money then because I keep making money [2015-09-03 18:30:26] j8 : when you see a bunch of orders for the same amount on both buy and sell side, there's a good chance its someone using a simple market making bot [2015-09-03 18:31:11] j8 : i.e. all the 23's and 24's on `XBUU15` and `XBUZ15` [2015-09-03 18:31:47] j8 : they may also be making money, with arbitrage elsewhere [2015-09-03 18:32:47] j8 : if their pricing is robust and their spreads are big enough it's pretty hard to manipulate [2015-09-03 18:32:47] ssa3512 : ha switched to XBUU15 and the amounts in the quantity box stayed [2015-09-03 18:32:48] ssa3512 : Margin (Buy): 401.3862 XBT [2015-09-03 18:32:54] ssa3512 : no thanks [2015-09-03 22:58:10] TInvest : uh that might hurt some [2015-09-03 23:17:20] johnny : I have closed all my positions but my balance is still more than my availabke funds, pls explain? [2015-09-03 23:30:09] krtek.net : withheld profit? [2015-09-03 23:31:00] johnny : why is there a need to withald profit given that this exchange promises to not socialise losses? [2015-09-03 23:32:42] BitMEX_Arthur : Whicj contract did you trade? [2015-09-03 23:37:51] johnny : XLT7D [2015-09-03 23:38:11] johnny : So my profit is withheld until settlemtn of the contract? [2015-09-03 23:39:33] BitMEX_Arthur : Yes which is Friday 12 GMT [2015-09-03 23:40:04] johnny : just curuous here, if you will never socialise losses why is this necessary? [2015-09-03 23:40:32] krtek.net : only XBU series doesn't socialise imho. [2015-09-03 23:40:50] krtek.net : all others are DPEs [2015-09-03 23:41:04] johnny : oh lol [2015-09-04 03:34:00] VanCleef : hello [2015-09-04 03:34:32] VanCleef : had a question about this article - https://blog.bitmex.com/cash-and-carry-arbitrage-with-bitmex-futures/