Conversation

1) At FTX, our default 'price' that we report for a market is what we cal "mark price": the median of bid, ask, and last. Why?
4
72
2) First, some examples: If bid is 290, ask is 295, and last is 292, mark price is 292 If bid is 290, ask is 295, and last is 310, we report 295
1
7
3) Why this, instead of last? The first thing to note is that mark price is definitely _reasonable_. Whatever method you use, you probably shouldn't report a price lower than the bid or higher than the offer; BTC's price definitely isn't 9350 if you can buy i at 9340!
1
10
4) But already we see that 'last'--what most venues use--fails this test! On most exchanges if the last trade was 1 hour ago at 9340, and the market is 9350 @ 9360, they'll report 9340 as the 'price'. It is a price of a sort--but clearly not the most important price to show!
6) But that's not the only reason they do. Ask some exchanges (e.g. the esteemed DueDEX), and they'll eventually admit to faking volume if you push hard enough--but claim they only did it so that the graph updates.
1
12
7) This is a terrible solution but it does represent a real problem: if your market last traded 5 hours ago and prices have changed since then, 'last' will be out of date. And if you're graphing last price, your graph will not display a reasonable current price.
2
10
9) You can see why some shady exchanges could use this to justify faking volume. "We just wanted our graphs to be informative!", they say. "We're looking out for our customers!"
1
11
10) To be clear, I do _not_ endorse faking volume to make graphs look pretty--it's vital for the space that we present real accurate data. That's, like, the whole point of blockchains! But this does present a real headache for many exchanges. Using our mark price fixes this.
1
14
11) So, ok, last isn't great. But why not mid? Well, say that some exchange's market is $10 @ $9500. "Mid" is $4755, but that's probably not what the coin is worth. It could be worth $9400! The problem is that if markets are too wide, mid might be crazy.
1
5
12) So in that case, you need something better than mid--you need to narrow it down within the spread. And the last traded price is a pretty reasonable way to do it.
1
7
12) Sure, your pricing might not be quite right--it could be worth $9300 now instead of $9400--but when a market is $10 @ $9500 your goal isn't "show the exact fair value". Your goal is "show something that's not totally insane". So once again our mark price is reasonable.
1
6
13) Now I don't want to claim that median(bid,ask,last) is the _perfect_ system. There are lots of others! Should you incorporate bid size? How about time since trade? Maybe!
1
7
14) But it shouldn't be an exchange's goal to do really complicated calculations to estimate fair values for customers--that's their job. The goal is to report accurate, timely, reasonable data that's easy to parse. Mark price is simple to understand and it's reasonable.
2
19