Overview
Market of Cards is the classic group market making game, actually played at some trading firms on their final-round super day, where candidates make markets against each other at the office. In this single-player version you trade against adaptive AI bots. Every card in play, your two private cards, each bot's two private cards and the shared centre cards, adds up to a hidden true value. You and the bots take turns posting a bid and ask that the rest of the table trades against, a centre card is revealed after every round of quotes, and when the last card flips your trades settle against the true total. Your only private information is your own hand, so the game is about estimating the true value better and faster than the bots.
Example: your turn to quote
You see your own two cards and the centre cards revealed so far. Everything still face down you have to estimate. On your turn you post a two-sided market on the total value of every card on the table, and the other traders decide whether to hit your bid or lift your offer. When they quote, you get the same choice.
Your turn to make a market!
Waiting for responses to your market…
Next turn starting…
7
♥
K
♠
4
♣
5
♥
Revealed value:
-20
+30
TURN
Y
You
Pos: +2Pos: +1
🤖
Bot 1
Pos: -1
🤖
Bot 2
Pos: +1
🤖
Bot 3
Pos: -2Pos: -1
Game Activity
ROUND 3 (current)
Bot 1 480 / 500
└ You bought @ 500
You 510 / 530
└ Bot 3 bought @ 530
🃏 Card revealed:
4♣
+40
ROUND 2
You 505 / 525
└ Bot 2 bought @ 525
└ no trade
Your Market
Your turn — submit!
Bid
510
Ask
530
Size
−
1
+
Size
−
2
+
Spread: 20 (max 20)
Submit Quote
Quick quotes (spread 20):
390/410
440/460
490/510
540/560
590/610
Time to make a market
14131211109876.9876543210s
Trade! Bot 3 bought from you @ 530
Your Hand
Q
♦
+120
9
♠
+90
Hand value:
+210
Cards are worth ten times their rank, with red picture cards positive and black ones negative.
Game Phases
1
Value your hand
Number cards 2 to 10 are worth their value times 10 in any suit. Face cards depend on colour: red Jack, Queen and King are +110, +120 and +130 while black ones are negative. The ace follows your setting, always +10 in lowest mode or plus and minus 140 in highest mode. Memorise these, fluent valuation is the whole game.
2
Estimate the true value
Add your two cards to the expected value of every card you cannot see: the bots' hands and the unrevealed centre cards. A quick estimate using the average value per card beats a slow exact calculation, because in trading you rarely have time for the precise number and it barely changes your decision.
3
Quote your market
On your turn you post a bid you will buy at and an ask you will sell at, with a spread of at most 20. Centre it on your estimate of the true value and skew it to manage your position. Quote too close to your own information and you give it away; quote at the table average and you risk trading in the wrong direction. Taking too long costs a 50 point penalty.
4
Trade, reveal, adapt
When a bot quotes, you get first shot: buy at their ask when your value is above it, sell at their bid when it is below, or pass. After everyone has quoted, the next centre card is revealed, so re-estimate before the next round. The AI bots adapt their markets to your quotes and to each other, exactly like opponents in the live group game.
Scoring
+Edge
Buy below value, sell above
When the final centre card is revealed, the true table value is calculated. Each buy pays the table value minus your price and each sell pays your price minus the table value, so every trade with edge adds to your P&L.
-50
Too slow to quote
Missing your quoting deadline costs 50 points. Pre-calculate your fair value before your turn so you can post a market without hesitating.
Risk
Trade in both directions
In the interview version your risk manager wants to see you lock in profit, not pile up a one-way position. After a good buy, hunt for a good sell: closed cards and six unknown bot cards keep the variance high until the end.
Bots
Adaptive AI opponents
Each bot adapts its market to the quotes it has seen, including yours, balancing between hiding its own information and finding profitable trades. Read their quotes for clues about their hands.
Your score is your total P&L against the hidden table value at the end of the game. The Top Scores boards rank on P&L and filter by the settings that change what is achievable, so bot count, reaction time, ace value and number of rounds each define their own competition.
Top scores
Start Your Interview Preparations!
Already have an account? Log in!
Your progress
📊 Track your progress
See your scores over time and watch yourself improve.
Start Your Preparation
Already have an account? Log in
More Practice
[16:06:41] You quote: 490 at 510
[16:06:41] AI 1: “Mine at 510”
[16:06:48] AI 1 quotes: 584 at 604
[16:06:54] You: “Yours at 584”
[16:07:26] AI 2 quotes: 429 at 449
[16:07:29] You: “Mine at 449”
[16:07:31] AI 3 quotes: 415 at 435
[16:07:33] You: “Mine at 435”
[16:07:34] My own hand value: 120, Total expected value: 508.5
[16:07:49] You quote: 500 at 520
[16:07:49] AI 1: “Mine at 520”
[16:07:56] AI 1 quotes: 592 at 612
[16:08:00] You: “Yours at 592”
[16:08:03] AI 2 quotes: 437 at 457
[16:08:05] You: “Mine at 457”
[16:08:06] AI 3 quotes: 423 at 443
[16:08:07] You: “Mine at 443”
[16:08:08] My own hand value: 120, Total expected value: 506.2
[16:08:31] You quote: 498 at 518
[16:08:31] AI 1: “Mine at 518”
[16:08:36] AI 1 quotes: 589 at 609
[16:08:39] You: “Yours at 589”
[16:08:40] AI 2 quotes: 435 at 455
[16:08:41] You: “Mine at 455”
[16:08:42] AI 3 quotes: 421 at 441
[16:08:43] You: “Mine at 441”
[16:08:44] My own hand value: 120, Total expected value: 533.8
[16:08:56] You quote: 523 at 543
[16:08:56] AI 3: “Yours at 523”
[16:09:11] AI 1 quotes: 617 at 637
[16:09:13] You: “Yours at 617”
[16:09:14] AI 2 quotes: 462 at 482
[16:09:16] You: “Mine at 482”
[16:09:17] AI 3 quotes: 448 at 468
[16:09:18] You: “Mine at 468”
[16:09:27] It turned out that the total value of the table is 580
[16:09:27]
Your PNL 937 points
AI 1 PNL 130 points
AI 2 PNL -477 points
AI 3 PNL -590 points
How is this PNL even calculated? Simply doing Sells-Buys is not giving the PNL value
Your buys:
Your sells:
So, 9 buys, 7 sells. Cross out 9 buys versus 7 sells to get a PNL of:
The remaining two buys are at 482 and 468, while the table value turned out to be 580:
So, the final PNL for you is 727 + 210 = 937.
This is exactly what the log tells as well, so the game calculated the PNL correctly. Does the calculation in this reply help? If not, don’t hesitate to reach out.
Are we supposed to do these calculations simultaneously while making the market? There are a lot of calculations involved to do simultaneously. Or can we just give some approximate answers during the interviews?
1) I do not understand why you cannot break even for the facts case
2) For the Guesstimate, I got the following result
Pos size + 2
Max possible loss 13,480,000
Your break even is incorrect, the correct answer is sell 2 shares for the price of 8,740,000 each.
Shouldn’t it be 6,740,000?
It shouldn’t be 6,740,000, because you need to add the 6,740,000 on top of the average price of your open two positions (as you mentioned, pos size +2). If after crossing out your lowest sells against your highest buys (to calculate the max guaranteed loss) your remaining positions are, for example, long at 3 million and long at 1 million, your average price being long is 2 million, so you add that on top of the 6,740,000.
Example:
buy at 10 mil
sell at 1 mil
buy at 8 mil
sell at 2 mil
buy at 6 mil
buy at 4 mil
Proof:
Buys:
Sell:
Hope this helps, let me know if anything is unclear.
For calculating the max guaranteed loss, are you supposed to remember all the prices at which you bought & sold, or are you allowed to write things down?
I had the following game:
Please make me a next market with a maximum spread of 5.
I will buy
Please make me a next market with a maximum spread of 5.
I will buy
Please make me a next market with a maximum spread of 5.
I will buy.
Now I will quote the next market. I want to buy 4 lots at 605. Do you want to trade?
Yes, I will sell 4 lots to you (me)
.Please make me a next market with a maximum spread of 5.
I will buy.
Please make me a next market with a maximum spread of 5.
I will sell.
This was the final round, now I will ask a few questions about your position.What is your position? (Example: if you are 2 short, write down -2. If you are 3 long, just write down 3)Position
Your position is incorrect, the correct answer is 1
If I sold 3 times, then sold again 4 times (since it asked to buy from me 4 lots), then sold again, and then it bough from me only 1 time, how can my total position be 1?
Your own EV: no, this is just the EV as it is. It’s up to you if you use it as a mid-market or take on a different strategy.
Your opponents mid market: yes, they take into account their own real-EV, but also include what others quote as well to adjust it.
When I’m done, I’ll confirm it here. Please let me know if you have any questions left afterwards.
buy at 200
buy at 240
sell at 150
sell at 350
The PnL per trade is:
300-200 = 100
300-240 = 60
150-300 = -150
350-300 = 50
Total PnL = 100 + 60 -150 + 50 = 60
10*(1+2+3+4+5+6+7+8+9+10+0+0+0)/13 = 42.3.
-50 + 9*42.3 = 330.8
Important to note: this off course doesn’t take into account that two cards are now out of the deck, and so the expected value per card should have slightly changed. However, the EV just serves as a rough estimate of where your mid-market could be. It would take too much time to constantly calculate the EV too accurately, considering the fact that those exact decimals won’t change your game play. In real life, you won’t have time to calculate it that precisely: the method above is the quickest/ most efficient.