▲ Work in progress. This site is built and researched in the open: pages, numbers and findings may change or be wrong, and the record has gaps. Not advice. More
The Lab
Ideas traders use, put to the record
← the Lab · strategies tested · write-up
#32 Can a small trader make markets on Bybit? No reliable edge
Past trades; no real orders were placed. Every figure is a share of the money, a count, or a basis point (a hundredth of a percent).
Last checked: 15 October 2026.
The question
A market maker keeps a buy order just under the price and a sell order just over it, and earns the gap between them, the spread, every time both fill. The worry is adverse selection (in the sense of Glosten and Milgrom, 1985): your orders fill mostly when the price is about to move against you. Is it viable at a mid-level retail fee tier (Bybit's VIP 3), and if not, what fee would make it work?
How we tested
- Every Bitcoin and Ether perpetual trade on Bybit, 1–7 September 2026: 11.3 and 12.7 million trades, from the exchange's public files.
- A simple quoter:
- one buy and one sell order, 1,000 dollars each, reset every second around the last trade price;
- the gap from the price set at 0.5, 1, 2, 5, 10 or 20 basis points each side;
- holding at most 10 orders' worth, leaning the quotes away from what it holds (the idea behind Avellaneda and Stoikov's 2008 model);
- quotes rounded to the exchange's price step.
- Fills, two ways:
- cautious: a trade has to print beyond our price;
- generous: a trade at our price is enough.
- Fees, from Bybit's own fee table: VIP 3 pays 0.014% on resting orders and 0.035% on market orders. The standard 0.02% / 0.055% is shown beside it.
- Adverse selection: where the price was 1, 10 and 60 seconds after each fill, compared with fills on a random side at the same moments.
The maths, step by step
1. The spread you capture. With the price at 80,000 and a 2 basis point gap, the buy sits at 79,984 and the sell at 80,016. Buying at one and selling at the other earns 4 basis points, 2 on each fill.
2. The fee you pay. At VIP 3, each fill pays 0.014%: 1.4 basis points. A 2-point gap keeps only 0.6 points per fill after the fee.
3. Adverse selection. If, one second after you buy, the price is 0.65 basis points lower, that fill lost 0.65 points of its 2.
4. The break-even fee. Take what each fill earned before fees, in basis points. A fee lower than that, or a rebate when it is negative, is what the quoter would need to break even.
What we found
1. Tight quotes get picked off, before any fee.
| per fill, 2 bp each side, cautious | Bitcoin | Ether |
|---|---|---|
| fills a day | 1,672 | 2,925 |
| spread captured | +2.0 bp | +2.0 bp |
| price 1 second later | −0.66 bp | −0.60 bp |
| random fills at the same moments, 60 s later | −0.12 bp | +0.07 bp |
| earned per fill before fees | −0.13 bp | −0.40 bp |
| the week, at VIP 3 | −16% | −29% |
- At 0.5 and 1 basis points, the quoter filled 6,000 to 18,000 times a day and lost even more, before fees.
- Every tight setting ended up holding as much as it was allowed to. The price kept running over its orders.
- Leaning the quotes away from what it held didn't help.
2. The fee that would make it work is a rebate.
- For the tight settings to break even, the exchange would have to pay the maker 0.0013% to 0.0084% per fill.
- VIP 3 charges +0.014%. No VIP tier pays a rebate. Only special market-maker programmes do.
3. Wide quotes are a bet on direction.
- At 5 to 20 basis points, the quoter filled only 2 to 310 times a day.
- Its week ranged from −5% to +6.5%, and it held as much as it was allowed to most of the time.
- Ether at 10 bp made +6.5%, with 6 of 7 days up, in a week when Ether itself rose 0.9%;
- Bitcoin at 10 bp made +0.4%, with 4 of 7 days up.
- One week can't separate that from luck. By the test set in advance (up on both coins, and on at least 5 of 7 days each), it isn't viable.
4. The two fill rules barely differed. The real deciding factor is where your order waits in the queue, and public trade files can't show that. Being behind the queue only makes it worse.
What it means
- At these fee tiers, market making did not pay. Where the trading was busy, the quotes were picked off before fees. Where it wasn't, it was a directional bet carrying an inventory.
- It would take an exchange rebate, and a better view of the order book than trade files give, even to break even.
Limits
- One week, two coins.
- No order book: no queue position and no true mid-price.
- The VIP 3 fees were read from Bybit's fee table through a search tool, because the page refused direct requests. The standard tier is shown beside them.
- Quotes were moved onto the exchange's price step after the first run, which had made the two fill rules identical.
Update, 21 October 2026: wording
Added after this page was published. The text above is left as it was, except the wording this lists.
- One conclusion rewritten as what the data showed, in a researcher's voice rather than as advice to the reader. The findings and figures are unchanged. Before:
- "Don't build a market-making bot at these fee tiers. Where the trading"
Update, 27 October 2026: where the idea comes from
Added after this page was published. The text above is left as it was.
- Making a market is as old as exchanges. Its theory begins with Harold Demsetz in 1968, who saw the spread as the price of being able to trade at once.
- Adverse selection, the market maker's main risk, was put in plain words by Jack Treynor in 1971, writing as Walter Bagehot: the market maker loses to traders who know more and wins from those who don't. Glosten and Milgrom made it a model in 1985.
- For example: 10 buyers come to a market maker who sells 1 above the fair price of 100, at 101. 8 know nothing. 2 know the price is about to reach 105.
- From the 8 it earns 1 each: +8. To the 2 it loses 105 − 101 = 4 each: −8.
- It breaks even. With 3 informed buyers in 10, it would lose. The spread must widen as the informed share grows.
- Leaning the quotes against what you hold goes back to Thomas Ho and Hans Stoll in 1981. Avellaneda and Stoikov's 2008 model is its modern form.
- The catch: the queue. At each price, the order that arrived first fills first. Public trade files don't show who was first. So no test from trade files can tell a small quoter how often it would really fill (finding 4).
- Theirs and ours. Demsetz's spread, Treynor's and Glosten and Milgrom's adverse selection, and Ho and Stoll's and Avellaneda and Stoikov's inventory lean are theirs, credited below. The quoter, its fill rules and the break-even fee are ours.
Credits
- Lawrence R. Glosten and Paul R. Milgrom, "Bid, Ask and Transaction Prices in a Specialist Market with Heterogeneously Informed Traders", Journal of Financial Economics, 1985: adverse selection.
- Marco Avellaneda and Sasha Stoikov, "High-Frequency Trading in a Limit Order Book", Quantitative Finance, 2008: leaning quotes against the inventory.
- Harold Demsetz, "The Cost of Transacting", Quarterly Journal of Economics, 1968: the spread as the price of trading at once.
- Walter Bagehot (Jack Treynor), "The Only Game in Town", Financial Analysts Journal, 1971: the market maker against the informed trader.
- Thomas Ho and Hans R. Stoll, "Optimal Dealer Pricing under Transactions and Return Uncertainty", Journal of Financial Economics, 1981: quotes that lean against the inventory.
- The quoter and the fill rules are our own, simpler than either model.
- Data: Bybit's public trade records; Bybit's published fee table.
- PerpGremlin and Claude, Can a small trader make markets on Bybit?, TerminalGremlin, 2026: the tests, the code and the words.
← Shannon's demon: rebalancing 50/50A 2% stop, 4% target bot →
Educational research from public market data; any trading discussed is paper, never real. Nothing here is advice. The full notice.