DeFi

Enabling Leverage on Prediction Markets

Thank you to Ananth Vivekanand, Ciamac Moallemi, Mike Kremer, and Tushar Gadagkar for valuable feedback and review.

Key Insights

  • Leverage in prediction markets is hard because sudden price movements can instantly wipe out all of a financier’s lent capital. Financiers must pass that risk back to traders by charging them a fair, upfront fee.
  • When a prediction market can instantly resolve to 0 with no liquidation window, the fair fee a financier should charge exactly offsets the levered upside. This means there is no benefit to the trader from a “leveraged position” vs an unleveraged one.
  • Estimating losses over a position's entire life is possible but small misspecifications can wildly over or underestimate the fair fee. To avoid this, prediction market platforms should only require the financier to price the losses over a short epoch, and charge the trader a rolling per-epoch fee, similar to perps funding.
  • Losses come from two sources, gradual price shifts and sudden jumps, with jumps doing most of the damage. Slow declines can cause small slippage but new information that causes instant resolution can lead to larger losses of capital.
  • Prediction market platform design will be crucial to reducing jump risk further. Building a prediction market platform with an auction to help capture jump arbitrage and rebate it back to financiers and market makers could boost liquidity and lower fees.

Leverage in prediction markets is deceptively hard. Take a market like “Will Trump Fire Powell by the end of the year?” At any point before resolution, Trump could fire Powell and the NO price could effectively jump from near $1 straight to $0. When that jump hits, there’s no time to liquidate a long NO; the price effectively jumps instantly to its final value. For a financier providing the capital for that leverage, that means an immediate and total loss. This jump risk is one of the reasons why mainstream prediction markets like Polymarket and Kalshi do not offer leverage. But before understanding how leverage could work in prediction markets, it helps to first outline how prediction markets and leverage function at a basic level.

Background on Prediction Markets

Binary prediction markets, like those on Polymarket, Kalshi, and others, let traders buy and sell contracts tied to whether a future event will happen. A YES contract pays $1 if the event occurs (and $0 otherwise); a NO contract pays $1 if the event does not. In frictionless, risk-neutral settings, the YES price approximates the market-implied probability that the event occurs.

When someone buys a YES share for $0.65, they simply pay that $0.65 to a seller, and will receive $1 if the event resolves in their favor. The system stays solvent because each full set minted (one YES and one NO share) is backed by $1 of collateral locked. On Polymarket, this is implemented through Gnosis’ Conditional Token Framework: a trader deposits $1 of collateral to mint one YES and one NO token. They can then sell either or both to other traders at any price. Anyone who later holds one YES and one NO for the same market can merge them back and withdraw $1, which helps keep the YES price + NO price ≈ $1.

A central limit order book (CLOB) matches buy and sell orders, where bids and asks meet. Some platforms, like Polymarket, match orders offchain for speed and settle onchain, while others are fully centralized, with offchain matching and settlement in their own clearing system (e.g., Kalshi). Emerging designs explore fully onchain order books (e.g., HIP-4 proposal). Liquidity depends on how quickly market makers can update their quotes as new information arrives.

In relatively continuous markets like equities, market makers post bids and asks, earning the spread in between. But when informed traders act on news before market makers can update quotes, they exploit stale quotes, a cost known as adverse selection. In prediction markets, this risk is amplified: resolution events or sudden news can swing prices drastically (e.g., from $0.95 to $0.05 in one move, a 94.7% immediate drop). Traders with slightly earlier information can hit outdated quotes and inflict large losses on market makers.

Traders use leverage to control larger positions with borrowed funds supplied by a financier, amplifying both gains and losses. In equities, brokers can lend cash to traders to go long and buy more stock. If the price drops too low, the broker can easily issue a margin call or (in rare cases) liquidate positions (forcefully sell the stocks to get cash) because prices move continuously and liquidity is deep. Prediction markets, by contrast, face thin liquidity and sudden price jumps (which are really two sides of the same coin) making leverage nearly impossible. Polymarket and Kalshi have aimed to encourage liquidity and tighten spreads via incentives, but it remains uncertain how sustainable this is. There may be more sustainable ways to benefit market makers like implementing cancel-priority ordering (prioritizing cancel orders to be executed first) but that’s beyond the scope of this report. And even if implemented, it wouldn’t fix the core problem inhibiting leverage: When information hits, prices can move instantly, leaving no time or liquidity for liquidations, potentially exposing the financier’s funds to loss.

Therefore, since jump risk is more or less inherent to a prediction market, financiers who wish to offer leverage must explicitly price the risk of losses from jumps. We assume that a financier will provide leverage to a trader for an upfront fee on a long YES position. The long NO case follows analogously, though the relevant market parameters may differ.

Abstract on the Model

This piece aims to provide a theoretical framework and architecture for enabling leverage in binary prediction markets where prices can jump on news. If resolution is effectively instant (so there is no time to liquidate and the position's value jumps straight to $0), the fair fee a financier charges captures all the upside of a leveraged position. This means that there is no benefit to the trader of opening a leveraged position with a fair fee vs an unlevered position, as the returns on equity will be exactly the same.

In real markets, there could be time to liquidate before the opposing option resolves, so leverage could theoretically work (i.e., you can liquidate before NO resolution on long YES). In a risk-neutral, frictionless setting, the fair fee a financier should charge to the trader for opening a leveraged long YES position should equal leverage ×\times the probability of liquidation before resolution to YES ×\times the average loss if liquidation happens. However, in practice, finding the probability of liquidation before resolution to YES over the entire life of the position can be very difficult to do because we have to forecast a wide range of variable inputs (drift, volatility, jump risk) that change over time.

To make it easier to price leverage for financiers, we can break a position into defined periods of time, “epochs”. The position must pay an upfront fee to a financier in order to be rolled over to the next epoch. If epochs are short, the fee a financier should charge for that epoch becomes much easier to find.

The fee should equal leverage ×\times the probability of liquidation in this epoch ×\times the average loss if liquidation happens in the epoch. In the real world, the financier will also require a small capital charge for tying up funds. We split liquidation into the probability of liquidation from jumps (discontinuous shocks) and loss from jumps, as well as the probability of liquidation from creep (continuous moves) and loss from creep.

For analytical convenience, the later sections derive closed-form approximations for these epoch‑level quantities under a specific jump-diffusion model (with double-exponential jump tails). In practice, these formulas are model-dependent and sensitive to how jump and drift risk is calibrated, so they are best viewed as a theoretical baseline and a way to structure empirical calibration or stress tests.

Finally, we discuss ways for the financier to reduce the effective fair fee: financiers should react faster (shrink their reaction window) to reduce creep losses and manage their exposure by limiting leverage / increasing their buffer. However, jump losses are inherent to a market. It might be possible to partially offset those losses via prediction market design by capturing a portion of the arbitrage from sudden news shocks and rebating proceeds to affected market makers and financiers.

Most Basic Model: Fair Die, Instant Resolution

The simplest prediction market to start at is: “Will a fair 6-sided die show 6?” Because nothing is revealed until the roll, the market jumps instantly to either $0 or $1 at resolution. There is no possibility of the price creeping up or down, so there is no liquidation window. If NO occurs, the position is effectively marked straight to $0, which keeps the math clean. If the roll happens immediately, the horizon is so short that we can ignore any kind of discounting or risk-free rate.

Probabilities and Prices

  • Probability of YES: p0=16≈0.1667p_0 = \frac{1}{6} \approx 0.1667.
  • Probability of NO:1−p0=56≈0.83331 - p_0 = \frac{5}{6} \approx 0.8333 .
  • These are also the fair prices: YES costs p0p_0​, NO costs 1−p01 - p_0​.

Leverage Setup (3x long YES)

Units: prices and slippage are per YES share; fees are per 1 base share (the base shares come from the capital the trader supplies, i.e., if you have 6 shares at 3x leverage, there are 2 base shares).

  • The trader posts p0p_0 cash to buy 1 YES (the base share).
  • With Leverage L=3L=3, the position holds L=3L=3 YES shares; the financier supplies (L−1)=2(L - 1) = 2 extra YES shares worth of capital, i.e. p0(L−1)p_0(L-1).

Outcomes at instant resolution.

  • If YES: each YES share instantly jumps from $0.1667 to $1. The 3 shares are worth $3. The trader gets everything except what the financier contributed, their principal on the financed share; so financier PnL = 0.
  • If NO: each YES share instantly jumps from $0.1667 to $0. The 3 shares are worth $0. There is no time to liquidate, so the financed share goes to $0. financier PnL = −p0(L−1)-p_0(L-1).

To account for their risk in a risk-neutral, frictionless setting, the financier should charge the trader an upfront fee (FF). To calculate the fair breakeven fee, we set expected value (EV) = 0. The fee should equal the probability of resolving to YES times the expected loss (which is $0 in this case), plus probability of resolving to NO times the expected loss (which is −p0(L−1)-p_0(L-1) in this case):

EV=0=F+p0⋅0+(1−p0)⋅(−p0(L−1))  ⇒  F=p0(1−p0)(L−1)\text{EV} = 0 = F + p_0\cdot 0 + (1 - p_0)\cdot\big(-p_0(L - 1)\big) \;\Rightarrow\; F = p_0(1 - p_0)(L - 1)

This FF is therefore the financier’s expected loss per base share when liquidation isn’t possible.

Die Example Numbers

With p0=$0.1667p_0= \$0.1667, 1−p0=$0.83331 - p_0 = \$0.8333, L=3L = 3:

F=$0.1667×$0.8333×(3−1)≈$0.278 fee per base shareF = \$0.1667 \times \$0.8333 \times (3 - 1) \approx \$0.278 \text{ fee per base share}

If the trader bought $100 at a p0p_0 of $0.1667, they would have 600 base YES shares ($100 / $0.1667). If they used 3x leverage (L=3L=3), the financier would supply an additional 1,200 YES shares (worth $200) bringing their total YES shares to 1,800 YES shares ($300).

Since FF has units of $/base share, we need to multiply it by the total number of base YES shares to get the total fee the trader will pay:

$0.278×600=$166.67 total fee\$0.278 \times 600 = \$166.67 \text{ total fee}

Implications on Effective Leverage

Without leverage the trader will have a total cost of:

p0p_0

If the market resolves to YES, they will have a total return on equity of:

1−p0p0\frac{1 - p_0}{p_0}

With leverage the trader will have a total cost of:

p0+Fp_0 + F

If the market resolves to YES, they will have a total return on equity of:

L−(L−1)p0−(p0+F)p0+F=L(1−p0)−Fp0+F\frac{L - (L - 1)p_0 - (p_0 + F)}{p_0 + F} = \frac{L(1 - p_0) - F}{p_0 + F}

If we plug in the formula for F=p0(1−p0)(L−1)F = p_0 (1 - p_0) (L - 1), into the the leveraged return:

L(1−p0)−p0(1−p0)(L−1)p0+p0(1−p0)(L−1)=1−p0p0\frac{L(1 - p_0) - p_0 (1 - p_0)(L - 1)}{p_0 + p_0 (1 - p_0)(L - 1)} = \frac{1 - p_0}{p_0}

This result is the same exact return as the unleveraged return, so in expectation under fair pricing the leveraged and unlevered returns on equity are identical. In other words, enabling a leverage multiple for a trader is effectively impossible for prediction markets of instantaneous resolution.

The good news, however, is that very few markets actually function like the hypothetical die example. Prices move before resolution on rumors and news, and a levered long can be liquidated at a lower price before the market ever reaches 0, which enables leverage to be possible again.

This die example just mainly serves as a sanity check on what a “fair” maximum fee looks like. Any fee above F=p0(1−p0)(L−1)F = p_0 (1 - p_0) (L - 1) makes holding a leveraged position strictly worse (in expected return on equity) than just staying unlevered, so a reasonable trader would never accept a higher fee. It also shows that if you price leverage using only the known probabilities and max loss (everything jumps straight to 0 with no liquidation window), you always end up with effectively 1× leverage. As described below, a financier has to incorporate microstructure and path information to generate meaningful leverage for traders.

Real Market: Liquidation as a Price Barrier

To find the fair fee for a long YES, we can split the problem into two parts: (i) the probability a levered position is liquidated before the market resolves to YES, and (ii) the average loss if liquidation occurs.

Multiplying by LL (YES shares per base share), the leverage factor, converts amounts quoted in $/YES share quantities into $/base share quantities.

Let ptp_t be the YES price at time tt and p0p_0 be the entry price. Both are in units $/YES share.

Let ℓZE\ell_{\mathrm{ZE}} ($/YES share) be the price at which the trader has zero-equity and selling all LL shares exactly repays the financed principal. Any price below ℓZE\ell_{\mathrm{ZE}} implies a financier loss. LℓZEL\ell_{\mathrm{ZE}} ($/base share) also represents all the capital the financier contributes per base share, so L ℓZE=(L−1) p0L\,\ell_{\mathrm{ZE}} = (L - 1)\,p_0.

Let ℓ\ell ($/YES share) be the price (operational liquidation barrier) for a position where ℓ=ℓZE+b\ell = \ell_{\mathrm{ZE}} + b, where b≥0b \ge 0 (in $/YES share) is a financier-chosen buffer fixed at origination. When the price drops and first touches (hits) ℓ\ell, the engine liquidates the entire position at a volume-weighted average execution price pτℓp_{\tau_\ell}.​

First-hit times(for the liquidation trigger & YES boundary):

  • τℓ=inf⁡{t≥0:pt≤ℓ}\tau_\ell = \inf\{ t \ge 0 : p_t \le \ell \}; the earliest (first) time the price falls to/below the liquidation level.
  • τ1=inf⁡{t≥0:pt=1}\tau_1 = \inf\{ t \ge 0 : p_t = 1 \}; the earliest (first) time the price hits 1 and YES resolves.

If the platform liquidates at the barrier ℓ\ell, and pτℓ≥ℓZEp_{\tau_\ell} \ge \ell_{\mathrm{ZE}}, then the financier takes no loss. However, with slippage, fills can be below ℓ\ell, and may also fall below ℓZE\ell_{\mathrm{ZE}} on fast moves, leaving the financier with a loss.

Outcomes:

  • If τ1<τℓ\tau_1 < \tau_\ell : we reach YES before liquidation → financier is repaid → financier PnL = 0.
  • If τℓ<τ1\tau_\ell < \tau_1: we liquidate first. The engine sells all L shares and uses proceeds to repay the financier’s total principal (L−1) p0(L - 1)\,p_0.

Financier Loss at Liquidation ($ per base share).

The proceeds from the forced sale equal the total shares × the average execution price: L pτℓL\,p_{\tau_\ell}.

From earlier, the financier contributes and is owed: (L−1) p0(L - 1)\,p_0.

If Lpτℓ>(L−1)p0L p_{\tau_{\ell}} > (L-1) p_0, the sale proceeds exceed what’s owed, the excess is returned to the trader. This means the financier’s loss is floored at 0 and so we bound the loss with this positive part, [x]+≡max⁡(x,0)[x]_+ \equiv \max(x,0). Then the loss equals the difference between L pτℓL\,p_{\tau_\ell} and (L−1) p0(L - 1)\,p_0, with a floor at 0:

Loss=[(L−1)p0−L pτℓ]+\mathrm{Loss} = \big[(L-1)p_0 - L\,p_{\tau_\ell}\big]_+

Since L ℓZE=(L−1)p0L\,\ell_{\mathrm{ZE}} = (L-1)p_0,

Loss=[L ℓZE−L pτℓ]+=L (ℓZE−pτℓ)+\mathrm{Loss} = \big[L\,\ell_{\mathrm{ZE}} - L\,p_{\tau_\ell}\big]_+ = L\,\big(\ell_{\mathrm{ZE}} - p_{\tau_\ell}\big)_+

Quick Sanity Checks:

  • No/ minimal slippage pτℓ≥ℓZE ⇒ Loss=0p_{\tau_\ell} \ge \ell_{\mathrm{ZE}} \ \Rightarrow\ \mathrm{Loss}=0 because of positive part
  • Worst Case pτℓ=0 ⇒ Loss=L ℓZE=(L−1)p0p_{\tau_\ell}=0 \ \Rightarrow\ \mathrm{Loss}=L\,\ell_{\mathrm{ZE}}=(L-1)p_0.

Defining ss and gg ($ per YES share).

Define slippage relative to the economic trigger, on a $/YES share basis instead of a $/base share. ss is the shortfall below the economic trigger at liquidation, per YES share:

s≡(ℓZE−pτℓ)+s \equiv \big(\ell_{\mathrm{ZE}} - p_{\tau_\ell}\big)_+

Define gg as the expectation (i.e., the average) of the financier’s slippage per liquidation event ($/YES share), conditional on liquidating before resolution:

g≡E[s∣τℓ<τ1]g \equiv \mathbb{E}\big[s \mid \tau_\ell < \tau_1\big]

gg is the average shortfall when liquidation happens before resolution.

Fair Breakeven fee, $ per base share.

The fair breakeven fee FF ($/base share) should equal the leverage multiple ×\times the probability that liquidation happens before resolution ×\times the average loss size in those liquidation cases:

F=L⋅P(τℓ<τ1)⋅gF = L \cdot P(\tau_{\ell} < \tau_{1}) \cdot g

This new fee formula is a good baseline but could be developed more. Expanding the terms,P(τℓ<τ1)P(\tau_{\ell} < \tau_{1}) and gg, over the entire life of the position gets very complex and requires a financier to forecast the entire path of future inputs that can all shift dramatically as an event approaches or the market gets closer to resolution. In principle, it is possible (see our Appendix, Fair fee over the entire life of the position) but small misspecifications could lead to a wildly over or underestimated fair fee.

As an example, think of an election market, the risk of jumps could remain relatively low until the week of the election when new information can increase jump risk and volatility. Opening a position two months before an election would require a financier to forecast many different far-off future parameters when the market becomes volatile two months from now.

To avoid forecasting the entire path, we can instead price the risk in short, fixed epochs (e.g., like every 8 hours), similar to the rolling funding rates in perps. This way a financier only needs to estimate the next-epoch liquidation probabilities and their typical loss sizes. Pricing the fee over short epochs (as opposed to the entire life) has multiple benefits for the financier and trader:

For financiers, pricing per epoch:

  • Limits misspecification risk as you can reprice each epoch, as opposed to pricing risk over the entire life and getting locked into a long-dated upfront fee.
  • Enables approximate closed-forms to be possible for the fair fee (given some assumptions; i.e., they break down if epochs are long or the price is very close to the liquidation barrier).

These benefits should, in theory, lower the barrier to entry for financiers and more competition should yield fairer fees for traders.

For traders, pricing per epoch can also be cheaper if you hold the position over short periods of time or close the position early. This is because with per-epoch pricing, you are not prepaying for far-out future risk.

Epoch-Based Fair Fee

Epoch Engine Design

Instead of requiring a financier to estimate losses over the entire life of a position, we price risk over a defined epoch of length ψ\psi (epochs can be fixed or shrink near key events depending on the market; i.e. for an election, epochs could start at 1 week and then shorten to a few hours on election day).

Distance to liquidation.

The engine computes a position’s distance to liquidation a≡pt−ℓa \equiv p_t-\ell (current YES price minus the operational barrier ℓ\ell) in $/YES share. We bucket aa into Far, Mid, Near, etc.

As an example, Near: a<$0.02a<\$0.02; Mid: $0.02≤a<$0.05\$0.02\le a<\$0.05; Far: a≥$0.05a\ge\$0.05. Of note, this is just an example, there could be more or less buckets with different ranges.

Bucketed quotes on one shared order book.

Financiers post public quotes that are dependent on the distance to liquidation:

  • Max notional size funded per position: Mmax⁡M_{\max} (total YES shares in the position, M=L×M = L \times number of base shares)
  • Max leverage funded: LmaxL_{\mathrm{max}}
  • Min buffer required: bminb_{\mathrm{min}}
  • Fees per epoch ($/base share): FψFar, FψMid, FψNearF_{\psi}^{\text{Far}},\ F_{\psi}^{\text{Mid}},\ F_{\psi}^{\text{Near}}

Shorter distances with small aa (Near buckets) naturally carry higher ​FψF_{\psi}

On the other side, when a trader wants leverage on a long YES position, they submit:

  • Requested notional size
  • Desired leverage LL
  • Chosen buffer bb (or accept a platform default)
  • Max acceptable per-epoch fee FmaxF_{\mathrm{max}}​ per base share (or accept a platform default)

Matching the trader to the best financier fee offer.

Given the current YES price ptp_t​ and the trader’s (L,b)(L,b), the engine:

1. Computes the zero-equity trigger:

L ℓZE=(L−1) p0L\,\ell_{\mathrm{ZE}} = (L-1)\,p_0

2. Sets the operational liquidation barrier:

ℓ=ℓZE+b\ell = \ell_{\mathrm{ZE}} + b

3. Computes the distance to liquidation:

a=pt−ℓ>0a = p_t - \ell > 0

4. Assigns the position to a distance bucket (Far, Mid, Near, etc) based on aa.

It then matches the trader to financiers as follows:

  1. Filter eligible quotes in the relevant bucket:
    • Position size M≤Mmax⁡M \le M_{\max}​ (financier’s size cap)
    • Requested leverage L≤Lmax⁡L \le L_{\max}​ (within financier’s leverage cap)
    • b≥bmin⁡b \ge b_{\min}​ (trader is offering at least this buffer)
    • Bucket fee Fψbucket≤Fmax⁡F_{\psi}^{\mathrm{bucket}} \le F_{\max}
  2. Rank by fee within that bucket and select the lowest-fee eligible quote. If multiple financiers quote the same best fee, the engine can break ties by time priority or pro-rata allocation.
  3. Execute the trade:
    • The trader’s margin is used to purchase the base shares and the agreed per-epoch fee is given to the financier.
    • The financier supplies the additional capital to purchase the other shares to reach leverage LL.

Rolling into the next epoch.

At the end of each epoch, existing leveraged positions can be automatically rolled into the next epoch using the same logic: recompute aa at the new ptp_t​, re-bucket the position, filter eligible financier quotes, and match to the best available fee.

  • The trader’s cash balance gets deducted to pay the next epoch fee. In the event the trader has no cash balance to pay the fee, a portion or the entire position may be liquidated to pay the fee or the position may simply not roll over.
  • If there are no available quotes (e.g., volatility and jump risk are estimated to be high in this epoch and the trader’s position is close to liquidation), then the entire position may be liquidated at the current price.
  • Although the epoch length ψ\psi is the same for all orders, positions do not all roll over simultaneously. Each position rolls over on its own schedule, based on when it was opened.
  • Fees should not be refunded if the position stays open, closes, or liquidates mid-epoch. They compensate the financier for the expected loss over that epoch.

Who bears losses.

If the position is not liquidated in time or a large adverse jump happens that causes a shortfall in the financier’s capital, they bear those losses inside that epoch; it is not socialized.

Pricing the Epoch-Based Fee

The fair breakeven fee per base share is the leverage multiple ×\times the probability of liquidation within the epoch ψ\psi ×\times the average loss if that liquidation happens.

Fψ(pt;L,b,a)=L[P(liquidate in [t,t+ψ)∣pt,a)⋅gψ(pt;b,w)]F_{\psi}(p_t;L,b,a)=L\Big[P\big(\text{liquidate in }[t,t+\psi)\mid p_t,a\big)\cdot g_{\psi}(p_t;b,w)\Big]

where gψ(pt;b,w)g_{\psi}(p_t; b,w) is the expected shortfall per YES share conditional on liquidation in [t,t+ψ)[t,t+\psi):

gψ(pt;b,w)≡E[s∣liquidate in [t,t+ψ)]g_{\psi}(p_t;b,w) \equiv \mathbb{E}\big[s \mid \text{liquidate in }[t,t+\psi)\big]

We can break this into two parts. Let’s intuitively think of three “time zones” if liquidation occurs:

  • No-info start. We begin at the current price ptp_t​
  • Pre-jump drift. Price may creep from ptp_t​ down to some ppre-jumpp_{\mathrm{pre\text{-}jump}}​ as traders reposition on rumors/speculation.
  • Post-jump move. A news shock may arrive, instantly moving price from ppre-jumpp_{\mathrm{pre\text{-}jump}} to ppost-jumpp_{\mathrm{post\text{-}jump}}​.
  • If ppre-jump≤ℓp_{\mathrm{pre\text{-}jump}} \le \ell, the price path already crossed the engine barrier before the jump ⇒ liquidation is creep-caused.
  • If ppre-jump>ℓp_{\mathrm{pre\text{-}jump}} > \ell, the price path never touched the barrier before the news ⇒ liquidation is jump-caused.

So, inside one epoch, any liquidation is caused either by a fatal jump or by creep (a continuous move that hits ℓ\ell).

From this mix, write the fee as jump part + creep part:

Fψ(pt;L,b,a)=L[Jψ(pt;a) gjumpcapped(b)+Cψ(pt;a) gcreep(b;μeff,σeff,w)]F_{\psi}(p_t;L,b,a)=L\Big[J_{\psi}(p_t;a)\,g_{\text{jump}}^{\text{capped}}(b)+C_{\psi}(p_t;a)\,g_{\text{creep}}(b;\mu_{\text{eff}},\sigma_{\text{eff}},w)\Big]

where:

  • Jψ(pt;a)=P(jump-caused liquidation in [t,t+ψ)∣pt,a)J_{\psi}(p_t; a)=P(\text{jump-caused liquidation in }[t,t+\psi)\mid p_t,a).
  • Cψ(pt;a)=P(creep-caused liquidation in [t,t+ψ)∣pt,a)C_{\psi}(p_t; a)=P(\text{creep-caused liquidation in }[t,t+\psi)\mid p_t,a).
  • gjumpcappedg_{\mathrm{jump}}^{\mathrm{capped}}​ and gcreepg_{\mathrm{creep}} are the corresponding expected shortfall losses (in $/YES share) conditional on that cause within the epoch. Multiplying by LL converts per-YES losses to per-base-share fees.

By construction, JψJ_{\psi}​ and CψC_{\psi}​ are exclusive one-epoch probabilities (jump-caused vs creep-caused), so over a short epoch:

P(liquidate in [t,t+ψ))≈Jψ(pt;a)+Cψ(pt;a)P(\text{liquidate in }[t,t+\psi)) \approx J_{\psi}(p_t;a) + C_{\psi}(p_t;a)

Applying the formula to the real world

The above formula only finds the breakeven point to cover the expected losses to the financier. In the risk-averse real world, a financier would also demand a return on the capital they supply, consisting of a risk-free rate and their specific risk premium. We can modify the formula to account for this.

Fψ(pt;L,b,a)=L[Jψ(pt;a) gjumpcapped(b)+Cψ(pt;a) gcreep(b;μeff,σeff,w)]+capital charge×ψF_{\psi}(p_t;L,b,a)=L\Big[J_{\psi}(p_t;a)\,g_{\text{jump}}^{\text{capped}}(b)+C_{\psi}(p_t;a)\,g_{\text{creep}}(b;\mu_{\text{eff}},\sigma_{\text{eff}},w)\Big]+\text{capital charge}\times\psi

Where the capital charge should be the financier’s provided capital ×\times the risk-free rate and risk premium of the financier ×\times the epoch time. This gives us the per-epoch fee we'd apply in practice.

Fψ(pt;L,b,a)=L[Jψ(pt;a) gjumpcapped(b)  +  Cψ(pt;a) gcreep(b;μeff,σeff,w)]⏟expected loss inside the epoch  +  (L−1) p0 (rf+ρ) ψ⏟epoch capital charge\boxed{ F_{\psi}(p_t;L,b,a) = \underbrace{L\Big[J_{\psi}(p_t; a)\,g_{\text{jump}}^{\text{capped}}(b)\;+\;C_{\psi}(p_t; a)\,g_{\text{creep}}(b;\mu_{\text{eff}},\sigma_{\text{eff}},w)\Big]}_{\text{expected loss inside the epoch}} \;+\; \underbrace{(L-1)\,p_0\,(r_f+\rho)\,\psi}_{\text{epoch capital charge}} }

Of note, the capital charge is linearized for small ψ\psi, but you could use (L−1)p0(e(rf+ρ)ψ−1)(L-1)p_0\big(e^{(r_f+\rho)\psi}-1\big) if you want the exact compounding. However it’s negligible for short epochs.

The next step is to compute these parameters. Within each epoch [t,t+ψ)[t,t+\psi) we can treat κ↑,κ↓,η±,μeff,σeff\kappa_{\uparrow},\kappa_{\downarrow},\eta_{\pm},\mu_{\text{eff}},\sigma_{\text{eff}}​ and aa as frozen constants and calibrated at the epoch start. Now let’s compute the jump components of the above equation.

Jump Component

What counts as “jump-caused” liquidation?

Inside a single epoch [t, t+ψ)[t,\,t+\psi), a fatal down-jump is any sudden move that crosses the operational liquidation barrier ℓ\ell before the price path would have hit it by slow drift. Let’s recall the distance to liquidation at match time as:

a≡pt−ℓ,a>0a \equiv p_t-\ell,\qquad a>0

Let RR denote the downward jump size in price space (units: $/YES share). A jump is fatal if R≥aR \ge a. Non-resolving, interior jumps with R<aR<a just move the price around inside (ℓ,1)(\ell,1). We will fold those into the background effective drift/volatility for creep. Only fatal jumps are counted in the jump slice below.

Probability of a fatal jump in the next epoch

Within one epoch [t,t+ψ)[t,t+\psi), let’s assume:

Independence: Arrivals and magnitudes are independent, and independent of the Brownian motion driving the diffusion.

Arrivals: Down-jumps arrive as a Poisson process with rate κ↓\kappa_{\downarrow}. The waiting times between jumps are exponential.

Magnitudes (size): The down-jump magnitude R≡−Z↓>0R\equiv -Z_{\downarrow}>0 has an exponential tail (the negative side of a Laplace/double-exponential jump size).

P(R≥x)  =  e−η−x,x≥0P(R \ge x) \;=\; e^{-\eta_- x},\qquad x\ge 0

so the overshoot is memoryless (meaning the past doesn’t change the odds of what happens next):

R−a∣R≥a∼Exp(η−)R-a\mid R\ge a \sim \mathrm{Exp}(\eta_-)

This is the negative tail of a Laplace (double-exponential) jump size law, commonly used in Kou jump-diffusion models for option pricing. We adopt it for analytical tractability and clean epoch-based fair fee formulas.

Practical caveat.

In application, the double-exponential distribution is a convenient baseline but it may not be the best fit for all market types. For some markets, the tail may be much fatter (possibly closer to log-normal or power-law). For “happen-before-deadline” markets like “Will a M6+ earthquake occur in California by the end of 2025?”, it may be better to just empirically find κfatal(p,t)\kappa_{\mathrm{fatal}}(p,t) and assume fatal jumps result in the full loss of capital, gjumpcapped ⁣≈ℓZEg_{\text{jump}}^{\text{capped}}\!\approx \ell_{\mathrm{ZE}}, rather than fit a full jump size tail.

Additionally, how one would use the model is highly dependent on the data available. Small misspecifications of η−\eta_- (if η−\eta_- is large, big jumps are rare and the tail decays fast; if η−\eta_- is small, big jumps are common and the tail decays slowly) can change the one-epoch jump loss significantly. For sports markets with large amounts of historical data present, this may be less of a problem, but for niche markets, it may be better to treat η−\eta_- as a scenario parameter (e.g., “if the tail is this thin vs this fat, here is the fee range”).

The model presented here is purely a theoretical proof-of-concept framework.

Marginal Jump Probability.

Hold κ↓,η−\kappa_{\downarrow},\eta_-, and the distance to the barrier a=pt−ℓa=p_t-\ell constant within the epoch. A jump is fatal if R≥aR\ge a. The resulting fatal-jump intensity is:

κfatal(a)  =  κ↓ P(R≥a)  =  κ↓ e−η−a\kappa_{\text{fatal}}(a) \;=\; \kappa_{\downarrow}\,P(R\ge a) \;=\; \kappa_{\downarrow}\,e^{-\eta_- a}

For a Poisson process with constant rate (κfatal(a)\kappa_{\text{fatal}}(a)), the count in a window of length ψ\psi is Poisson(κfatal(a)ψ)\text{Poisson}(\kappa_{\text{fatal}}(a)\psi). Hence, the marginal probability of at least one fatal jump in [t,t+ψ)[t,t+\psi) is

Jψmarg(a)  ≡  P(fatal jump in [t,t+ψ))  =1−P{0 events}=  1−e−κfatal(a) ψJ_{\psi}^{\mathrm{marg}}(a) \;\equiv\; P(\text{fatal jump in }[t,t+\psi)) \;= 1-P\{0\text{ events}\} =\; 1 - e^{-\kappa_{\text{fatal}}(a)\,\psi}

Exclusive Jump Probability.

Jψmarg(a)J^{\mathrm{marg}}_\psi(a) gives us the probability that the position will get liquidated in the epoch at some point in time. However, it ignores whether creep may have liquidated earlier in the epoch. To avoid double-counting paths where both creep and a fatal jump occur within the same epoch, we should use exclusive probabilities only inside fee formulas. Define the marginal quantities:

Jψmarg(a)  =  1−e−κfatal(a) ψJ^{\mathrm{marg}}_\psi(a)\;=\;1-e^{-\kappa_{\mathrm{fatal}}(a)\,\psi}. We will find Cψmarg(pt;a)C^{\mathrm{marg}}_\psi(p_t;a) later.

We can create a simple approximation to treat creep and jumps as approximately independent over a short epoch and define:

 Jψ(pt;a)=Jψmarg(a)(1−Cψmarg(pt;a))\boxed{\,J_\psi(p_t;a)=J_\psi^{\mathrm{marg}}(a)\bigl(1-C_\psi^{\mathrm{marg}}(p_t;a)\bigr)}

This allocates probability mass to fatal jumps only on paths where a fatal jump occurs and creep does not also hit in the same epoch. For short epochs this is likely good enough but we can derive more exact definitions for both JψJ_\psi and CψC_\psi.

Race between creep, YES jumps, and fatal down-jumps.

Over one epoch [t,t+ψ)[t,t+\psi), let:

  • Creep clock: Let τc\tau_c​ be the first time the price path hits the liquidation barrier ℓ\ell continuously (i.e., without a jump). Write
Cψmarg(pt;a)  ≡  P(τc≤ψ)C_\psi^{\mathrm{marg}}(p_t;a) \;\equiv\; P(\tau_c \le \psi)

for the marginal probability that creep alone (no fatal jump, no YES jump) hits the barrier within the next epoch of length ψ\psi. We will model and compute CψmargC_\psi^{\mathrm{marg}}​ later in the Creep section.

  • Fatal Jump clock: down-jumps that cross the liquidation barrier
κfatal(a)\kappa_{\mathrm{fatal}}(a)
  • YES Jump clock: up-jumps that resolve directly to 1
κYES(pt)\kappa_{\mathrm{YES}}(p_t)

Total boundary crossing jumps:

κtot(pt;a)=κfatal(a)+κYES(pt), where\kappa_{\mathrm{tot}}(p_t;a) = \kappa_{\mathrm{fatal}}(a) + \kappa_{\mathrm{YES}}(p_t) \text{, where}
κfatal(a)  =  κ↓ e−η−a, and\kappa_{\text{fatal}}(a) \;=\; \kappa_{\downarrow}\,e^{-\eta_- a} \text{, and}
κYES(pt)  =  κ↑ e−η+A↑.\kappa_{\text{YES}}(p_t) \;=\; \kappa_{\uparrow}\,e^{-\eta_+ A_{\uparrow}}.

Now, split all paths over [0,ψ][0,\psi] into:

1. Nothing happens by ψ\psi: no barriers hit by jump or creep:

P(nothing)=e−κtot(pt;a)ψ(1−Cψmarg(pt;a;μeff,σeff))P(\text{nothing}) = e^{-\kappa_{\mathrm{tot}}(p_t; a)\psi}\big(1 - C_\psi^{\mathrm{marg}}(p_t; a;\mu_{\mathrm{eff}},\sigma_{\mathrm{eff}})\big)

2. Creep hit first by ψ\psi: probability Cψrace(pt;a)C_\psi^{\mathrm{race}}(p_t;a)

3. Some jump first by ψ\psi: this is exactly

Hψrace,any(pt;a)=P(a jump beats creep and happens before ψ)H_\psi^{\mathrm{race,any}}(p_t;a) = P(\text{a jump beats creep and happens before }\psi)

These are disjoint and exhaustive, so

1=P(nothing)(pt;a)+Cψrace(pt;a)+Hψrace,any(pt;a)1 = P(\text{nothing})(p_t;a) + C_\psi^{\mathrm{race}}(p_t;a) + H_\psi^{\mathrm{race,any}}(p_t;a)

Solving for Hψrace,anyH_\psi^{\mathrm{race,any}}​ and substituting, we get:

Hψrace,any(pt;a)=1−e−κtot(pt;a)ψ(1−Cψmarg(pt;a;μeff,σeff))−Cψrace(pt;a)H_\psi^{\mathrm{race,any}}(p_t;a) = 1 - e^{-\kappa_{\mathrm{tot}}(p_t;a)\psi} \big(1 - C_\psi^{\mathrm{marg}}(p_t;a;\mu_{\mathrm{eff}},\sigma_{\mathrm{eff}})\big) - C_\psi^{\mathrm{race}}(p_t;a)

We can then split Hψrace,anyH_\psi^{\mathrm{race,any}} by boundary-crossing fatal and YES jumps to get​:

Jψrace(pt;a)=κfatal(a)κtot(pt;a) Hψrace,any(pt;a)J_\psi^{\mathrm{race}}(p_t;a) = \frac{\kappa_{\mathrm{fatal}}(a)}{\kappa_{\mathrm{tot}}(p_t;a)} \,H_\psi^{\mathrm{race,any}}(p_t;a)
Yψrace(pt;a)=κYES(pt)κtot(pt;a) Hψrace,any(pt;a)Y_\psi^{\mathrm{race}}(p_t;a) = \frac{\kappa_{\mathrm{YES}}(p_t)}{\kappa_{\mathrm{tot}}(p_t;a)} \,H_\psi^{\mathrm{race,any}}(p_t;a)

This gives us the jump probability that will get plugged into the final formula:

Jψ(pt;a)=Jψrace(pt;a)=κfatal(a)κtot(pt;a) (1−e−κtot(pt;a)ψ(1−Cψmarg(pt;a;μeff,σeff))−Cψrace(pt;a))\boxed{ J_\psi (p_t;a) = J_\psi^{\mathrm{race}}(p_t;a) = \frac{\kappa_{\mathrm{fatal}}(a)}{\kappa_{\mathrm{tot}}(p_t;a)} \,( 1 - e^{-\kappa_{\mathrm{tot}}(p_t;a)\psi} \big(1 - C_\psi^{\mathrm{marg}}(p_t;a;\mu_{\mathrm{eff}},\sigma_{\mathrm{eff}})\big) - C_\psi^{\mathrm{race}}(p_t;a) ) }

Section Summary:

Over the next short time window (“epoch” ψ\psi), we estimate how likely a sudden bad-news down-jump in price will be that is big enough to cross the liquidation line. We assume that such down-jumps arrive randomly and there are many small jumps and fewer large ones, with the chance of very large jumps decaying exponentially. We also adjust it so we don’t double count cases where a slow drift would have liquidated first before a down-jump arrives. The closer the price is to the liquidation line (small aa), the larger the share of jumps that are big enough to be fatal, and the higher the epoch jump probability.

Expected loss size if a fatal jump happens (per YES share)

Let b≥0b\ge 0 be the buffer so that ℓ=ℓZE+b\ell=\ell_{\mathrm{ZE}}+b. On a fatal jump R≥aR\ge a, let’s define the overshoot beyond the barrier as:

X≡R−aX \equiv R-a

By the exponential tail / memoryless overshoot,

X∼Exp(η−)X\sim \text{Exp}(\eta_-)

Conditional on a fatal jump, the post-jump price is the operational liquidation barrier minus an exponential overshoot ppost=ℓ−Xp_{\text{post}}=\ell - X. If we ignore the price floor at 0, the financier’s per YES share shortfall relative to the zero-equity line is:

(ℓZE−ppost)+  =  (ℓZE−(ℓ−X))+  =  (X−b)+(\ell_{\mathrm{ZE}} - p_{\text{post}})_+ \;=\; (\ell_{\mathrm{ZE}} - (\ell - X))_+ \;=\; (X - b)_+

So the (uncapped) expected jump shortfall is:

gjump  ≡  E[(X−b)+]  =  ∫b∞(x−b) η−e−η−x dx=e−η−bη−g_{\text{jump}} \;\equiv\; \mathbb{E}\big[(X-b)_+\big] \;=\; \int_b^\infty (x-b)\,\eta_- e^{-\eta_- x}\,dx =\frac{e^{-\eta_- b}}{\eta_-}

Because the price is bounded below by 0, the realized shortfall per YES share cannot exceed the financier’s total capital contribution, ℓZE\ell_{\mathrm{ZE}}. We can enforce this cap via the capped expectation:

gjumpcapped(b)  =  E ⁣[min⁡{(X−b)+, ℓZE}]  =  ∫0ℓZEe−η−(b+y) dy=e−η−b(1−e−η−ℓZE)η−g_{\text{jump}}^{\text{capped}}(b)\;=\;\mathbb{E}\!\big[\min\{(X-b)_+,\ \ell_{\mathrm{ZE}}\}\big]\;=\; \int_0^{\ell_{\mathrm{ZE}}} e^{-\eta_-(b+y)}\,dy =\frac{e^{-\eta_- b}\big(1-e^{-\eta_-\ell_{\mathrm{ZE}}}\big)}{\eta_-}

Section Summary:

If a sudden down-jump pushes the price past your liquidation line, the loss comes from how far it overshoots that line before you can sell. We assume these overshoots follow a simple “memoryless” pattern, which implies that adding more buffer bb cuts the average loss exponentially. Because the price can’t go below zero, any loss is capped at the financier’s contributed amount per YES share (the zero-equity level).

Creep Component

What counts as “creep-caused” liquidation?

Creep causes liquidation when price drifts/wiggles to the operational barrier ℓ=ℓZE+b\ell=\ell_{\mathrm{ZE}}+b without a fatal jump. Recall the distance to liquidation at match time as:

a≡pt−ℓ,a>0a \equiv p_t-\ell,\qquad a>0

Probability of a creep liquidation in the next epoch

Over a single epoch we can approximate the distance to liquidation DuD_u​ as an Arithmetic Brownian Motion (ABM).

It should be noted that ABM is unbounded, meaning that the price can move anywhere in between (−∞,∞)(-\infty,\infty), whereas bounded models like Wright-Fisher keep the price in (0,1)(0,1). But over a short window and for the first time the price hits the liquidation line ℓ\ell, that difference is negligible, and ABM yields clean, closed-form first-hit formulas for probability and loss of creep. If aa is tiny or the epoch is long, a bounded-diffusion model would likely be safer.

We use uu as the epoch’s local clock (the epoch starts at some time tt) to avoid clashing with the global tt in ptp_t​ and κ↓\kappa_{\downarrow}. Within one epoch [t,t+ψ)[t,t+\psi), approximate the distance to liquidation DuD_u by an ABM with constant μeff\mu_{\mathrm{eff}} and σeff>0\sigma_{\mathrm{eff}}>0:

Du  =  a  +  μeff u  +  σeff Wu,u∈[0,ψ], W0=0D_u \;=\; a \;+\; \mu_{\text{eff}}\,u \;+\; \sigma_{\text{eff}}\,W_u,\qquad u\in[0,\psi],\ W_0=0

We can use the reflection principle to find the creep probability. Let’s consider two disjoint sets of price paths over the interval [0,ψ][0,\psi]:

1. Paths that end below the operational liquidation barrier by time ψ\psi (Dψ≤0D_\psi\le 0). These paths have crossed the barrier so count them directly as such:

P(Dψ≤0)=P ⁣(σeffWψ≤−a−μeffψ)=Φ ⁣(−a−μeffψσeffψ)P(D_\psi\le 0) =P\!\Big(\sigma_{\text{eff}} W_\psi \le -a-\mu_{\text{eff}}\psi\Big) =\Phi\!\Big(\tfrac{-a-\mu_{\text{eff}}\psi}{\sigma_{\text{eff}}\sqrt{\psi}}\Big)

2. Paths that finish above the operational liquidation barrier but dipped below it at some point before. By the reflection principle, each such path has a “mirror” path that ends well below the barrier. Because there’s drift, this mirroring changes the probability by a factor of exp⁡(−2μeffa/σeff2)\exp(-2\mu_{\text{eff}} a/\sigma_{\text{eff}}^2). The contribution from these paths is:

exp⁡ ⁣(−2μeffaσeff2) P ⁣(σeffWψ≤−a+μeffψ)=exp⁡ ⁣(−2μeffaσeff2) Φ ⁣(−a+μeffψσeffψ)\exp\!\Big(\tfrac{-2\mu_{\text{eff}} a}{\sigma_{\text{eff}}^2}\Big)\, P\!\Big(\sigma_{\text{eff}} W_\psi \le -a+\mu_{\text{eff}}\psi\Big) =\exp\!\Big(\tfrac{-2\mu_{\text{eff}} a}{\sigma_{\text{eff}}^2}\Big)\, \Phi\!\Big(\tfrac{-a+\mu_{\text{eff}}\psi}{\sigma_{\text{eff}}\sqrt{\psi}}\Big)

Putting it together, the probability that DuD_u hits 0 at least once in the next ψ\psi (i.e., creep-liquidation) is:

Cψmarg(pt;a)=Φ ⁣(−a−μeffψσeffψ)  +  exp⁡ ⁣(−2μeffaσeff2) Φ ⁣(−a+μeffψσeffψ)  C^{\mathrm{marg}}_\psi(p_t;a) = \Phi\!\Big(\frac{-a-\mu_{\text{eff}}\psi}{\sigma_{\text{eff}}\sqrt{\psi}}\Big)\;+\; \exp\!\Big(\frac{-2\mu_{\text{eff}}a}{\sigma_{\text{eff}}^2}\Big)\, \Phi\!\Big(\frac{-a+\mu_{\text{eff}}\psi}{\sigma_{\text{eff}}\sqrt{\psi}}\Big) \;

where Φ\Phi is the cumulative distribution function (CDF) of the normal distribution.

This expression serves as an approximation to the true bounded price process. If aa is tiny or ψ\psi long, it would be better to use a bounded diffusion (e.g., Wright-Fisher) or a Monte Carlo simulation.

Exclusive Creep Probability.

Recall, over one epoch [t,t+ψ)[t,t+\psi), let:

  • Creep clock: creep first-hit time τc=inf⁡{u≥0:Du≤0}\tau_c = \inf\{u\ge 0 : D_u \le 0\} for the ABM distance:
Du  =  a  +  μeff u  +  σeff Wu,u∈[0,ψ], W0=0D_u \;=\; a \;+\; \mu_{\text{eff}}\,u \;+\; \sigma_{\text{eff}}\,W_u,\qquad u\in[0,\psi],\ W_0=0
  • Fatal Jump clock: down-jumps that cross the liquidation barrier
κfatal(a)\kappa_{\mathrm{fatal}}(a)
  • YES Jump clock: up-jumps that resolve directly to 1
κYES(pt)\kappa_{\mathrm{YES}}(p_t)

Total boundary crossing jumps:

κtot(pt;a)=κfatal(a)+κYES(pt)\kappa_{\mathrm{tot}}(p_t;a) = \kappa_{\mathrm{fatal}}(a) + \kappa_{\mathrm{YES}}(p_t)

Here Cumarg(pt;a)=P(τc≤u)C_u^{\mathrm{marg}}(p_t;a) = P(\tau_c \le u) under the no-jump ABM, so ∂uCumarg\partial_u C_u^{\mathrm{marg}}​ is the density of τc\tau_c​. For creep to win, you need:

  • Creep hits in [u,u+du][u,u+du] over the density (∂uCumarg\partial_u C_u^{\mathrm{marg}}) of the no-jump creep-hitting probability by time uu.
  • No jump of any type before uu, which means we need to factor out e−κtot(pt;a)ue^{-\kappa_{\mathrm{tot}}(p_t;a) u}.

This gives us:

Cψrace=∫0ψ∂uCumarge−κtot(pt;a)udu=E[e−κtot(pt;a)τc; τc≤ψ]C_\psi^{\mathrm{race}} = \int_0^\psi \partial_u C_u^{\mathrm{marg}} e^{-\kappa_{\mathrm{tot}}(p_t;a) u} du = \mathbb{E}\big[e^{-\kappa_{\mathrm{tot}}(p_t;a)\tau_c};\ \tau_c\le\psi\big]

where τc\tau_c is the first-hit time for Du=a+μeffu+σeffWuD_u = a + \mu_{\mathrm{eff}}u + \sigma_{\mathrm{eff}}W_u. This is a truncated Laplace transform of τc\tau_c​.

Let’s use a standard shortcut to absorb the exponential factor into a new drift μ′\mu' such that

μ′2−μeff22σeff2=κtot(pt;a)⇒μ′(pt;a)=μeff(pt)2+2σeff(pt)2κtot(pt;a)\frac{\mu'^2 - \mu_{\mathrm{eff}}^2}{2\sigma_{\mathrm{eff}}^2} = \kappa_{\mathrm{tot}}(p_t;a) \quad\Rightarrow\quad \boxed{ \mu'(p_t;a) = \sqrt{\mu_{\mathrm{eff}}(p_t)^2 + 2\sigma_{\mathrm{eff}}(p_t)^2 \kappa_{\mathrm{tot}}(p_t;a)}}

Now let’s consider an alternative “tilted” model under a new probability measure QQ in which DuD_u​ has drift μ′\mu' instead of μeff\mu_{\mathrm{eff}}​, but the same volatility σeff\sigma_{\mathrm{eff}}​. Using a standard Girsanov change-of-measure argument, we can show that at the hitting time τc\tau_c:

e−κtot(pt;a)τc=exp⁡ ⁣(a(μ′−μeff)σeff2) Λτce^{-\kappa_{\mathrm{tot}}(p_t;a)\tau_c} = \exp\!\Big(\frac{a(\mu' - \mu_{\mathrm{eff}})}{\sigma_{\mathrm{eff}}^2}\Big)\, \Lambda_{\tau_c}

where Λτc\Lambda_{\tau_c}​​ is the Radon–Nikodym factor (the density dQ/dPdQ/dP) evaluated at τc\tau_c. Plugging into this expectation and switching from PP to QQ gives

Cψrace=EP[e−κtot(pt;a)τc1{τc≤ψ}]=exp⁡ ⁣(a(μ′−μeff)σeff2)EP[Λτc1{τc≤ψ}]=exp⁡ ⁣(a(μ′−μeff)σeff2)Q(τc≤ψ),\begin{aligned} C_\psi^{\mathrm{race}} &= \mathbb{E}_{P}\big[e^{-\kappa_{\mathrm{tot}}(p_t;a)\tau_c} 1_{\{\tau_c\le\psi\}}\big] &= \exp\!\Big(\frac{a(\mu' - \mu_{\mathrm{eff}})}{\sigma_{\mathrm{eff}}^2}\Big) \mathbb{E}_{P}\big[\Lambda_{\tau_c} 1_{\{\tau_c\le\psi\}}\big] &= \exp\!\Big(\frac{a(\mu' - \mu_{\mathrm{eff}})}{\sigma_{\mathrm{eff}}^2}\Big) Q(\tau_c\le\psi), \end{aligned}

and under QQ, DuD_u​ is just an ABM with drift μ′\mu' and volatility σeff\sigma_{\mathrm{eff}}, so

Q(τc≤ψ)=Cψmarg(pt;a;μ′,σeff)Q(\tau_c\le\psi) = C_\psi^{\mathrm{marg}}(p_t;a;\mu',\sigma_{\mathrm{eff}})

This gives us the closed form:

Cψ(pt;a)=Cψrace(pt;a)=exp⁡ ⁣(a[μ′(pt;a)−μeff(pt)]σeff(pt)2) Cψmarg(pt;a;μ′(pt;a),σeff(pt))\boxed{ C_\psi (p_t;a) = C_\psi^{\mathrm{race}}(p_t;a) = \exp\!\Big(\frac{a[\mu'(p_t;a)-\mu_{\mathrm{eff}}(p_t)]}{\sigma_{\mathrm{eff}}(p_t)^2}\Big)\, C_\psi^{\mathrm{marg}}(p_t;a;\mu'(p_t;a),\sigma_{\mathrm{eff}}(p_t))}

Section Summary:

Even without big news, the price can slowly drift down and touch the liquidation line during the short epoch. We approximate that short-window drift with a simple random-walk model to get a closed-form probability of being liquidated by “creep.” This is most reliable for short epochs and when the distance to the liquidation line aa is not tiny. Closer to the line (small aa), more negative drift μeff\mu_{\text{eff}}​, or higher volatility σeff\sigma_{\text{eff}} all raise the one-epoch creep risk.

Expected loss size if creep causes liquidation (per YES share)

Let’s assume continuous monitoring, meaning the liquidation engine is watching the price path at all times. When the price first hits the operational liquidation barrier ℓ\ell, the engine triggers immediately but actual execution happens after a small reaction window ww (latency between trigger and execution).

Over that window, the price change is modeled as a normal distribution with drift and volatility over the reaction window time:

Δp∼N ⁣(μeff w, σeff2 w),Y≡−Δp∼N(mw,σw2), mw=−μeffw, σw=σeffw\Delta p \sim \mathcal{N}\!\big(\mu_{\text{eff}}\,w,\ \sigma_{\text{eff}}^{2}\,w\big),\qquad Y\equiv -\Delta p \sim \mathcal{N}(m_w,\sigma_w^{2}),\ m_w=-\mu_{\text{eff}}w,\ \sigma_w=\sigma_{\text{eff}}\sqrt{w}

Execution occurs near pτℓ+w≈ℓ+Δpp_{\tau_\ell+w}\approx \ell+\Delta p. The financier’s shortfall relative to the zero-equity line is

(ℓZE−pτℓ+w)+=(ℓZE−(ℓ+Δp))+=(Y−b)+,b≡ℓ−ℓZE≥0(\ell_{\mathrm{ZE}}-p_{\tau_\ell+w})_+ =\big(\ell_{\mathrm{ZE}}-(\ell+\Delta p)\big)_+ =(Y-b)_+, \qquad b\equiv \ell-\ell_{\mathrm{ZE}}\ge 0

For convenience define

mw≡− μeff w,σw≡σeffw,dw≡b−mwσwm_w \equiv -\,\mu_{\mathrm{eff}}\,w,\qquad \sigma_w \equiv \sigma_{\mathrm{eff}}\sqrt{w},\qquad d_w \equiv \frac{b - m_w}{\sigma_w}

With this shorthand, the expected creep shortfall per YES share (conditional on creep) is the one-sided normal mean:

 gcreep(b;μeff,σeff,w)≡E[(Y−b)+]=σw ϕ(dw)+(mw−b) [1−Φ(dw)] \boxed{\, g_{\mathrm{creep}}(b;\mu_{\mathrm{eff}},\sigma_{\mathrm{eff}},w) \equiv \mathbb{E}\big[(Y-b)_+\big] = \sigma_w\,\phi(d_w) + (m_w - b)\,\big[1-\Phi(d_w)\big] \,}

where ϕ\phi and Φ\Phi are the probability density function (PDF) and cumulative distribution function (CDF) of the normal distribution, respectively.

In practice, the normal tail beyond ℓZE\ell_{\mathrm{ZE}} is negligible but if desired, you can also add the cap like in the jump section.

Larger buffer bb and faster systems (smaller ww) reduce overshoot; higher σeff\sigma_{\text{eff}} or more negative μeff\mu_{\text{eff}}​ increase it. Note gcreepg_{\text{creep}}​ depends on the reaction window ww, not on epoch length ψ\psi.

Folding interior jumps into μeff​ and σeff

From the jump section, we assume Poisson jump arrivals with rates κ↑, κ↓\kappa_{\uparrow},\ \kappa_{\downarrow} calibrated at epoch start (i.e., frozen values of κ↑(pt,t), κ↓(pt,t)\kappa_{\uparrow}(p_t,t),\ \kappa_{\downarrow}(p_t,t)), and double-exponential (Laplace) tails for jump magnitudes in price space:

  • Up jumps: Z↑>0Z_{\uparrow}>0, with P(Z↑≥x)=e−η+xP(Z_{\uparrow}\ge x)=e^{-\eta_{+}x}, x≥0x\ge0
  • Down jumps: Z↓<0Z_{\downarrow}<0. Let R≡−Z↓>0R\equiv -Z_{\downarrow}>0 with P(R≥x)=e−η−xP(R\ge x)=e^{-\eta_{-}x}, x≥0x\ge0

We can treat those jumps that do not cross a boundary during the epoch as interior (non-resolving):

A↑=1−pt,A↓=a=pt−ℓ,a>0A_{\uparrow}=1-p_t, \qquad A_{\downarrow}=a=p_t-\ell, \qquad a>0

So interior up‑jumps satisfy 0<Z↑<A↑0<Z_{\uparrow}<A_{\uparrow}​ (they stay below 1), and interior down‑jumps satisfy ℓ−pt<Z↓<0\ell-p_t<Z_{\downarrow}<0 (they stay above ℓ\ell).

Within a given epoch we treat inputs as constant to get the interior arrival rates:

  κ↑nr=κ↑ (1−e−η+A↑),κ↓nr=κ↓ (1−e−η−A↓)  \boxed{\; \kappa_{\uparrow}^{\mathrm{nr}}=\kappa_{\uparrow}\,\big(1-e^{-\eta_{+}A_{\uparrow}}\big), \qquad \kappa_{\downarrow}^{\mathrm{nr}}=\kappa_{\downarrow}\,\big(1-e^{-\eta_{-}A_{\downarrow}}\big) \;}

For reference, the fatal down-jump hazard used in the jump slice is κfatal=κ↓e−η−a\kappa_{\text{fatal}}=\kappa_{\downarrow}e^{-\eta_{-}a}; it is not counted here.

We can fold interior jumps into the effective drift by adding the rate ×\times the average jump size, and into the effective variance by adding the rate ×\times the average squared jump size. Within a given epoch [t,t+ψ)[t,t+\psi) we treat the inputs as constant and suppress the explicit time-argument, so μeff(pt)\mu_{\text{eff}}(p_t) and σeff2(pt)\sigma_{\text{eff}}^{2}(p_t) are written as depending only on the current price ptp_t​:

  μeff(pt)=μbase(pt)+κ↑nr E ⁣[Z↑∣0<Z↑<A↑]+κ↓nr E ⁣[Z↓∣−A↓<Z↓<0]\boxed{\; \mu_{\text{eff}}(p_t)= \mu_{\text{base}}(p_t) + \kappa_{\uparrow}^{\mathrm{nr}}\,\mathbb{E}\!\left[Z_{\uparrow}\mid 0<Z_{\uparrow}<A_{\uparrow}\right] + \kappa_{\downarrow}^{\mathrm{nr}}\,\mathbb{E}\!\left[Z_{\downarrow}\mid -A_{\downarrow}<Z_{\downarrow}<0\right] }
  σeff2(pt)=σbase2(pt)+κ↑nr E ⁣[Z↑2∣0<Z↑<A↑]+κ↓nr E ⁣[Z↓2∣−A↓<Z↓<0]\boxed{\; \sigma_{\text{eff}}^{2}(p_t)= \sigma_{\mathrm{base}}^{2}(p_t) + \kappa_{\uparrow}^{\mathrm{nr}}\,\mathbb{E}\!\left[Z_{\uparrow}^{2}\mid 0<Z_{\uparrow}<A_{\uparrow}\right] + \kappa_{\downarrow}^{\mathrm{nr}}\,\mathbb{E}\!\left[Z_{\downarrow}^{2}\mid -A_{\downarrow}<Z_{\downarrow}<0\right] }

Truncated exponential plug-ins.

For Z∼Exp(η)Z\sim\mathrm{Exp}(\eta),η>0\eta>0, and A>0A>0, the mean and mean-square of an exponential conditioned on Z<AZ < A are:

E[Z∣Z<A]=∫0Az ηe−ηz dzP(Z<A)=∫0Az ηe−ηz dz1−e−ηA=1η−Ae−ηA1−e−ηA\boxed{\displaystyle \mathbb{E}[Z\mid Z<A]=\frac{\int_{0}^{A} z\,\eta e^{-\eta z}\,dz}{P(Z<A)} =\frac{\int_{0}^{A} z\,\eta e^{-\eta z}\,dz}{1-e^{-\eta A}} =\frac{1}{\eta}-\frac{A e^{-\eta A}}{1-e^{-\eta A}} }
E[Z2∣Z<A]=∫0Az2 ηe−ηz dzP(Z<A)=∫0Az2 ηe−ηz dz1−e−ηA=2η2−e−ηA(A2+2Aη)1−e−ηA\boxed{\displaystyle \mathbb{E}[Z^{2}\mid Z<A]=\frac{\int_{0}^{A} z^{2}\,\eta e^{-\eta z}\,dz}{P(Z<A)} =\frac{\int_{0}^{A} z^{2}\,\eta e^{-\eta z}\,dz}{1-e^{-\eta A}} =\frac{2}{\eta^{2}}-\frac{e^{-\eta A}\big(A^{2}+\tfrac{2A}{\eta}\big)}{1-e^{-\eta A}} }

For down-interior use R=−Z↓∼Exp(η−)R=-Z_{\downarrow}\sim\mathrm{Exp}(\eta_-) on (0,A↓)(0,A_{\downarrow}) and flip sign for the first moment:

E[Z↓∣−A↓<Z↓<0]=− E[R∣R<A↓],E[Z↓2∣⋅]=E[R2∣R<A↓]\mathbb{E}[Z_{\downarrow}\mid -A_{\downarrow}<Z_{\downarrow}<0] = -\,\mathbb{E}[R\mid R<A_{\downarrow}],\quad \mathbb{E}[Z_{\downarrow}^{2}\mid \cdot] = \mathbb{E}[R^{2}\mid R<A_{\downarrow}]

These formulas simply say once you pick a baseline drift/volatility (μbase,σbase)(\mu_{\text{base}},\sigma_{\text{base}}) and a jump law (κ↑,κ↓,η+,η−)(\kappa_{\uparrow},\kappa_{\downarrow},\eta_{+},\eta_{-}), you can compute μeff\mu_{\text{eff}} and σeff\sigma_{\text{eff}}​ as an approximation that treats the interior (non‑resolving) jumps as diffusive noise over the epoch.

Choosing a Drift and Volatility​

In the epoch fee, what we actually need are the effective drift and volatility μeff(pt)\mu_{\mathrm{eff}}(p_t) and σeff(pt)\sigma_{\mathrm{eff}}(p_t) over a short horizon ψ\psi. In practice, a financier would most likely estimate these from data (resolved markets) or stress scenarios. In this section, we give a risk-neutral “anchor” for μeff\mu_{\mathrm{eff}}​ under a specified jump structure, and then list a few simple parametric forms for μbase\mu_{\mathrm{base}}​ and σbase\sigma_{\mathrm{base}} that can be calibrated empirically for short epochs.

Martingale Approach to Drift

In frictionless, risk-neutral settings, the YES price ptp_t equals the market-implied probability of the event so the price process should be a martingale under the risk-neutral measure. In other words, the current price should equal the expectation of all possible future price paths given all the information you have up to time tt.

pt=E[pT∣Ft]p_t = \mathbb{E}[p_T \mid \mathcal{F}_t]

Up until now, we’ve treated diffusion and jumps separately. To see how the total drift is affected by the jump structure, model the full local dynamics as:

dpt=μbase(pt,t) dt+σbase(pt,t) dWt+dJtnr+(1−pt) dNtYES−pt dNtNOdp_t = \mu_{\mathrm{base}}(p_t,t)\,dt + \sigma_{\mathrm{base}}(p_t,t)\,dW_t + dJ_t^{\mathrm{nr}} + (1-p_t)\,dN_t^{\mathrm{YES}} - p_t\,dN_t^{\mathrm{NO}}

where:

  • μbase,σbase\mu_{\mathrm{base}}, \sigma_{\mathrm{base}}​: the “pure” diffusion drift/volatility
  • JtnrJ_t^{\mathrm{nr}}: compound Poisson of non-resolving jumps (up/down but staying inside (0,1)(0,1)).
  • NtYESN_t^{\mathrm{YES}}​ is a Poisson process with intensity κYES(pt,t)\kappa_{\mathrm{YES}}(p_t,t): a jump to 1 (YES resolves) with jump size from Δp=1−p\Delta p = 1 - p.
  • NtNON_t^{\mathrm{NO}} is a Poisson process with intensity κNO(pt,t)\kappa_{\mathrm{NO}}(p_t,t): a jump to 0 (NO resolves) with jump size Δp=−p\Delta p = -p.

Staying consistent with the Laplace tails above, we get:

κYES(p,t)=κ↑(p,t) P(Z↑≥1−p)=κ↑(p,t) e−η+(1−p)\kappa_{\mathrm{YES}}(p,t) = \kappa_{\uparrow}(p,t)\,P(Z_{\uparrow}\ge 1-p) = \kappa_{\uparrow}(p,t)\,e^{-\eta_{+}(1-p)}
κNO(p,t)=κ↓(p,t) P(R≥p)=κ↓(p,t) e−η−p\kappa_{\mathrm{NO}}(p,t) = \kappa_{\downarrow}(p,t)\,P(R\ge p) = \kappa_{\downarrow}(p,t)\,e^{-\eta_{-}p}

Here κYES\kappa_{\mathrm{YES}}​ and κNO\kappa_{\mathrm{NO}}​ are resolution hazards to 1 and 0, respectively; κfatal\kappa_{\mathrm{fatal}} in the fee section is instead the hazard for crossing the liquidation barrier ℓ\ell. They are related but play different roles.

Folding in interior jumps as in the above section, we can rewrite it as:

dpt=μeff(pt,t) dt+σeff(pt,t) dWt+(1−pt) dNtYES−pt dNtNOdp_t = \mu_{\mathrm{eff}}(p_t,t)\,dt + \sigma_{\mathrm{eff}}(p_t,t)\,dW_t + (1-p_t)\,dN_t^{\mathrm{YES}} - p_t\,dN_t^{\mathrm{NO}}

For a martingale, we need:

E[dpt∣Ft]=0\mathbb{E}[dp_t \mid \mathcal{F}_t] = 0

Compute E[dpt∣Ft]\mathbb{E}[dp_t \mid \mathcal{F}_t] term by term:

1. Drift part:

E[μeff dt∣Ft]=μeff(pt,t) dt\mathbb{E}[\mu_{\text{eff}}\,dt \mid \mathcal{F}_t] = \mu_{\text{eff}}(p_t,t)\,dt

2. Brownian noise:

E[σeff dWt∣Ft]=0\mathbb{E}[\sigma_{\text{eff}}\,dW_t \mid \mathcal{F}_t] = 0

3. YES-resolving jump part: With probability κYES(pt,t) dt\kappa_{\mathrm{YES}}(p_t,t)\,dt we get one jump size of 1−pt1 - p_t, so

E[(1−pt) dNtYES∣Ft]=(1−pt) κYES(pt,t) dt\mathbb{E}[(1-p_t)\,dN_t^{\mathrm{YES}} \mid \mathcal{F}_t] = (1-p_t)\,\kappa_{\mathrm{YES}}(p_t,t)\,dt
  1. NO-resolving jump part: With probability κNO(pt,t) dt\kappa_{\mathrm{NO}}(p_t,t)\,dt we get one jump size of −pt-p_t, so​
E[−pt dNtNO∣Ft]=−pt κNO(pt,t) dt\mathbb{E}[-p_t\,dN_t^{\mathrm{NO}} \mid \mathcal{F}_t] = -p_t\,\kappa_{\mathrm{NO}}(p_t,t)\,dt

Adding everything, we get:

E[dpt∣Ft]=(μeff(pt,t)+κYES(pt,t)(1−pt)−κNO(pt,t)pt) dt\mathbb{E}[dp_t \mid \mathcal{F}_t] = \Big( \mu_{\text{eff}}(p_t,t) + \kappa_{\mathrm{YES}}(p_t,t)(1-p_t) - \kappa_{\mathrm{NO}}(p_t,t)p_t \Big)\,dt

For ptp_t​ to be a martingale, this must be zero, so:

μeff(p,t)+κYES(p,t)(1−p)−κNO(p,t)p=0\mu_{\text{eff}}(p,t) + \kappa_{\mathrm{YES}}(p,t)(1-p) - \kappa_{\mathrm{NO}}(p,t)p = 0

Solving for μeff\mu_{\text{eff}}:

μeff(p,t)  =  −κYES(p,t)(1−p)  +  κNO(p,t)p\mu_{\text{eff}}(p,t) \;=\; -\kappa_{\text{YES}}(p,t)(1-p) \;+\; \kappa_{\text{NO}}(p,t)p

Or using the earlier decomposition of μeff\mu_{\text{eff}}​ in terms of μbase\mu_{\text{base}}​ and interior jumps, this implies:

μbase(p,t)=−κ↑nr(p,t) E ⁣[Z↑∣0<Z↑<A↑]−κ↓nr(p,t) E ⁣[Z↓∣−A↓<Z↓<0]−κYES(p,t)(1−p)+κNO(p,t) p\boxed{\begin{aligned}\mu_{\text{base}}(p,t)&= - \kappa_{\uparrow}^{\mathrm{nr}}(p,t)\,\mathbb{E}\!\left[Z_{\uparrow}\mid 0<Z_{\uparrow}<A_{\uparrow}\right] -\kappa_{\downarrow}^{\mathrm{nr}}(p,t)\,\mathbb{E}\!\left[Z_{\downarrow}\mid -A_{\downarrow}<Z_{\downarrow}<0\right] &\quad - \kappa_{\mathrm{YES}}(p,t)(1-p) + \kappa_{\mathrm{NO}}(p,t)\,p \end{aligned} }

All this means is that the continuous drift must exactly cancel the average effect of interior jumps and the compensator of the resolution hazards, so that the overall process is a martingale under the risk-neutral measure.

In practice, you may or may not want to enforce this strictly for a couple reasons. κYES\kappa_{\mathrm{YES}} and κNO\kappa_{\mathrm{NO}} could be difficult to estimate or there may be risk premia (risk-averse) or structural biases that can break the martingale condition. The expression above is best viewed as a theoretical anchor: it tells you what μeff\mu_{\mathrm{eff}} would have to be in an idealized risk-neutral world for a given jump structure.

Other Approaches to Drift

For short epochs, financiers could be more comfortable with empirically calibrating drift based on resolved markets. A convenient way to do this is to choose a simple parametric form for μbase(pt)\mu_{\mathrm{base}}(p_t), fit its parameters on historical data for a given market type, and then obtain μeff\mu_{\text{eff}} by adding interior jumps. Below are four interpretable choices for μbase\mu_{\text{base}}​. In each case, treat drift as constant within the epoch ψ\psi (and recalibrate each rollover).

1. Driftless

 μbase(pt)=0 \boxed{\ \mu_{\text{base}}(p_t) = 0\ }

This model fits best with contentious elections / awards with no systematic drift.

There is a special case when the effective drift is zero: if μeff=0\mu_{\text{eff}}=0, the creep probability CψC_{\psi}​ depends only on distance aa and volatility σeff\sigma_{\text{eff}}, so:

Cψmarg(pt;a)=2 Φ ⁣(−aσeffψ)C^{\mathrm{marg}}_\psi(p_t;a)= 2\,\Phi\!\Big(-\frac{a}{\sigma_{\text{eff}}\sqrt{\psi}}\Big)

2. Selection drift

 μbase(pt)=α pt(1−pt) \boxed{\ \mu_{\text{base}}(p_t)=\alpha\,p_t(1-p_t) \ }

α\alpha has units 1/time and represents the strength of the push to YES (α>0\alpha > 0 pushes pp upward toward 1) or NO(α<0\alpha < 0 pushes pp downward toward 0).

This model fits best when there’s a steady push toward YES like “Will this product launch happen?”

3. Time-decay

 μbase(pt)=− β (1−pt) \boxed{\, \mu_{\text{base}}(p_t)= -\,\beta\,(1-p_t) \,}

β\beta has units 1/time and represents the strength of the push to 0. If the YES event arrives with constant hazard β>0\beta>0 before a fixed deadline TT

pt=1−e−βH    ⇒     β=−1Hln⁡(1−pt) p_t = 1 - e^{-\beta H}\;\;\Rightarrow\;\;\boxed{\, \beta = -\frac{1}{H}\ln(1-p_t) \,}

Within a single epoch [t,t+ψ)[t,t+\psi), treat β(t)\beta(t) as constant and set

 μbase(pt;β(t))=− β(t) (1−pt) \boxed{\, \mu_{\text{base}}(p_t;\beta(t)) = -\,\beta(t)\,(1-p_t) \,}

The NO case is the opposite where NO drifts up to 1 as YES decays to 0.

This model fits best with “happen-before-deadline” markets like “Will a M6+ earthquake occur in California by the end of 2025?” or “Will Trump fire Powell by the end of 2025?".

4. Mean-reversion

  μbase(pt)=− θ ⁣(pt−pˉ),θ>0  \boxed{\;\mu_{\mathrm{base}}(p_t)= -\,\theta\!\left(p_t-\bar p\right),\quad \theta>0\;}

θ\theta has units 1/time and represents the strength of the push to the fundamental price pˉ∈[0,1]\bar p \in [0,1]. If pt>pˉp_t>\bar p​ and you’re long YES, drift is downward (larger creep risk); if pt<pˉp_t<\bar p, drift is upward (lower creep risk).

This model fits best when beliefs are somewhat anchored and mean-revert toward pˉ\bar p, a contentious election like “Will Trump win the 2024 election?" months before the poll may mean revert to $0.5.

Many markets can be modeled as a mix (e.g., using both selection and time-decay).

Gaussian Scoring Approach to Volatility

For volatility, one approach that could work well for sport or election markets is a Gaussian Scoring model. Under this approach, we assume the continuous drift of the price is 0 (i.e. μbase=0\mu_{\text{base}}=0) and obtain a volatility of:

  σGS(pt,T,t)=ϕ ⁣(Φ−1(pt))T−t  \boxed{\; \sigma_{\mathrm{GS}}(p_t,T,t) = \frac{\phi\!\big(\Phi^{-1}(p_t)\big)}{\sqrt{T-t}}\; }

where ϕ\phi is the standard normal probability density function (PDF), and Φ−1\Phi^{-1} is the inverse standard normal cumulative distribution function (CDF).

We can then fold in interior jumps to σeff2(pt)\sigma_{\mathrm{eff}}^{2}(p_t), or if you use a different jump law, treat all discontinuous moves explicitly in the jump part (not in σeff\sigma_{\mathrm{eff}}) and use:

σeff2(pt)=σGS2(pt,T,t)\sigma_{\mathrm{eff}}^{2}(p_t) = \sigma_{\mathrm{GS}}^{2}(p_t,T,t)

Wright-Fisher Approach to Volatility

For markets where you want a simpler, bounded diffusion independent of T−tT-t, the Wright-Fisher baseline σbase2(pt)=σwf2pt(1−pt)\sigma_{\text{base}}^{2}(p_t) = \sigma_{\mathrm{wf}}^{2}p_t(1-p_t) could also work. In practice, σwf\sigma_{\mathrm{wf}} would be empirically calibrated from resolved markets.

Final Fee Formula Per Epoch

Combining everything together under the jump–diffusion assumptions above, the expanded formula (see Desmos here) becomes:

Fψ(pt;L,b,a)=L[Jψ(pt;a) gjumpcapped(b)  +  Cψ(pt;a) gcreep(b;μeff,σeff,w)]⏟expected loss inside the epoch  +  (L−1) p0 (rf+ρ) ψ⏟epoch capital charge\boxed{ F_{\psi}(p_t;L,b,a) = \underbrace{L\Big[J_{\psi}(p_t; a)\,g_{\text{jump}}^{\text{capped}}(b)\;+\;C_{\psi}(p_t; a)\,g_{\text{creep}}(b;\mu_{\text{eff}},\sigma_{\text{eff}},w)\Big]}_{\text{expected loss inside the epoch}} \;+\; \underbrace{(L-1)\,p_0\,(r_f+\rho)\,\psi}_{\text{epoch capital charge}} }

Where:

Distance & barriers.

a≡pt−ℓ>0a\equiv p_t-\ell>0, ℓ=ℓZE+b\ell=\ell_{\mathrm{ZE}}+b, b≥0b\ge0, LℓZE=(L−1)p0L\ell_{\mathrm{ZE}}=(L-1)p_0.

Jump probability.

Jψ(pt;a)=Jψrace(pt;a)=κfatal(a)κtot(pt;a) (1−e−κtot(pt;a)ψ(1−Cψmarg(pt;a;μeff,σeff))−Cψrace(pt;a))J_\psi (p_t;a) = J_\psi^{\mathrm{race}}(p_t;a) = \frac{\kappa_{\mathrm{fatal}}(a)}{\kappa_{\mathrm{tot}}(p_t;a)} \,( 1 - e^{-\kappa_{\mathrm{tot}}(p_t;a)\psi} \big(1 - C_\psi^{\mathrm{marg}}(p_t;a;\mu_{\mathrm{eff}},\sigma_{\mathrm{eff}})\big) - C_\psi^{\mathrm{race}}(p_t;a) )
κtot(pt;a)=κfatal(a)+κYES(pt)\kappa_{\mathrm{tot}}(p_t;a) = \kappa_{\mathrm{fatal}}(a) + \kappa_{\mathrm{YES}}(p_t)
κfatal(a)  =  κ↓ e−η−a\kappa_{\text{fatal}}(a) \;=\; \kappa_{\downarrow}\,e^{-\eta_- a}
κYES(pt)  =  κ↑ e−η+A↑\kappa_{\text{YES}}(p_t) \;=\; \kappa_{\uparrow}\,e^{-\eta_+ A_{\uparrow}}

Jump loss ($ per YES share), capped at price floor.

gjumpcapped(b)=  e−η−b(1−e−η−ℓZE)η−g_{\text{jump}}^{\text{capped}}(b)=\;\frac{e^{-\eta_- b}\big(1-e^{-\eta_-\ell_{\mathrm{ZE}}}\big)}{\eta_-}

Creep probability.

Cψ(pt;a)=Cψrace(pt;a)=exp⁡ ⁣(a[μ′(pt;a)−μeff(pt)]σeff(pt)2) Cψmarg(pt;a;μ′(pt;a),σeff(pt))C_\psi (p_t;a) = C_\psi^{\mathrm{race}}(p_t;a) = \exp\!\Big(\frac{a[\mu'(p_t;a)-\mu_{\mathrm{eff}}(p_t)]}{\sigma_{\mathrm{eff}}(p_t)^2}\Big)\, C_\psi^{\mathrm{marg}}(p_t;a;\mu'(p_t;a),\sigma_{\mathrm{eff}}(p_t))
Cψmarg(pt;a)=Φ ⁣(−a−μeffψσeffψ)  +  exp⁡ ⁣(−2μeffaσeff2) Φ ⁣(−a+μeffψσeffψ)  C^{\mathrm{marg}}_\psi(p_t;a) = \Phi\!\Big(\frac{-a-\mu_{\text{eff}}\psi}{\sigma_{\text{eff}}\sqrt{\psi}}\Big)\;+\; \exp\!\Big(\frac{-2\mu_{\text{eff}}a}{\sigma_{\text{eff}}^2}\Big)\, \Phi\!\Big(\frac{-a+\mu_{\text{eff}}\psi}{\sigma_{\text{eff}}\sqrt{\psi}}\Big) \;
μ′(pt;a)=μeff(pt)2+2σeff(pt)2κtot(pt;a)\mu'(p_t;a) = \sqrt{\mu_{\mathrm{eff}}(p_t)^2 + 2\sigma_{\mathrm{eff}}(p_t)^2 \kappa_{\mathrm{tot}}(p_t;a)}

Creep Loss ($ per YES share).

gcreep(b;μeff,σeff,w)=σw ϕ(dw)+(mw−b) [1−Φ(dw)],mw=−μeff w,σw=σeffw,dw=b−mwσw\begin{aligned} g_{\mathrm{creep}}(b;\mu_{\mathrm{eff}},\sigma_{\mathrm{eff}},w) &= \sigma_w\,\phi(d_w) + (m_w - b)\,\big[1-\Phi(d_w)\big],\\[6pt] m_w &= -\mu_{\mathrm{eff}}\,w,\quad \sigma_w = \sigma_{\mathrm{eff}}\sqrt{w},\quad d_w = \tfrac{b - m_w}{\sigma_w} \end{aligned}

Effective moments (folding in non-resolving jumps).

μeff(pt)=μbase(pt)+κ↑nr E ⁣[Z↑∣0<Z↑<A↑]+κ↓nr E ⁣[Z↓∣−A↓<Z↓<0]\mu_{\text{eff}}(p_t) = \mu_{\text{base}}(p_t) + \kappa_{\uparrow}^{\mathrm{nr}}\,\mathbb{E}\!\left[Z_{\uparrow}\mid 0<Z_{\uparrow}<A_{\uparrow}\right] + \kappa_{\downarrow}^{\mathrm{nr}}\,\mathbb{E}\!\left[Z_{\downarrow}\mid -A_{\downarrow}<Z_{\downarrow}<0\right]
σeff2(pt)=σbase2(pt)+κ↑nr E ⁣[Z↑2∣0<Z↑<A↑]+κ↓nr E ⁣[Z↓2∣−A↓<Z↓<0]\sigma_{\text{eff}}^{2}(p_t)= \sigma_{\mathrm{base}}^{2}(p_t) + \kappa_{\uparrow}^{\mathrm{nr}}\,\mathbb{E}\!\left[Z_{\uparrow}^{2}\mid 0<Z_{\uparrow}<A_{\uparrow}\right] + \kappa_{\downarrow}^{\mathrm{nr}}\,\mathbb{E}\!\left[Z_{\downarrow}^{2}\mid -A_{\downarrow}<Z_{\downarrow}<0\right]

Section Summary:

The per-epoch fee has two parts: (1) expected loss this epoch and (2) a small charge for tying up capital. The expected-loss piece is the leverage LL times a weighted mix of two risks: the chance a fatal jump hits in the next epoch ψ\psi multiplied by its typical jump shortfall, plus the chance a slow “creep” hit occurs multiplied by its latency shortfall. Those chances rise as you get closer to liquidation (smaller distance a=pt−ℓa=p_t-\ell), with market conditions (drift μeff\mu_{\text{eff}}​, volatility σeff\sigma_{\text{eff}}​) and jumps (κ↓,η−\kappa_{\downarrow},\eta_-) pushing them up or down. The jump shortfall shrinks with a larger buffer b=ℓ−ℓZEb=\ell-\ell_{\mathrm{ZE}}​ (and is capped at price 0), while the creep shortfall mainly comes from the engine’s reaction window ww and also falls with bigger bb or faster execution. The capital charge (L−1)p0(rf+ρ)ψ(L-1)p_0(r_f+\rho)\psi compensates the financier for lending the extra shares over the epoch. Since fees are pre-paid at the epoch start, intra-epoch discounting is negligible for small ψ\psi.

Can Risk be Mitigated?

The short answer is partially. Given the fee formula:

Fψ(pt)  =  L[ Jψ(pt;a) gjumpcapped(b)  +  Cψ(pt;a) gcreep(b;μeff,σeff,w) ]  +  (L−1)p0 (rf+ρ) ψF_{\psi}(p_t) \;=\; L\Big[\,J_{\psi}(p_t; a)\,g_{\mathrm{jump}}^{\mathrm{capped}}(b)\;+\;C_{\psi}(p_t; a)\,g_{\mathrm{creep}}(b;\mu_{\mathrm{eff}},\sigma_{\mathrm{eff}},w)\,\Big] \;+\;(L-1)p_0\,(r_f+\rho)\,\psi

There are several levers that can lower the fair fee:

  • Shrink the reaction window: ww → lowers creep overshoot
gcreep=σw ϕ(dw)+(mw−b)[1−Φ(dw)],  mw=−μeffw, σw=σeffw, dw=b−mwσwg_{\text{creep}} = \sigma_w\,\phi(d_w) + (m_w-b)\big[1-\Phi(d_w)\big],\ \ m_w=-\mu_{\text{eff}}w,\ \sigma_w=\sigma_{\text{eff}}\sqrt{w},\ d_w=\tfrac{b-m_w}{\sigma_w}

As w→0w\to 0, gcreep↓0g_{\mathrm{creep}}\downarrow 0; only jump losses remain.

  • Increase the engine buffer: b=ℓ−ℓZEb=\ell-\ell_{\mathrm{ZE}} → lowers both jump and creep loss sizes
gjumpcapped(b)=  e−η−b(1−e−η−ℓZE)η−g_{\mathrm{jump}}^{\mathrm{capped}}(b)=\;\frac{e^{-\eta_- b}\big(1-e^{-\eta_-\ell_{\mathrm{ZE}}}\big)}{\eta_-}

gcreep(⋅)g_{\mathrm{creep}}(\cdot) also falls as b↑b\uparrow.

  • Manage leverage: Since L ℓZE=(L−1) p0L\,\ell_{\mathrm{ZE}} = (L - 1)\,p_0, smaller LL linearly reduces the total capital at risk.
  • Detect adverse volatility → re-quote or add buffer σeff\sigma_{\mathrm{eff}}​ spikes, CψC_{\psi}​ and gcreepg_{\mathrm{creep}}​ rise; raise quotes, increase bb, cap LL, or shorten ψ\psi.

However, the irreducible loss from true jump events remains. That’s where platform design can help.

Prediction market platform design can raise the effective fill prices during jump-caused liquidations. This could be done via a rebate: The platform could use token emissions or a treasury to decrease the loss. However this is unsustainable long-term.

A more interesting mechanism would be designing an auction that captures the arbitrage that occurs when new external information comes and redistributes that value to the affected parties, market makers and financiers.

Auction Design for Jump Rebate

Simply just changing the transaction ordering method creates a game of hot potato with the least prioritized transaction holding the bag (the loss).

  • If one changes transaction ordering to prioritize financiers get their liquidations included first in the block, then this negatively impacts market makers who will take on all their losses.
  • If market makers are prioritized via cancel-priority ordering (i.e. cancels are prioritized at the top of the block, market makers get priority to cancel their stale quotes before arbitrageurs or financiers can liquidate positions into them), then financiers will have no liquidity to close their positions into.

An auction could capture value that otherwise would be lost to arbitrageurs, and serve as a good middle ground between the two. If the prediction market platform is designed as an app-specific rollup or uses some form of Application-Controlled Execution, it can temporarily delay normal transactions by a tiny window. If this window is around the same as the block time, this means transactions will have to wait until the next block to be included.

During this window delay, the platform runs a sealed-bid auction. Each bidder should also include their pre-committed, taker-only bundle transaction. The auction winner’s bundle is then executed at the top of the next block, after which normal transactions resume, and the next auction to sell the top of block K+1K+1 while producing block KK starts.

This design ensures that the winning bidder captures the arbitrage opportunity that arises when new external information causes a price jump. Because multiple bidders will likely compete for this value, bids should approach the total value to be extracted, allowing the platform to capture this value. That captured value can then be redistributed back to market makers and financiers.

Why this Lowers Fees

Once the platform receives the auction proceeds, it could take a cut and then rebate the remainder to users affected by the jump. Besides financiers, market makers are also affected, so the platform will need to decide how to split earnings.

Let Ω≥0\Omega\ge 0 be the auction pot routed to financiers for this event.

Let MiYESM_i^{\mathrm{YES}}​ be the total YES shares in position ii (i.e., Li×L_i \times number of base shares).

Define the jump loss per YES share for position ii as

si  =  ( ℓZE,i−pτℓ )+s_i \;=\; \big(\,\ell_{\mathrm{ZE},i} - p_{\tau_\ell}\,\big)_+

Therefore the total dollar loss across all positions is the sum of all position’s losses:

∑jMjYES sj\sum_j M_j^{\mathrm{YES}}\, s_j

Define the percent of losses that will be recovered by the auction proceeds:

γ  =  min⁡ ⁣(1,  Ω ∑jMjYES sj )\gamma \;=\; \min\!\Big(1,\; \frac{\Omega}{\,\sum_j M_j^{\mathrm{YES}}\, s_j\,}\Big)

Then per each position i, the rebate per share should be the percentage recovered times the dollar losses per YES share:

λi  =  γ si\lambda_i \;=\; \gamma\, s_i

Each position's post-rebate loss per YES share is:

si′=( ℓZE,i−(pτℓ+λi) )+=( ℓZE,i−pτℓ−γ si )+=(1−γ) si.\begin{aligned} s_i' &= \big(\,\ell_{\mathrm{ZE},i} - (p_{\tau_\ell}+\lambda_i)\,\big)_+ &= \big(\,\ell_{\mathrm{ZE},i} - p_{\tau_\ell} - \gamma\,s_i\,\big)_+ &= (1-\gamma)\, s_i . \end{aligned}

Hence, the financier’s jump loss size inside the epoch is scaled:

gjumprebated  =  (1−γ) gjumpcappedg_{\mathrm{jump}}^{\mathrm{rebated}} \;=\; (1-\gamma)\, g_{\mathrm{jump}}^{\mathrm{capped}}

Plugging this into the per-epoch fee gives:

Fψ(rebated)(pt)  =  L[ Jψ(pt;a) (1−γ) gjumpcapped(b)  +  Cψ(pt;a) gcreep(b;μeff,σeff,w) ]  +  (L−1)p0 (rf+ρ) ψF_{\psi}^{\mathrm{(rebated)}}(p_t) \;=\; L\Big[\,J_{\psi}(p_t; a)\,(1-\gamma)\,g_{\mathrm{jump}}^{\mathrm{capped}}(b) \;+\; C_{\psi}(p_t; a)\,g_{\mathrm{creep}}(b;\mu_{\mathrm{eff}},\sigma_{\mathrm{eff}},w)\,\Big] \;+\;(L-1)p_0\,(r_f+\rho)\,\psi

Overall, implementing an auction with rebates to market makers and financiers can be a great way to boost liquidity and lower leverage financing fees to traders. An auction also serves as a good middle ground between market makers and financiers.

Closing Thoughts

Leverage in prediction markets is tricky but far from doomed. In the instant-resolution case (no time to liquidate), a fair fee cancels the upside, so leverage nets out to 1x. But once there’s any chance to liquidate before resolution, leverage can become possible. However, it’s very difficult to forecast all parameters across the entire price path. To make it easier, we can introduce epochs, where a financier only has to price the risk of losses in that small period. Done well, gaps can be turned into predictable, priceable costs.

Further research could explore practical implementations of the above theoretical formulas by empirically calibrating inputs on resolved markets and tailoring the jump size distribution to different market types.

Appendix

Fair fee over the entire life of the position

Define V(p,t)V(p,t) as the expected financier loss per base share from state (p,t)(p,t), with three creep boundaries:

  • Continuous hit of p=1p = 1 (YES resolution by creep),
  • Continuous hit of p=ℓp = \ell (liquidation by creep),
  • The deadline TT (unresolved ⇒ NO).

Jumps are not treated as spatial boundaries; instead, jump-to-YES and fatal down-jumps are modeled as Poisson “kill” hazards inside the equation for VV.

Setup the boundary/terminal conditions

The state: ℓ<p<1\ell < p < 1, t<Tt<T.

Stopping times:

  • Creep YES Resolution: τ1=inf⁡{u≥t:pu=1}\tau_1=\inf\{u\ge t: p_u=1\}
  • Creep liquidation: τℓ=inf⁡{u≥t:pu≤ℓ}\tau_\ell=\inf\{u\ge t: p_u\le \ell\}
  • Deadline: τT≡T\tau_T \equiv T (unresolved ⇒ NO)

Loss at each boundary/terminal:

  • Creep YES Resolution (no Loss):
V(1,t)=0for all t≤TV(1,t)=0 \quad \text{for all } t\le T
  • Creep liquidation (trigger at ℓ\ell, fill after latency ww with overshoot):
V(ℓ,t)  =  L gcreep ⁣(b;μeff(p,t),σeff(p,t),w)V(\ell,t)\;=\;L\,g_{\mathrm{creep}}\!\big(b;\mu_{\mathrm{eff}}(p,t),\sigma_{\mathrm{eff}}(p,t),w\big)

Where

gcreep(b;⋅)=σwϕ(dw)+(mw−b) [1−Φ(dw)]g_{\mathrm{creep}}(b;\cdot)=\sigma_w\phi(d_w)+(m_w-b)\,[1-\Phi(d_w)]

with mw=−μeffwm_w=-\mu_{\mathrm{eff}}w, σw=σeffw\sigma_w=\sigma_{\mathrm{eff}}\sqrt{w}, dw=(b−mw)/σwd_w=(b-m_w)/\sigma_w.

  • Deadline (NO) (instant drop to 0 recovers none of the financed principal):
V(p,T)=(L−1) p0for ℓ<p<1V(p,T)=(L-1)\,p_0 \quad \text{for } \ell<p<1

Dynamics with interior and boundary-crossing jumps

We model YES price pt∈(0,1) p_t \in (0, 1) over calendar time tt with diffusion and price/time-dependent jumps:

dpt=μbase(pt,t) dt+σbase(pt,t)dWt+dJt,ℓ<pt<1dp_t = \mu_{\mathrm{base}}(p_t,t)\,dt + \sigma_{\mathrm{base}}(p_t,t)dW_t + dJ_t, \qquad \ell < p_t < 1

where:

  • μbase(pt,t)\mu_{\mathrm{base}}(p_t,t) is drift ($/time).
  • σbase(pt,t)\sigma_{\mathrm{base}}(p_t,t) is the diffusion volatility ($/√(time)).
  • JtJ_t is a pure jump component with price and time-dependent up/down jump arrival rates and sizes.

The drift, volatility, jump arrival rates, and jump size law should all be chosen based on the market type.

Let’s first define two jump channels:

  • Upward Jump:
    • Upward jumps arrive with price and time-dependent intensity κ↑(p,t)\kappa_{\uparrow}(p,t) (units: 1/time); i.e., the expected frequency per unit of time of upward jumps.
    • Z↑>0Z_{\uparrow} > 0 is a random upward jump size (units: $/YES share) with the PDF of f↑(z∣p,t), z∈(0,∞)f_{\uparrow}(z \mid p,t),\ z\in(0,\infty).
  • Downward Jump:
    • Downward jumps arrive with price and time-dependent intensity κ↓(p,t)\kappa_{\downarrow}(p,t) (units: 1/time); i.e., the expected frequency per unit of time of downward jumps.
    • Z↓<0Z_{\downarrow} < 0 is a random downward jump size (units: $/YES share) with the PDF of f↓(z∣p,t), z∈(−∞,0)f_{\downarrow}(z \mid p,t),\ z\in(-\infty,0) (Equivalently, R≡−Z↓>0R\equiv -Z_{\downarrow}>0).

We can split the price path into:

  • No jump: take a diffusion step;
μbase(pt,t) dt+σbase(pt,t)dWt\mu_{\mathrm{base}}(p_t,t)\,dt + \sigma_{\mathrm{base}}(p_t,t)dW_t
  • Non-resolving jumps: jumps remain inside (ℓ,1)(\ell, 1) with no immediate resolution;

Upward Interior: z∈(0, 1−p),p↦p+zz \in (0,\,1-p),\qquad p \mapsto p+z

Downward Interior: z∈(ℓ−p, 0),p↦p+zz \in (\ell - p,\,0),\qquad p \mapsto p+z

Jumps outside these windows are treated as boundary-crossing and are accounted for in κYES\kappa_{\mathrm{YES}} and κfatal\kappa_{\mathrm{fatal}} below.

  • YES-resolving upward jumps: instant hit of 1;
Z↑≥1−pZ_{\uparrow} \ge 1 - p
κYES(p,t)=κ↑(p,t) P(Z↑≥1−p∣p,t)=κ↑(p,t)∫1−p∞f↑(z∣p,t) dz\kappa_{\mathrm{YES}}(p,t) = \kappa_{\uparrow}(p,t)\,P\big(Z_{\uparrow} \ge 1-p \mid p,t\big) = \kappa_{\uparrow}(p,t)\int_{1-p}^{\infty} f_{\uparrow}(z \mid p,t)\,dz

When this Poisson “kill” event time arrives, future loss drops to 0 instantly. So the continuation value V(p,t)V(p,t) is removed at rate κYES(p,t)\kappa_{\mathrm{YES}}(p,t). In the final equation this shows up as

+ κYES(p,t) (0−V(p,t))  =  −κYES(p,t) V(p,t)+\ \kappa_{\mathrm{YES}}(p,t)\,\big(0 - V(p,t)\big)\;=\;-\kappa_{\mathrm{YES}}(p,t)\,V(p,t)
  • Fatal down jumps: instant liquidation;
Z↓≤ℓ−pZ_{\downarrow} \le \ell - p
κfatal(p,t)=κ↓(p,t) P(Z↓≤ℓ−p∣p,t)=κ↓(p,t)∫−∞ ℓ−pf↓(z∣p,t) dz\kappa_{\mathrm{fatal}}(p,t) = \kappa_{\downarrow}(p,t)\,P\big(Z_{\downarrow} \le \ell - p \mid p,t\big) = \kappa_{\downarrow}(p,t)\int_{-\infty}^{\,\ell-p} f_{\downarrow}(z \mid p,t)\,dz

When this Poisson “kill” event time arrives, you realize the jump loss L gjumpcapped(b)L\,g_{\mathrm{jump}}^{\mathrm{capped}}(b) and then stop. So the continuation value V(p,t)V(p,t) is added at rate κfatal(p,t)\kappa_{\mathrm{fatal}}(p,t). In the final equation this shows up as

+ κfatal(p,t) (L gjumpcapped(b)−V(p,t))+\ \kappa_{\mathrm{fatal}}(p,t)\,\big(L\,g_{\mathrm{jump}}^{\mathrm{capped}}(b) - V(p,t)\big)

The non-resolving jump integrals in the PIDE use only z∈(0, 1−p)z \in (0,\,1-p) for up jumps z∈(ℓ−p, 0)z \in (\ell - p,\,0) for down jumps; the boundary-crossing parts are handled by the two hazard terms above, so there is no double counting.

If we reach the market deadline time TT without having hit 1 or ℓ\ell, the event is treated as NO; losses beyond TT are as in the terminal condition.

On ℓ<p<1\ell < p < 1 and t<Tt < T, the time-inhomogeneous Partial Integro-Differential Equation (PIDE) for the life of the position expected loss is:

∂V∂t+μbase(p,t) ∂V∂p+12 σbase2(p,t)∂2V∂p2+κ↑(p,t) ⁣∫0 1−p ⁣[V(p+z,t)−V(p,t)] f↑(z∣p,t) dz+κ↓(p,t) ⁣∫ℓ−p 0 ⁣[V(p+z,t)−V(p,t)] f↓(z∣p,t) dz− κYES(p,t) V(p,t)⏟up jump to YES: absorb with 0 loss  +  κfatal(p,t) (L gjumpcapped(b)−V(p,t))⏟fatal down jump: realize L gjumpcapped then absorb  =  0.\begin{aligned} \frac{\partial V}{\partial t} &+ \mu_{\mathrm{base}}(p,t)\,\frac{\partial V}{\partial p} + \tfrac12\,\sigma_{\mathrm{base}}^{2}(p,t)\frac{\partial^{2}V}{\partial p^{2}} \\[6pt] &+ \kappa_{\uparrow}(p,t)\!\int_{0}^{\,1-p}\!\big[V(p+z,t)-V(p,t)\big]\,f_{\uparrow}(z\mid p,t)\,dz \\[6pt] &+ \kappa_{\downarrow}(p,t)\!\int_{\ell-p}^{\,0}\!\big[V(p+z,t)-V(p,t)\big]\,f_{\downarrow}(z\mid p,t)\,dz \\[6pt] &\underbrace{-\ \kappa_{\mathrm{YES}}(p,t)\,V(p,t)}_{\text{up jump to YES: absorb with 0 loss}} \;+\; \underbrace{\kappa_{\mathrm{fatal}}(p,t)\,\big(L\,g_{\mathrm{jump}}^{\mathrm{capped}}(b)-V(p,t)\big)}_{\text{fatal down jump: realize }L\,g_{\mathrm{jump}}^{\mathrm{capped}}\text{ then absorb}} \;=\;0. \end{aligned}

Together with the boundary/terminal conditions above,

V(1,t)=0,V(ℓ,t)=L gcreep(⋅),V(p,T)=(L−1) p0V(1,t)=0,\qquad V(\ell,t)=L\,g_{\mathrm{creep}}(\cdot),\qquad V(p,T)=(L-1)\,p_0

This PIDE yields the full life of the position expected loss.

Parameters may be price and time-dependent: μbase(p,t), σbase(p,t), κ↑(p,t), κ↓(p,t)\mu_{\mathrm{base}}(p,t),\ \sigma_{\mathrm{base}}(p,t),\ \kappa_{\uparrow}(p,t),\ \kappa_{\downarrow}(p,t). In practice, either calibrate them as functions of (p,t)(p,t) or treat them piecewise-constant over short windows (recalibrated as conditions change).

Present Value Discounting and Capital Charge

To include discounting for VV and the capital charge a financier wants for tying up their capital, modify the PIDE and add the terms − rf(t) V-\ r_f(t)\,V for discounting the loss and the capital charge (L−1) p0 (rf(t)+ρ(t))(L-1)\,p_0\,\big(r_f(t)+\rho(t)\big):

∂V∂t+μbase(p,t) ∂V∂p+12 σbase2(p,t)∂2V∂p2+κ↑(p,t) ⁣∫0 1−p ⁣[V(p+z,t)−V(p,t)] f↑(z∣p,t) dz+κ↓(p,t) ⁣∫ℓ−p 0 ⁣[V(p+z,t)−V(p,t)] f↓(z∣p,t) dz− κYES(p,t) V(p,t)  +  κfatal(p,t) (L gjumpcapped(b)−V(p,t))− rf(t) V(p,t)  + (L−1) p0 (rf(t)+ρ(t))  =  0\begin{aligned} \frac{\partial V}{\partial t} &+ \mu_{\mathrm{base}}(p,t)\,\frac{\partial V}{\partial p} + \tfrac12\,\sigma_{\mathrm{base}}^{2}(p,t)\frac{\partial^{2}V}{\partial p^{2}} \\[6pt] &+ \kappa_{\uparrow}(p,t)\!\int_{0}^{\,1-p}\!\big[V(p+z,t)-V(p,t)\big]\,f_{\uparrow}(z\mid p,t)\,dz \\[6pt] &+ \kappa_{\downarrow}(p,t)\!\int_{\ell-p}^{\,0}\!\big[V(p+z,t)-V(p,t)\big]\,f_{\downarrow}(z\mid p,t)\,dz \\[6pt] &-\ \kappa_{\mathrm{YES}}(p,t)\,V(p,t) \;+\;\kappa_{\mathrm{fatal}}(p,t)\,\big(L\,g_{\mathrm{jump}}^{\mathrm{capped}}(b)-V(p,t)\big) \\[6pt] &-\ r_f(t)\,V(p,t) \;+\ (L-1)\,p_0\,\big(r_f(t)+\rho(t)\big) \;=\;0 \end{aligned}

Boundaries/terminal:

V(1,t)=0,V(ℓ,t)=L gcreep ⁣(b;μeff(p,t),σeff(p,t),w),V(p,T)=(L−1) p0V(1,t)=0,\qquad V(\ell,t)=L\,g_{\mathrm{creep}}\!\big(b;\mu_{\mathrm{eff}}(p,t),\sigma_{\mathrm{eff}}(p,t),w\big),\qquad V(p,T)=(L-1)\,p_0

Solving the PIDE

A full solution is beyond the scope of this report and could be an interesting area for further exploration. That being said, a clean, closed-form equation, like the epoch-based fair fee, is unlikely. In practice, the best way to solve this problem is through a Monte Carlo simulation.

The gist is to run lots of simulated price paths under your chosen jump-diffusion distribution model. On each path, advance to the first of: (i) a boundary hit (liquidation at ℓ\ell or YES at 1), (ii) the next jump arrival, or (iii) the deadline TT. If a boundary hits, record the corresponding loss; if a jump arrives, apply it (jump resolve to YES → zero loss, fatal down jump → jump loss, interior move → continue) and keep simulating from the new price and time state. Accrue capital charge and discount cash flows along the path. The average discounted loss across paths is the full life of the position fair expected loss (the fair fee).

Let us know what you loved about the report, what may be missing, or share any other feedback by filling out this short form. All responses are subject to our Privacy Policy and Terms of Service.

All content was produced independently by the author(s) and does not necessarily reflect the opinions of Messari, Inc. Author(s) may hold cryptocurrencies named in this report. This report is meant for informational purposes only. It is not meant to serve as investment advice. You should conduct your own research and consult an independent financial, tax, or legal advisor before making any investment decisions. Nothing contained in this report is a recommendation or suggestion, directly or indirectly, to buy, sell, make, or hold any investment, loan, commodity, or security, or to undertake any investment or trading strategy with respect to any investment, loan, commodity, security, or any issuer. This report should not be construed as an offer to sell or the solicitation of an offer to buy any security or commodity. Messari does not guarantee the sequence, accuracy, completeness, or timeliness of any information provided in this report. Please see our Terms of Service for more information.


No part of this report may be (a) copied, photocopied, duplicated in any form by any means or (b) redistributed without the prior written consent of Messari®.

Kaleb was previously a research and governance analyst at 404 DAO. His primary interests are high performance L1 and L2 chains and innovative DeFi protocols.

Mentioned Assets

Suggested Research Based on your Watchlists

Create a new watchlist
Outline
  • Key Insights
  • Background on Prediction Markets
  • Abstract on the Model
  • Most Basic Model: Fair Die, Instant Resolution
  • Real Market: Liquidation as a Price Barrier
  • Epoch-Based Fair Fee
  • Jump Component
  • Creep Component
  • Final Fee Formula Per Epoch
  • Can Risk be Mitigated?
  • Closing Thoughts
  • Appendix
Author
Kaleb was previously a research and governance analyst at 404 DAO. His primary interests are high performance L1 and L2 chains and innovative DeFi protocols.
Mentioned Assets