Managing Inventory Risk When Market-Making Event Contracts
Quoting both sides does not remove outcome risk. If only one quote fills, the resulting position remains exposed while you seek an offsetting transaction. Spread capture, inventory changes and costs must be measured separately rather than inferred from a symmetric pair of displayed quotes.
For an ordinary binary contract, a held losing side can settle to zero. A bounded payout does not make a tightly sized loss stop certain to execute, and a fixed cash balance does not justify calling the position's loss unbounded. Record the actual holdings, cost basis, working orders and instrument rules.
Count positions and contingent exposure together
Inventory is not just the last completed fill. Pending or partially filled orders can add exposure; uncertain cancellations remain a risk until reconciled. Save the order identifiers, requested and filled quantities, side, action and latest known state.
Use common units. Contract quantity, dollars committed, current mark and maximum terminal payout are different measurements. Two related market headlines can create correlated exposure even when their identifiers differ. Build scenario records from the actual rules rather than assuming a count of positions measures diversification.
Skew can encourage reduction without ensuring it
A lower bid may discourage acquiring more of an already overweight side, and a lower ask may make a reducing sale more competitive. That is a conditional incentive. It does not guarantee an incoming counterparty, a fill at the desired price, or successful cancellation of a previous quote.
Polymarket international's market-making guidance includes inventory-aware quoting and order-state reconciliation. Those venue-specific instructions should not be mistaken for a shipped Banger live-market-making feature. Separate candidate calculation from accepted orders and completed fills in any simulation.
The reservation-price model has assumptions
Avellaneda and Stoikov's original stock-market model uses a Brownian midprice and values inventory at a terminal horizon. Its inventory adjustment contains remaining time. That mathematical terminal horizon is not an event contract's binary settlement or a guaranteed opportunity to sell at the mid.
In the familiar reference expression r = s - q × gamma × variance × remaining_time, the adjustment tends to zero as remaining_time tends to zero. This makes the reference return toward s; it does not change q. Applying the expression to a binary market needs a separately justified model and liquidation procedure. The original paper does not prove automatic flattening at event resolution.
from decimal import Decimal
def reservation_reference(mid, inventory, gamma, variance, remaining):
# A model reference calculation, not a binary-market quoting algorithm.
s, q, g, v, tau = map(lambda x: Decimal(str(x)),
[mid, inventory, gamma, variance, remaining])
if not all(x.is_finite() for x in [s, q, g, v, tau]):
raise ValueError("inputs must be finite")
if not 0 <= s <= 1 or min(g, v, tau) < 0:
raise ValueError("invalid reference inputs")
return s - q * g * v * tau
q = Decimal("10") # Hypothetical inventory in contracts.
print(reservation_reference("0.50", q, "0.1", "0.04", "1"))
print(reservation_reference("0.50", q, "0.1", "0.04", "0"))
print(q)
# 0.460, 0.500, 10: the time adjustment vanished; inventory did not.The arithmetic was checked offline, including zero remaining time, signed inventory and invalid inputs. It is a model-reference demonstration, not calibrated quote guidance. Parameters, units, price constraints and exceptional settlement outcomes require their own research.
A shutdown procedure needs evidence
- Define when to stop proposing new quotes for the research run.
- Reconcile every outstanding order and any partially filled quantity.
- Distinguish requested cancellation from a confirmed terminal order state.
- Represent any remaining held exposure explicitly instead of assuming it vanished.
- Preserve unavailable exits, unresolved outcomes and final resource state.
Do not promise that liquidity always deteriorates near resolution or that it remains available until a deadline. Examine the exact window. News, interruptions and a closed market can make a proposed reduction unavailable regardless of the quoting formula.
Read paper results under their actual fill model
Banger's public beta supports paper research and does not accept public live deployments. Its public 0.1.7 forward-paper context includes an assumed fill at a non-crossing requested limit. Such a result cannot validate the real queue position or the availability of an inventory-reducing sale.
Keep the strategy version, model, simulated fills, working-order states and stop evidence with the result. A terminal worker state is not proof of a real account's canceled orders or flat balance. Inventory is controlled by verified state transitions and explicit constraints, not by a formula's shrinking time term.