Enabling Leverage on Prediction Markets
Enabling Leverage on Prediction Markets
Pas un conseil financier. DYOR.
Translation pending: showing the source text.
Read full report
DeFi
Enabling Leverage on Prediction Markets

Nov 21, 2025 â 39 min read
Thank you toAnanth 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 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 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 to a seller, and will receive 1 of collateral locked. On Polymarket, this is implemented through Gnosisâ Conditional Token Framework: a trader deposits 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.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 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.1667p0=61â0.1667.
- Probability of NO:1âp0=56â0.83331 - p_0 = \frac{5}{6} \approx 0.83331âp0=65â0.8333 .
- These are also the fair prices: YES costs p0p_0p0, NO costs 1âp01 - p_01âp0.
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_0p0 cash to buy 1 YES (the base share).
- With Leverage L=3L=3L=3, the position holds L=3L=3L=3 YES shares; the financier supplies (Lâ1)=2(L - 1) = 2(Lâ1)=2 extra YES shares worth of capital, i.e. p0(Lâ1)p_0(L-1)p0(Lâ1).
Outcomes at instant resolution.
- If YES: each YES share instantly jumps from 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. The 3 shares are worth 0. financier PnL = âp0(Lâ1)-p_0(L-1)âp0(Lâ1).
To account for their risk in a risk-neutral, frictionless setting, the financier should charge the trader an upfront fee (FFF). 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)âp0(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) EV=0=F+p0â 0+(1âp0)â (âp0(Lâ1))âF=p0(1âp0)(Lâ1)
This FFF is therefore the financierâs expected loss per base share when liquidation isnât possible.
Die Example Numbers
With p0=0.1667p_0= \0.1667p0=0.83331 - p_0 = $0.83331âp0=$0.8333, L=3L = 3L=3:
F=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}F=0.8333Ă(3â1)â$0.278 fee per base share
If the trader bought 0.1667, they would have 600 base YES shares (0.1667). If they used 3x leverage (L=3L=3L=3), the financier would supply an additional 1,200 YES shares (worth 300).
Since FFF 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:
166.67 total fee$0.278 \times 600 = $166.67 \text{ total fee} 166.67 total fee
Implications on Effective Leverage
Without leverage the trader will have a total cost of:
p0p_0p0
If the market resolves to YES, they will have a total return on equity of:
1âp0p0\frac{1 - p_0}{p_0}p01âp0
With leverage the trader will have a total cost of:
p0+Fp_0 + Fp0+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}p0+FLâ(Lâ1)p0â(p0+F)=p0+FL(1âp0)âF
If we plug in the formula for F=p0(1âp0)(Lâ1)F = p_0 (1 - p_0) (L - 1)F=p0(1âp0)(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}p0+p0(1âp0)(Lâ1)L(1âp0)âp0(1âp0)(Lâ1)=p01âp0
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)F=p0(1âp0)(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 LLL (YES shares per base share), the leverage factor, converts amounts quoted in /base share quantities.
Let ptp_tpt be the YES price at time ttt and p0p_0p0 be the entry price. Both are in units $/YES share.
Let âZE\ell_{\mathrm{ZE}}â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_0LâZE=(Lâ1)p0.
Let â\ellâ (/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}pÏâ.
First-hit times(for the liquidation trigger & YES boundary):
- Ïâ=infâĄ{tâ„0:ptâ€â}\tau_\ell = \inf\{ t \ge 0 : p_t \le \ell \}Ïâ=inf{tâ„0:ptâ€â}; 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 \}Ï1=inf{tâ„0:pt=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}}pÏââ„âZE, then the financier takes no loss. However, with slippage, fills can be below â\ellâ, and may also fall below âZE\ell_{\mathrm{ZE}}âZE on fast moves, leaving the financier with a loss.
Outcomes:
- If Ï1<Ïâ\tau_1 < \tau_\ell Ï1<Ïâ: we reach YES before liquidation â financier is repaid â financier PnL = 0.
- If Ïâ<Ï1\tau_\ell < \tau_1Ïâ<Ï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(Lâ1)p0**.**

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}LpÏâ.
From earlier, the financier contributes and is owed: (Lâ1) p0(L - 1),p_0(Lâ1)p0.
If LpÏâ>(Lâ1)p0L p_{\tau_{\ell}} > (L-1) p_0LpÏâ>(Lâ1)p0, 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)[x]+âĄmax(x,0). Then the loss equals the difference between L pÏâL,p{\tau_\ell}LpÏâ and (Lâ1) p0(L - 1),p_0(Lâ1)p0, with a floor at 0:
Loss=[(Lâ1)p0âL pÏâ]+\mathrm{Loss} = \big[(L-1)p_0 - L,p_{\tau_\ell}\big]_+Loss=[(Lâ1)p0âLpÏâ]+
Since L âZE=(Lâ1)p0L,\ell_{\mathrm{ZE}} = (L-1)p_0LâZE=(Lâ1)p0,
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)_+Loss=[LâZEâLpÏâ]+=L(âZEâpÏâ)+
Quick Sanity Checks:
- No/ minimal slippage pÏââ„âZE â Loss=0p_{\tau_\ell} \ge \ell_{\mathrm{ZE}} \ \Rightarrow\ \mathrm{Loss}=0pÏââ„âZE â 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_0pÏâ=0 â Loss=LâZE=(Lâ1)p0.
Defining sssand ggg**($ per YES share).**
Define slippage relative to the economic trigger, on a /base share. sss 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)_+sâĄ(âZEâpÏâ)+
Define ggg 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]gâĄE[sâŁÏâ<Ï1]
ggg is the average shortfall when liquidation happens before resolution.
Fair Breakeven fee, $ per base share.
The fair breakeven fee FFF ($/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 gF=Lâ P(Ïâ<Ï1)â g

This new fee formula is a good baseline but could be developed more. Expanding the terms,P(Ïâ<Ï1)P(\tau_{\ell} < \tau_{1}) P(Ïâ<Ï1) and ggg, 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-\ellaâĄptââ (current YES price minus the operational barrier â\ellâ) in $/YES share. We bucket aaa into Far, Mid, Near, etc.
As an example, Near: a<0.02a<\0.02a<0.02â€a<0.05\0.02\le a<$0.050.05; Far: aâ„0.05a\ge\0.05aâ„$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}Mmax (total YES shares in the position, M=LĂM = L \timesM=LĂ number of base shares)
- Max leverage funded: LmaxL_{\mathrm{max}}Lmax
- Min buffer required: bminb_{\mathrm{min}}bmin
- Fees per epoch ($/base share): FÏFar, FÏMid, FÏNearF_{\psi}^{\text{Far}},\ F_{\psi}^{\text{Mid}},\ F_{\psi}^{\text{Near}}FÏFar, FÏMid, FÏNear
Shorter distances with small aaa (Near buckets) naturally carry higher FÏF_{\psi}FÏ
On the other side, when a trader wants leverage on a long YES position, they submit:
- Requested notional size
- Desired leverage LLL
- Chosen buffer bbb (or accept a platform default)
- Max acceptable per-epoch fee FmaxF_{\mathrm{max}}Fmax per base share (or accept a platform default)
Matching the trader to the best financier fee offer.
Given the current YES price ptp_tpt and the traderâs (L,b)(L,b)(L,b), the engine:
1. Computes the zero-equity trigger:
L âZE=(Lâ1) p0L,\ell_{\mathrm{ZE}} = (L-1),p_0LâZE=(Lâ1)p0
2. Sets the operational liquidation barrier:
â=âZE+b\ell = \ell_{\mathrm{ZE}} + bâ=âZE+b
3. Computes the distance to liquidation:
a=ptââ>0a = p_t - \ell > 0a=ptââ>0
4. Assigns the position to a distance bucket (Far, Mid, Near, etc) based on aaa.
It then matches the trader to financiers as follows:
- Filter eligible quotes in the relevant bucket:
- Position size Mâ€MmaxâĄM \le M_{\max}Mâ€Mmax (financierâs size cap)
- Requested leverage Lâ€LmaxâĄL \le L_{\max}Lâ€Lmax (within financierâs leverage cap)
- bâ„bminâĄb \ge b_{\min}bâ„bmin (trader is offering at least this buffer)
- Bucket fee FÏbucketâ€FmaxâĄF_{\psi}^{\mathrm{bucket}} \le F_{\max}FÏbucketâ€Fmax
- 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.
- 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 LLL.
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 aaa at the new ptp_tpt, 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]FÏ(pt;L,b,a)=L[P(liquidate in [t,t+Ï)âŁpt,a)â gÏ(pt;b,w)]
where gÏ(pt;b,w)g_{\psi}(p_t; b,w)gÏ(pt;b,w) is the expected shortfall per YES share conditional on liquidation in [t,t+Ï)[t,t+\psi)[t,t+Ï):
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]gÏ(pt;b,w)âĄE[sâŁliquidate in [t,t+Ï)]
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_tpt
- Pre-jump drift. Price may creep from ptp_tpt down to some ppre-jumpp_{\mathrm{pre\text{-}jump}}ppre-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}}ppre-jump to ppost-jumpp_{\mathrm{post\text{-}jump}}ppost-jump.
- If ppre-jumpâ€âp_{\mathrm{pre\text{-}jump}} \le \ellppre-jumpâ€â, the price path already crossed the engine barrier before the jump â liquidation is creep-caused.
- If ppre-jump>âp_{\mathrm{pre\text{-}jump}} > \ellppre-jump>â, 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]FÏ(pt;L,b,a)=L[JÏ(pt;a)gjumpcapped(b)+CÏ(pt;a)gcreep(b;ÎŒeff,Ïeff,w)]
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)JÏ(pt;a)=P(jump-caused liquidation in [t,t+Ï)âŁpt,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)CÏ(pt;a)=P(creep-caused liquidation in [t,t+Ï)âŁpt,a).
- gjumpcappedg_{\mathrm{jump}}^{\mathrm{capped}}gjumpcapped and gcreepg_{\mathrm{creep}}gcreep are the corresponding expected shortfall losses (in $/YES share) conditional on that cause within the epoch. Multiplying by LLL converts per-YES losses to per-base-share fees.
By construction, JÏJ_{\psi}JÏ and CÏC_{\psi}CÏ 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)P(liquidate in [t,t+Ï))âJÏ(pt;a)+CÏ(pt;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\psiFÏ(pt;L,b,a)=L[JÏ(pt;a)gjumpcapped(b)+CÏ(pt;a)gcreep(b;ÎŒeff,Ïeff,w)]+capital chargeĂÏ
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}} }FÏ(pt;L,b,a)=expected loss inside the epochL[JÏ(pt;a)gjumpcapped(b)+CÏ(pt;a)gcreep(b;ÎŒeff,Ïeff,w)]+epoch capital charge(Lâ1)p0(rf+Ï)Ï
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)(Lâ1)p0(e(rf+Ï)Ïâ1) 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)[t,t+Ï) we can treat Îșâ,Îșâ,η±,ÎŒeff,Ïeff\kappa_{\uparrow},\kappa_{\downarrow},\eta_{\pm},\mu_{\text{eff}},\sigma_{\text{eff}}Îșâ,Îșâ,η±,ÎŒeff,Ïeff and aaa 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)[t,t+Ï), 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>0aâĄptââ,a>0
Let RRR denote the downward jump size in price space (units: $/YES share). A jump is fatal if Râ„aR \ge aRâ„a. Non-resolving, interior jumps with R<aR<aR<a just move the price around inside (â,1)(\ell,1)(â,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)[t,t+Ï), 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}>0RâĄâZâ>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 0P(Râ„x)=eâηâx,xâ„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_-)RâaâŁRâ„aâŒExp(ηâ)
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)Îșfatal(p,t) and assume fatal jumps result in the full loss of capital, gjumpcapped âŁââZEg_{\text{jump}}^{\text{capped}}\!\approx \ell_{\mathrm{ZE}}gjumpcappedââ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-\ella=ptââ constant within the epoch. A jump is fatal if Râ„aR\ge aRâ„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}Îșfatal(a)=ÎșâP(Râ„a)=Îșâeâηâa
For a Poisson process with constant rate (Îșfatal(a)\kappa_{\text{fatal}}(a)Îșfatal(a)), the count in a window of length Ï\psiÏ is Poisson(Îșfatal(a)Ï)\text{Poisson}(\kappa_{\text{fatal}}(a)\psi)Poisson(Îșfatal(a)Ï). Hence, the marginal probability of at least one fatal jump in [t,t+Ï)[t,t+\psi)[t,t+Ï) 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}JÏmarg(a)âĄP(fatal jump in [t,t+Ï))=1âP{0 events}=1âeâÎșfatal(a)Ï
Exclusive Jump Probability.
JÏmarg(a)J^{\mathrm{marg}}_\psi(a)JÏmarg(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}JÏmarg(a)=1âeâÎșfatal(a)Ï. We will find CÏmarg(pt;a)C^{\mathrm{marg}}_\psi(p_t;a)CÏmarg(pt;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)}JÏ(pt;a)=JÏmarg(a)(1âCÏmarg(pt;a))
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_\psiJÏ and CÏC_\psiCÏ.
Race between creep, YES jumps, and fatal down-jumps.
Over one epoch [t,t+Ï)[t,t+\psi)[t,t+Ï), let:
- Creep clock: Let Ïc\tau_cÏ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)CÏmarg(pt;a)âĄP(Ïcâ€Ï)
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}}CÏmarg later in the Creep section.
- Fatal Jump clock: down-jumps that cross the liquidation barrier
Îșfatal(a)\kappa_{\mathrm{fatal}}(a)Îșfatal(a)
- YES Jump clock: up-jumps that resolve directly to 1
ÎșYES(pt)\kappa_{\mathrm{YES}}(p_t)ÎșYES(pt)
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}Îștot(pt;a)=Îșfatal(a)+ÎșYES(pt), where
Îșfatal(a) = Îșâ eâηâa, and\kappa_{\text{fatal}}(a) ;=; \kappa_{\downarrow},e^{-\eta_- a} \text{, and}Îșfatal(a)=Îșâeâηâa, and
ÎșYES(pt) = Îșâ eâη+Aâ.\kappa_{\text{YES}}(p_t) ;=; \kappa_{\uparrow},e^{-\eta_+ A_{\uparrow}}.ÎșYES(pt)=Îșâeâη+Aâ.
Now, split all paths over [0,Ï][0,\psi][0,Ï] 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)P(nothing)=eâÎștot(pt;a)Ï(1âCÏmarg(pt;a;ÎŒeff,Ïeff))
2. Creep hit first by Ï\psiÏ: probability CÏrace(pt;a)C_\psi^{\mathrm{race}}(p_t;a)CÏrace(pt;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)HÏrace,any(pt;a)=P(a jump beats creep and happens before Ï)
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)1=P(nothing)(pt;a)+CÏrace(pt;a)+HÏrace,any(pt;a)
Solving for HÏrace,anyH_\psi^{\mathrm{race,any}}HÏ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)HÏrace,any(pt;a)=1âeâÎștot(pt;a)Ï(1âCÏmarg(pt;a;ÎŒeff,Ïeff))âCÏrace(pt;a)
We can then split HÏrace,anyH_\psi^{\mathrm{race,any}}HÏ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)JÏrace(pt;a)=Îștot(pt;a)Îșfatal(a)HÏrace,any(pt;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)YÏrace(pt;a)=Îștot(pt;a)ÎșYES(pt)HÏrace,any(pt;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) ) }JÏ(pt;a)=JÏrace(pt;a)=Îștot(pt;a)Îșfatal(a)(1âeâÎștot(pt;a)Ï(1âCÏmarg(pt;a;ÎŒeff,Ïeff))âCÏrace(pt;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 aaa), 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 0bâ„0 be the buffer so that â=âZE+b\ell=\ell_{\mathrm{ZE}}+bâ=âZE+b. On a fatal jump Râ„aR\ge aRâ„a, letâs define the overshoot beyond the barrier as:
XâĄRâaX \equiv R-aXâĄRâa
By the exponential tail / memoryless overshoot,
XâŒExp(ηâ)X\sim \text{Exp}(\eta_-)XâŒExp(ηâ)
Conditional on a fatal jump, the post-jump price is the operational liquidation barrier minus an exponential overshoot ppost=ââXp_{\text{post}}=\ell - Xppost=ââ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)+(âZEâppost)+=(âZEâ(ââ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_-}gjumpâĄE[(Xâb)+]=â«bâ(xâb)ηâeâηâxdx=ηâeâηâb
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}}â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_-}gjumpcapped(b)=E[min{(Xâb)+, âZE}]=â«0âZEeâηâ(b+y)dy=ηâeâηâb(1âeâηââZE)
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 bbb 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â=â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>0aâĄptââ,a>0
Probability of a creep liquidation in the next epoch
Over a single epoch we can approximate the distance to liquidation DuD_uDu 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)(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 aaa is tiny or the epoch is long, a bounded-diffusion model would likely be safer.
We use uuu as the epochâs local clock (the epoch starts at some time ttt) to avoid clashing with the global ttt in ptp_tpt and Îșâ\kappa_{\downarrow}Îșâ. Within one epoch [t,t+Ï)[t,t+\psi)[t,t+Ï), approximate the distance to liquidation DuD_uDu by an ABM with constant ÎŒeff\mu_{\mathrm{eff}}ÎŒeff and Ïeff>0\sigma_{\mathrm{eff}}>0Ï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=0Du=a+ÎŒeffu+ÏeffWu,uâ[0,Ï], W0=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][0,Ï]:
1. Paths that end below the operational liquidation barrier by time Ï\psiÏ**(** DÏâ€0D_\psi\le 0DÏâ€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)P(DÏâ€0)=P(ÏeffWÏâ€âaâÎŒeffÏ)=Ί(ÏeffÏâaâÎŒeffÏ)
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)exp(â2ÎŒeffa/Ïeff2). 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)exp(Ïeff2â2ÎŒeffa)P(ÏeffWÏâ€âa+ÎŒeffÏ)=exp(Ïeff2â2ÎŒeffa)Ί(ÏeffÏâa+ÎŒeffÏ)
Putting it together, the probability that DuD_uDu 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) ;CÏmarg(pt;a)=Ί(ÏeffÏâaâÎŒeffÏ)+exp(Ïeff2â2ÎŒeffa)Ί(ÏeffÏâa+ÎŒeffÏ)
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 aaa 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)[t,t+Ï), let:
- Creep clock: creep first-hit time Ïc=infâĄ{uâ„0:Duâ€0}\tau_c = \inf\{u\ge 0 : D_u \le 0\} Ïc=inf{uâ„0:Duâ€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=0Du=a+ÎŒeffu+ÏeffWu,uâ[0,Ï], W0=0
- Fatal Jump clock: down-jumps that cross the liquidation barrier
Îșfatal(a)\kappa_{\mathrm{fatal}}(a)Îșfatal(a)
- YES Jump clock: up-jumps that resolve directly to 1
ÎșYES(pt)\kappa_{\mathrm{YES}}(p_t)ÎșYES(pt)
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)Îștot(pt;a)=Îșfatal(a)+ÎșYES(pt)
Here Cumarg(pt;a)=P(Ïcâ€u)C_u^{\mathrm{marg}}(p_t;a) = P(\tau_c \le u)Cumarg(pt;a)=P(Ïcâ€u) under the no-jump ABM, so âuCumarg\partial_u C_u^{\mathrm{marg}}âuCumarg is the density of Ïc\tau_cÏc. For creep to win, you need:
- Creep hits in [u,u+du][u,u+du][u,u+du] over the density (âuCumarg\partial_u C_u^{\mathrm{marg}}âuCumarg) of the no-jump creep-hitting probability by time uuu.
- No jump of any type before uuu, which means we need to factor out eâÎștot(pt;a)ue^{-\kappa_{\mathrm{tot}}(p_t;a) u}eâÎștot(pt;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]CÏrace=â«0ÏâuCumargeâÎștot(pt;a)udu=E[eâÎștot(pt;a)Ïc; Ïcâ€Ï]
where Ïc\tau_cÏc is the first-hit time for Du=a+ÎŒeffu+ÏeffWuD_u = a + \mu_{\mathrm{eff}}u + \sigma_{\mathrm{eff}}W_uDu=a+ÎŒeffu+ÏeffWu. This is a truncated Laplace transform of Ïc\tau_cÏ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)}}2Ïeff2ÎŒâČ2âÎŒeff2=Îștot(pt;a)âÎŒâČ(pt;a)=ÎŒeff(pt)2+2Ïeff(pt)2Îștot(pt;a)
Now letâs consider an alternative âtiltedâ model under a new probability measure QQQ in which DuD_uDu has drift ÎŒâČ\mu'ÎŒâČ instead of ÎŒeff\mu_{\mathrm{eff}}ÎŒeff, but the same volatility Ïeff\sigma_{\mathrm{eff}}Ïeff. Using a standard Girsanov change-of-measure argument, we can show that at the hitting time Ïc\tau_cÏ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}eâÎștot(pt;a)Ïc=exp(Ïeff2a(ÎŒâČâÎŒeff))ÎÏc
where ÎÏc\Lambda_{\tau_c}ÎÏc is the RadonâNikodym factor (the density dQ/dPdQ/dPdQ/dP) evaluated at Ïc\tau_cÏc. Plugging into this expectation and switching from PPP to QQQ 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}CÏrace=EP[eâÎștot(pt;a)Ïc1{Ïcâ€Ï}]=exp(Ïeff2a(ÎŒâČâÎŒeff))EP[ÎÏc1{Ïcâ€Ï}]=exp(Ïeff2a(ÎŒâČâÎŒeff))Q(Ïcâ€Ï),
and under QQQ, DuD_uDu is just an ABM with drift ÎŒâČ\mu'ÎŒâČ and volatility Ïeff\sigma_{\mathrm{eff}}Ï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}})Q(Ïcâ€Ï)=CÏmarg(pt;a;ÎŒâČ,Ï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))}CÏ(pt;a)=CÏrace(pt;a)=exp(Ïeff(pt)2a[ÎŒâČ(pt;a)âÎŒeff(pt)])CÏmarg(pt;a;ÎŒâČ(pt;a),Ïeff(pt))
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 aaa is not tiny. Closer to the line (small aaa), more negative drift ÎŒeff\mu_{\text{eff}}ÎŒeff, or higher volatility Ïeff\sigma_{\text{eff}}Ï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 www (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}ÎpâŒN(ÎŒeffw, Ïeff2w),YâĄâÎpâŒN(mw,Ïw2), mw=âÎŒeffw, Ïw=Ïeffw
Execution occurs near pÏâ+wââ+Îpp_{\tau_\ell+w}\approx \ell+\Delta ppÏâ+wââ+Î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(âZEâpÏâ+w)+=(âZEâ(â+Îp))+=(Yâb)+,bâĄâââZEâ„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}mwâĄâÎŒeffw,ÏwâĄÏeffw,dwâĄÏwbâmw
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] ,}gcreep(b;ÎŒeff,Ïeff,w)âĄE[(Yâb)+]=ÏwÏ(dw)+(mwâb)[1âΊ(dw)]
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}}âZE is negligible but if desired, you can also add the cap like in the jump section.
Larger buffer bbb and faster systems (smaller www) reduce overshoot; higher Ïeff\sigma_{\text{eff}}Ïeff or more negative ÎŒeff\mu_{\text{eff}}ÎŒeff increase it. Note gcreepg_{\text{creep}}gcreep depends on the reaction window www, 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)Îșâ(pt,t), Îșâ(pt,t)), and double-exponential (Laplace) tails for jump magnitudes in price space:
- Up jumps: Zâ>0Z_{\uparrow}>0Zâ>0, with P(Zââ„x)=eâη+xP(Z_{\uparrow}\ge x)=e^{-\eta_{+}x}P(Zââ„x)=eâη+x, xâ„0x\ge0xâ„0****
- Down jumps: Zâ<0Z_{\downarrow}<0Zâ<0. Let RâĄâZâ>0R\equiv -Z_{\downarrow}>0RâĄâZâ>0 with P(Râ„x)=eâηâxP(R\ge x)=e^{-\eta_{-}x}P(Râ„x)=eâηâx, xâ„0x\ge0xâ„0
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>0Aâ=1âpt,Aâ=a=ptââ,a>0
So interior upâjumps satisfy 0<Zâ<Aâ0<Z_{\uparrow}<A_{\uparrow}0<Zâ<Aâ (they stay below 1), and interior downâjumps satisfy ââpt<Zâ<0\ell-p_t<Z_{\downarrow}<0ââpt<Zâ<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) ;}Îșânr=Îșâ(1âeâη+Aâ),Îșânr=Îșâ(1âeâηâAâ)
For reference, the fatal down-jump hazard used in the jump slice is Îșfatal=Îșâeâηâa\kappa_{\text{fatal}}=\kappa_{\downarrow}e^{-\eta_{-}a}Îșfatal=Îșâeâηâ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)[t,t+Ï) we treat the inputs as constant and suppress the explicit time-argument, so ÎŒeff(pt)\mu_{\text{eff}}(p_t)ÎŒeff(pt) and Ïeff2(pt)\sigma_{\text{eff}}^{2}(p_t)Ïeff2(pt) are written as depending only on the current price ptp_tpt:
ÎŒ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] }ÎŒeff(pt)=ÎŒbase(pt)+ÎșânrE[ZââŁ0<Zâ<Aâ]+ÎșânrE[ZââŁâAâ<Zâ<0]
Ï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] }Ïeff2(pt)=Ïbase2(pt)+ÎșânrE[Zâ2âŁ0<Zâ<Aâ]+ÎșânrE[Zâ2âŁâAâ<Zâ<0]
Truncated exponential plug-ins.
For ZâŒExp(η)Z\sim\mathrm{Exp}(\eta)ZâŒExp(η),η>0\eta>0η>0, and A>0A>0A>0, the mean and mean-square of an exponential conditioned on Z<AZ < 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[ZâŁZ<A]=P(Z<A)â«0Azηeâηzdz=1âeâηAâ«0Azηeâηzdz=η1â1âeâηAAeâη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}} }E[Z2âŁZ<A]=P(Z<A)â«0Az2ηeâηzdz=1âeâηAâ«0Az2ηeâηzdz=η22â1âeâηAeâηA(A2+η2A)
For down-interior use R=âZââŒExp(ηâ)R=-Z_{\downarrow}\sim\mathrm{Exp}(\eta_-)R=âZââŒExp(ηâ) on (0,Aâ)(0,A_{\downarrow})(0,Aâ) 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}]E[ZââŁâAâ<Zâ<0]=âE[RâŁR<Aâ],E[Zâ2âŁâ ]=E[R2âŁR<Aâ]
These formulas simply say once you pick a baseline drift/volatility (ÎŒbase,Ïbase)(\mu_{\text{base}},\sigma_{\text{base}})(ÎŒbase,Ïbase) and a jump law (Îșâ,Îșâ,η+,ηâ)(\kappa_{\uparrow},\kappa_{\downarrow},\eta_{+},\eta_{-})(Îșâ,Îșâ,η+,ηâ), you can compute ÎŒeff\mu_{\text{eff}}ÎŒeff and Ïeff\sigma_{\text{eff}}Ï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)ÎŒeff(pt) and Ïeff(pt)\sigma_{\mathrm{eff}}(p_t)Ïeff(pt) 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}}ÎŒeff under a specified jump structure, and then list a few simple parametric forms for ÎŒbase\mu_{\mathrm{base}}ÎŒbase and Ïbase\sigma_{\mathrm{base}}Ïbase that can be calibrated empirically for short epochs.
Martingale Approach to Drift
In frictionless, risk-neutral settings, the YES price ptp_tpt 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 ttt.
pt=E[pTâŁFt]p_t = \mathbb{E}[p_T \mid \mathcal{F}_t]pt=E[pTâŁFt]
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}}dpt=ÎŒbase(pt,t)dt+Ïbase(pt,t)dWt+dJtnr+(1âpt)dNtYESâptdNtNO
where:
- ÎŒbase,Ïbase\mu_{\mathrm{base}}, \sigma_{\mathrm{base}}ÎŒbase,Ïbase: the âpureâ diffusion drift/volatility
- JtnrJ_t^{\mathrm{nr}}Jtnr: compound Poisson of non-resolving jumps (up/down but staying inside (0,1)(0,1)(0,1)).
- NtYESN_t^{\mathrm{YES}}NtYES is a Poisson process with intensity ÎșYES(pt,t)\kappa_{\mathrm{YES}}(p_t,t)ÎșYES(pt,t): a jump to 1 (YES resolves) with jump size from Îp=1âp\Delta p = 1 - pÎp=1âp.
- NtNON_t^{\mathrm{NO}}NtNO is a Poisson process with intensity ÎșNO(pt,t)\kappa_{\mathrm{NO}}(p_t,t)ÎșNO(pt,t): a jump to 0 (NO resolves) with jump size Îp=âp\Delta p = -pÎ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)}ÎșYES(p,t)=Îșâ(p,t)P(Zââ„1âp)=Îșâ(p,t)eâη+(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}ÎșNO(p,t)=Îșâ(p,t)P(Râ„p)=Îșâ(p,t)eâηâp
Here ÎșYES\kappa_{\mathrm{YES}}ÎșYES and ÎșNO\kappa_{\mathrm{NO}}ÎșNO are resolution hazards to 1 and 0, respectively; Îșfatal\kappa_{\mathrm{fatal}}Îș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}}dpt=ÎŒeff(pt,t)dt+Ïeff(pt,t)dWt+(1âpt)dNtYESâptdNtNO
For a martingale, we need:
E[dptâŁFt]=0\mathbb{E}[dp_t \mid \mathcal{F}_t] = 0E[dptâŁFt]=0
Compute E[dptâŁFt]\mathbb{E}[dp_t \mid \mathcal{F}_t]E[dptâŁFt] 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),dtE[ÎŒeffdtâŁFt]=ÎŒeff(pt,t)dt
2. Brownian noise:
E[Ïeff dWtâŁFt]=0\mathbb{E}[\sigma_{\text{eff}},dW_t \mid \mathcal{F}_t] = 0E[ÏeffdWtâŁFt]=0
3. YES-resolving jump part: With probability ÎșYES(pt,t) dt\kappa_{\mathrm{YES}}(p_t,t),dtÎșYES(pt,t)dt we get one jump size of 1âpt1 - p_t1âpt, 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),dtE[(1âpt)dNtYESâŁFt]=(1âpt)ÎșYES(pt,t)dt
- NO-resolving jump part: With probability ÎșNO(pt,t) dt\kappa_{\mathrm{NO}}(p_t,t),dtÎșNO(pt,t)dt we get one jump size of âpt-p_tâpt, 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),dtE[âptdNtNOâŁFt]=âptÎșNO(pt,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),dtE[dptâŁFt]=(ÎŒeff(pt,t)+ÎșYES(pt,t)(1âpt)âÎșNO(pt,t)pt)dt
For ptp_tpt 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ÎŒeff(p,t)+ÎșYES(p,t)(1âp)âÎșNO(p,t)p=0
Solving for ÎŒeff\mu_{\text{eff}}ÎŒ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ÎŒeff(p,t)=âÎșYES(p,t)(1âp)+ÎșNO(p,t)p
Or using the earlier decomposition of ÎŒeff\mu_{\text{eff}}ÎŒeff in terms of ÎŒbase\mu_{\text{base}}ÎŒ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} }ÎŒ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
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}}ÎșYES and ÎșNO\kappa_{\mathrm{NO}}Îș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}}ÎŒ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)ÎŒbase(pt), fit its parameters on historical data for a given market type, and then obtain ÎŒeff\mu_{\text{eff}}ÎŒeff by adding interior jumps. Below are four interpretable choices for ÎŒbase\mu_{\text{base}}ÎŒ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\ } ÎŒbase(pt)=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ÎŒeff=0, the creep probability CÏC_{\psi}CÏ depends only on distance aaa and volatility Ïeff\sigma_{\text{eff}}Ï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)CÏmarg(pt;a)=2Ί(âÏeffÏa)
2. Selection drift
ÎŒbase(pt)=α pt(1âpt) \boxed{\ \mu_{\text{base}}(p_t)=\alpha,p_t(1-p_t) \ } ÎŒbase(pt)=αpt(1âpt)
α\alphaα has units 1/time and represents the strength of the push to YES (α>0\alpha > 0α>0 pushes ppp upward toward 1) or NO(α<0\alpha < 0α<0 pushes ppp 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) ,}ÎŒbase(pt)=âÎČ(1âpt)
ÎČ\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ÎČ>0 before a fixed deadline TTT
pt=1âeâÎČH â ÎČ=â1HlnâĄ(1âpt) p_t = 1 - e^{-\beta H};;\Rightarrow;;\boxed{, \beta = -\frac{1}{H}\ln(1-p_t) ,}pt=1âeâÎČHâÎČ=âH1ln(1âpt)
Within a single epoch [t,t+Ï)[t,t+\psi)[t,t+Ï), treat ÎČ(t)\beta(t)ÎČ(t) as constant and set
ÎŒbase(pt;ÎČ(t))=â ÎČ(t) (1âpt) \boxed{, \mu_{\text{base}}(p_t;\beta(t)) = -,\beta(t),(1-p_t) ,}ÎŒbase(pt;ÎČ(t))=âÎČ(t)(1âpt)
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;}ÎŒbase(pt)=âΞ(ptâpË),Ξ>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]pËâ[0,1]. If pt>pËp_t>\bar ppt>pË and youâre long YES, drift is downward (larger creep risk); if pt<pËp_t<\bar ppt<pË, drift is upward (lower creep risk).
This model fits best when beliefs are somewhat anchored and mean-revert toward pË\bar ppË, 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ÎŒ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}}; }ÏGS(pt,T,t)=TâtÏ(Ίâ1(pt))
where Ï\phiÏ is the standard normal probability density function (PDF), and Ίâ1\Phi^{-1}Ίâ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)Ïeff2(pt), or if you use a different jump law, treat all discontinuous moves explicitly in the jump part (not in Ïeff\sigma_{\mathrm{eff}}Ïeff) and use:
Ïeff2(pt)=ÏGS2(pt,T,t)\sigma_{\mathrm{eff}}^{2}(p_t) = \sigma_{\mathrm{GS}}^{2}(p_t,T,t)Ïeff2(pt)=ÏGS2(pt,T,t)
Wright-Fisher Approach to Volatility
For markets where you want a simpler, bounded diffusion independent of TâtT-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)Ïbase2(pt)=Ïwf2pt(1âpt) could also work. In practice, Ïwf\sigma_{\mathrm{wf}}Ï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}} }FÏ(pt;L,b,a)=expected loss inside the epochL[JÏ(pt;a)gjumpcapped(b)+CÏ(pt;a)gcreep(b;ÎŒeff,Ïeff,w)]+epoch capital charge(Lâ1)p0(rf+Ï)Ï
Where:
Distance & barriers.
aâĄptââ>0a\equiv p_t-\ell>0aâĄptââ>0, â=âZE+b\ell=\ell_{\mathrm{ZE}}+bâ=âZE+b, bâ„0b\ge0bâ„0, LâZE=(Lâ1)p0L\ell_{\mathrm{ZE}}=(L-1)p_0LâZE=(Lâ1)p0.
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) ) JÏ(pt;a)=JÏrace(pt;a)=Îștot(pt;a)Îșfatal(a)(1âeâÎștot(pt;a)Ï(1âCÏmarg(pt;a;ÎŒeff,Ïeff))âCÏrace(pt;a))
Îștot(pt;a)=Îșfatal(a)+ÎșYES(pt)\kappa_{\mathrm{tot}}(p_t;a) = \kappa_{\mathrm{fatal}}(a) + \kappa_{\mathrm{YES}}(p_t)Îștot(pt;a)=Îșfatal(a)+ÎșYES(pt)
Îșfatal(a) = Îșâ eâηâa\kappa_{\text{fatal}}(a) ;=; \kappa_{\downarrow},e^{-\eta_- a}Îșfatal(a)=Îșâeâηâa
ÎșYES(pt) = Îșâ eâη+Aâ\kappa_{\text{YES}}(p_t) ;=; \kappa_{\uparrow},e^{-\eta_+ A_{\uparrow}}ÎșYES(pt)=Îșâeâη+Aâ
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_-}gjumpcapped(b)=ηâeâηâb(1âeâηââZE)
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Ï(pt;a)=CÏrace(pt;a)=exp(Ïeff(pt)2a[ÎŒâČ(pt;a)âÎŒeff(pt)])CÏmarg(pt;a;ÎŒâČ(pt;a),Ïeff(pt))
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) ;CÏmarg(pt;a)=Ί(ÏeffÏâaâÎŒeffÏ)+exp(Ïeff2â2ÎŒeffa)Ί(ÏeffÏâa+ÎŒeffÏ)
ÎŒâČ(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)}ÎŒâČ(pt;a)=ÎŒeff(pt)2+2Ïeff(pt)2Îștot(pt;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}gcreep(b;ÎŒeff,Ïeff,w)mw=ÏwÏ(dw)+(mwâb)[1âΊ(dw)],=âÎŒeffw,Ïw=Ïeffw,dw=Ïwbâmw
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]ÎŒeff(pt)=ÎŒbase(pt)+ÎșânrE[ZââŁ0<Zâ<Aâ]+ÎșânrE[ZââŁâAâ<Zâ<0]
Ï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]Ïeff2(pt)=Ïbase2(pt)+ÎșânrE[Zâ2âŁ0<Zâ<Aâ]+ÎșânrE[Zâ2âŁâAâ<Zâ<0]

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 LLL 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-\ella=ptââ), with market conditions (drift ÎŒeff\mu_{\text{eff}}ÎŒeff, volatility Ïeff\sigma_{\text{eff}}Ï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}}b=âââZE (and is capped at price 0), while the creep shortfall mainly comes from the engineâs reaction window www and also falls with bigger bbb or faster execution. The capital charge (Lâ1)p0(rf+Ï)Ï(L-1)p_0(r_f+\rho)\psi(Lâ1)p0(rf+Ï)Ï 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),\psiFÏ(pt)=L[JÏ(pt;a)gjumpcapped(b)+CÏ(pt;a)gcreep(b;ÎŒeff,Ïeff,w)]+(Lâ1)p0(rf+Ï)Ï
There are several levers that can lower the fair fee:
- Shrink the reaction window: www â 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}gcreep=ÏwÏ(dw)+(mwâb)[1âΊ(dw)], mw=âÎŒeffw, Ïw=Ïeffw, dw=Ïwbâmw
As wâ0w\to 0wâ0, gcreepâ0g_{\mathrm{creep}}\downarrow 0gcreepâ0; only jump losses remain.
- Increase the engine buffer: b=âââZEb=\ell-\ell_{\mathrm{ZE}}b=âââ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_-}gjumpcapped(b)=ηâeâηâb(1âeâηââZE)
gcreep(â )g_{\mathrm{creep}}(\cdot)gcreep(â ) also falls as bâb\uparrowbâ.
- Manage leverage: Since L âZE=(Lâ1) p0L,\ell_{\mathrm{ZE}} = (L - 1),p_0LâZE=(Lâ1)p0, smaller LLL linearly reduces the total capital at risk.
- Detect adverse volatility â re-quote or add buffer Ïeff\sigma_{\mathrm{eff}}Ïeff spikes, CÏC_{\psi}CÏ and gcreepg_{\mathrm{creep}}gcreep rise; raise quotes, increase bbb, cap LLL, 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+1K+1 while producing block KKK 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Ωâ„0 be the auction pot routed to financiers for this event.
Let MiYESM_i^{\mathrm{YES}}MiYES be the total YES shares in position iii (i.e., LiĂL_i \timesLiĂ number of base shares).
Define the jump loss per YES share for position iii as
si = ( âZE,iâpÏâ )+s_i ;=; \big(,\ell_{\mathrm{ZE},i} - p_{\tau_\ell},\big)_+si=(âZE,iâpÏâ)+
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_jjâMjYESsj
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)Îł=min(1,âjMjYESsjΩ)
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λi=γsi
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}siâČ=(âZE,iâ(pÏâ+λi))+=(âZE,iâpÏââÎłsi)+=(1âÎł)si.
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}}gjumprebated=(1âÎł)gjumpcapped
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),\psiFÏ(rebated)(pt)=L[JÏ(pt;a)(1âÎł)gjumpcapped(b)+CÏ(pt;a)gcreep(b;ÎŒeff,Ïeff,w)]+(Lâ1)p0(rf+Ï)Ï
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)V(p,t) as the expected financier loss per base share from state (p,t)(p,t)(p,t), with three creep boundaries:
- Continuous hit of p=1p = 1p=1 (YES resolution by creep),
- Continuous hit of p=âp = \ellp=â (liquidation by creep),
- The deadline TTT (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 VVV.
Setup the boundary/terminal conditions
The state: â<p<1\ell < p < 1â<p<1, t<Tt<Tt<T.
Stopping times:
- Creep YES Resolution: Ï1=infâĄ{uâ„t:pu=1}\tau_1=\inf\{u\ge t: p_u=1\}Ï1=inf{uâ„t:pu=1}
- Creep liquidation: Ïâ=infâĄ{uâ„t:puâ€â}\tau_\ell=\inf\{u\ge t: p_u\le \ell\}Ïâ=inf{uâ„t:puâ€â}
- Deadline: ÏTâĄT\tau_T \equiv TÏTâĄ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 TV(1,t)=0for all tâ€T
- Creep liquidation (trigger at â\ellâ, fill after latency www 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)V(â,t)=Lgcreep(b;ÎŒeff(p,t),Ïeff(p,t),w)
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)]gcreep(b;â )=ÏwÏ(dw)+(mwâb)[1âΊ(dw)]
with mw=âÎŒeffwm_w=-\mu_{\mathrm{eff}}wmw=âÎŒeffw, Ïw=Ïeffw\sigma_w=\sigma_{\mathrm{eff}}\sqrt{w}Ïw=Ïeffw, dw=(bâmw)/Ïwd_w=(b-m_w)/\sigma_wdw=(bâmw)/Ï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<1V(p,T)=(Lâ1)p0for â<p<1
Dynamics with interior and boundary-crossing jumps
We model YES price ptâ(0,1) p_t \in (0, 1)ptâ(0,1) over calendar time ttt 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 < 1dpt=ÎŒbase(pt,t)dt+Ïbase(pt,t)dWt+dJt,â<pt<1
where:
- ÎŒbase(pt,t)\mu_{\mathrm{base}}(p_t,t)ÎŒbase(pt,t) is drift ($/time).
- Ïbase(pt,t)\sigma_{\mathrm{base}}(p_t,t)Ïbase(pt,t) is the diffusion volatility ($/â(time)).
- JtJ_tJt 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)Îșâ(p,t) (units: 1/time); i.e., the expected frequency per unit of time of upward jumps.
- Zâ>0Z_{\uparrow} > 0Zâ>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)fâ(zâŁp,t), zâ(0,â).
- Downward Jump:
- Downward jumps arrive with price and time-dependent intensity Îșâ(p,t)\kappa_{\downarrow}(p,t)Îșâ(p,t) (units: 1/time); i.e., the expected frequency per unit of time of downward jumps.
- Zâ<0Z_{\downarrow} < 0Zâ<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)fâ(zâŁp,t), zâ(ââ,0) (Equivalently, RâĄâZâ>0R\equiv -Z_{\downarrow}>0RâĄâZâ>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ÎŒbase(pt,t)dt+Ïbase(pt,t)dWt
- Non-resolving jumps: jumps remain inside (â,1)(\ell, 1)(â,1) with no immediate resolution;
Upward Interior: zâ(0, 1âp),pâŠp+zz \in (0,,1-p),\qquad p \mapsto p+z zâ(0,1âp),pâŠp+z
Downward Interior: zâ(ââp, 0),pâŠp+zz \in (\ell - p,,0),\qquad p \mapsto p+zzâ(ââp,0),pâŠp+z
Jumps outside these windows are treated as boundary-crossing and are accounted for in ÎșYES\kappa_{\mathrm{YES}}ÎșYES and Îșfatal\kappa_{\mathrm{fatal}}Îșfatal below.
- YES-resolving upward jumps: instant hit of 1;
Zââ„1âpZ_{\uparrow} \ge 1 - pZââ„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ÎșYES(p,t)=Îșâ(p,t)P(Zââ„1âpâŁp,t)=Îșâ(p,t)â«1âpâfâ(zâŁ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)V(p,t) is removed at rate ÎșYES(p,t)\kappa_{\mathrm{YES}}(p,t)Îș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)+ ÎșYES(p,t)(0âV(p,t))=âÎșYES(p,t)V(p,t)
- Fatal down jumps: instant liquidation;
Zââ€ââpZ_{\downarrow} \le \ell - pZââ€ââ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Îșfatal(p,t)=Îșâ(p,t)P(Zââ€ââpâŁp,t)=Îșâ(p,t)â«ââââpfâ(zâŁ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)Lgjumpcapped(b) and then stop. So the continuation value V(p,t)V(p,t)V(p,t) is added at rate Îșfatal(p,t)\kappa_{\mathrm{fatal}}(p,t)Îș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)+ Îșfatal(p,t)(Lgjumpcapped(b)âV(p,t))
The non-resolving jump integrals in the PIDE use only zâ(0, 1âp)z \in (0,,1-p)zâ(0,1âp) for up jumps zâ(ââp, 0)z \in (\ell - p,,0)zâ(ââ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 TTT without having hit 1 or â\ellâ, the event is treated as NO; losses beyond TTT are as in the terminal condition.
On â<p<1\ell < p < 1â<p<1 and t<Tt < 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}âtâV+ÎŒbase(p,t)âpâV+21Ïbase2(p,t)âp2â2V+Îșâ(p,t)â«01âp[V(p+z,t)âV(p,t)]fâ(zâŁp,t)dz+Îșâ(p,t)â«ââp0[V(p+z,t)âV(p,t)]fâ(zâŁp,t)dzup jump to YES: absorb with 0 lossâ ÎșYES(p,t)V(p,t)+fatal down jump: realize Lgjumpcapped then absorbÎșfatal(p,t)(Lgjumpcapped(b)âV(p,t))=0.
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_0V(1,t)=0,V(â,t)=Lgcreep(â ),V(p,T)=(Lâ1)p0
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)ÎŒbase(p,t), Ïbase(p,t), Îșâ(p,t), Îșâ(p,t). In practice, either calibrate them as functions of (p,t)(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 VVV 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â rf(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)(Lâ1)p0(rf(t)+Ï(t)):
â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}âtâV+ÎŒbase(p,t)âpâV+21Ïbase2(p,t)âp2â2V+Îșâ(p,t)â«01âp[V(p+z,t)âV(p,t)]fâ(zâŁp,t)dz+Îșâ(p,t)â«ââp0[V(p+z,t)âV(p,t)]fâ(zâŁp,t)dzâ ÎșYES(p,t)V(p,t)+Îșfatal(p,t)(Lgjumpcapped(b)âV(p,t))â rf(t)V(p,t)+ (Lâ1)p0(rf(t)+Ï(t))=0
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_0V(1,t)=0,V(â,t)=Lgcreep(b;ÎŒeff(p,t),Ïeff(p,t),w),V(p,T)=(Lâ1)p0
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 TTT. 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 ourTerms 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Âź.

11 Reportskaleb0x
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 in this report
Read more
Research Reports
Read more
Based on your watchlists
Create a new watchlist
Read more
Research Reports
Read more
Based on your watchlists
Create a new watchlist
About the 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.
11 Reportskaleb0x
Mentioned in this report
