Market Making
Post two-sided quotes on tempered card expressions and manage inventory against a simulated adversary.
Overview
- Start with $10,000 cash.
- Choose a mode (Beautiful or Chaotic) and 1–10 rounds. Each round deals 4 cards from a standard 52-card deck (A–K, values 1–13) and runs 6 markets.
- Suits are spades (black), hearts (red), diamonds (blue), and clubs (green).
- Your goal is to finish with as much cash as possible after all positions settle.
- History Mode column uses
B/Cplus round count (e.g.B2,C10).
Modes
- Chaotic (default) — expressions use
+ − × ÷, may include nested absolute values, and always wrap the whole expression in outer absolute value. - Beautiful — no absolute values; operators are only
+and×. Independently, the whole expression is squared (top-right²) with probability 1/8, square-rooted (top-right½) with probability 1/8, or left plain 3/4 of the time — written with overall parentheses, e.g.(x1 + x2 * x3)². If substituting 13 for every variable already exceeds 500, squaring is disallowed; then only square-root (1/8) or plain (7/8) can occur.
Timers
- Per market — 60 seconds to submit a quote (or skip). Timing out skips that market.
- Overall — 8 minutes per round (scales with the number of rounds you selected). If the global clock hits zero, cash is set to $0 and the game ends.
Preparation
Before play, a prep table lists every market’s expression and temper divisor. Distribution stats (mean, quantiles, std) are not shown before or during play — you compute them yourself. Expressions are tempered so the maximum possible value is at most 500. Order: optional outer power first, then temper. When temper > 1 the whole (possibly powered) expression is wrapped: e.g. ((x1 + x2)²)/5, (|x1 + x2|)/3.
Reveal schedule within a round (cards face-up from the left):
- Markets 1–2: 0 cards revealed
- Markets 3–4: 1 card revealed
- Markets 5–6: 2 cards revealed
Paired markets share the same reveal info. Later rounds exclude previously dealt cards from the remaining deck — the card tracker (♠) shows what has already appeared.
Each Market
- You see a tempered expression over the 4 round cards (form depends on mode — e.g. chaotic
|x1 + x2 − x3|, beautiful(x1 + x2 * x3)½). - Enter a bid, ask, and how many slots (quantity) on each side (at least 1).
- Quotes must stay in
[0.01, 500]with 0.01 steps. Defaults are bid 10 / ask 15. - Binding rule: after you commit a side, the other side is forced so ask = ⌈1.5 × bid⌉¢ or bid = ⌊⅔ × ask⌋¢. Your submitted quote must satisfy one of those bindings, with ask > bid.
- Submit Market posts the quote; Skip Market Making (or a timeout) leaves no trade for that market.
Fills & Cash
- An adversary hits exactly one side of your book (or none if you skip).
- Rational adversary (50% of markets): chooses the side closer to the expression’s mean under current info (ties break by midpoint).
- Random adversary (50%): picks bid or ask with equal probability.
- Bid fill: you pay
bid × bidSlotsimmediately (requires enough cash) and go long that quantity. - Ask fill: you receive
ask × askSlotsimmediately and go short that quantity. No cash reserve is required for asks. - Open positions appear in the portfolio panel until the round ends.
Round Settlement
- When the round finishes, all four cards are revealed and each expression’s true tempered value is shown.
- Positions liquidate at the actual: cash adjusts by
qty × actual(long positive, short negative). - Per-trade PnL = cash change at fill + liquidation. A “hit” means the actual landed inside your [bid, ask] interval.
- Then the next round begins (new hand, new markets) until all selected rounds are done.
Reports
After the game, you can generate a PnL report that rebuilds distributional context for your quotes and outcomes.
Seeds
Each game has a seed (0–2,147,483,647) determining deals, expressions, and adversary modes. The same seed reproduces the same layout.