Inaasahang halaga ng Polymarket arbitrage: paano kalkulahin nang tama ang EV
Praktikal na gabay sa pagkalkula ng expected value para sa mga Polymarket arbitrage trade, kabilang ang taker fees, probability ng partial-fill, at mga panganib sa settlement. Hakbang-hakbang na mga pormula ng EV at isang gumaganang halimbawa ng code.
Inaasahang halaga ng Polymarket arbitrage: paano kalkulahin nang tama ang EV
Ipinapakita ng gabay na ito kung paano kalkulahin ang expected value ng mga Polymarket arbitrage trade nang sunod-sunod, kabilang ang taker fees, probability ng partial-fill, at mga panganib sa settlement. Kung nagpapatakbo ka ng intra-market binary o combinatorial arb sa Polymarket, gagawing aksyonableng EV estimate ng mga pormulang ito ang isang nominal price gap.
Pangunahing takeaway
- EV = (payout − cost − fees) × fill probability − downside mula sa partial fills at settlement timing.
- Laging isama ang taker fees at inaasahang partial-fill rates; zero ang maker fees sa Polymarket kaya mahalaga lang ito kung magpe-peg ka sa passive liquidity.
- Gumamit ng simpleng probabilistic na mga modelo (Bernoulli o binomial) para sa partial fills sa maliliit na laki; i-scale ang mga modelo kapag ang execution ay umaabot sa maraming price level.
- Huwag kailanman tawaging unconditional na "risk-free" ang isang arb trade — ilista ang resolution, slippage, fees, UMA disputes, at smart-contract o timing risk.
1. Mga pundasyon ng EV para sa prediction-market arbitrage
Magsimula mula sa unang prinsipyo. Ang isang kumpletong matagumpay na arbitrage na bumibili ng isang kumpletong set ng outcome tokens ay nagkakahalaga ng C (kabuuan ng biniling best-ask prices kasama ang anumang taker fees) at sa huli ay mareresolba at mairedeem bilang $1.00 bawat kumpletong set pagkatapos ng resolution. Ang nominal edge ay:
Edge = 1.00 − C
Ang expected value bago isama ang fees at execution risk ay simpleng Edge bawat kumpletong set. Para sa praktikal na trading kailangan mong i-convert iyon sa EV (inaasahang monetaryong kita) sa pamamagitan ng pag-account ng fees, ang probability na ma-fill ang iyong order sa quoted prices, at ang posibleng partial fills.
EV_basic = Edge × FillProbability − Fees_expected
Papalawakin mo ang FillProbability at Fees_expected sa mga susunod na seksyon.
2. Pagsasama ng taker fees at settlement flow
Sa Polymarket ang taker fees ay nag-iiba ayon sa kategorya at kasalukuyang nasa pagitan ng 0% at 1.8% depende sa market category; zero ang maker fees. Para sa arb karaniwang nagbabayad ka ng taker fees sa mga na-execute na legs na tumatawid sa spread.
Kapag bumibili ka ng N outcomes (isang kumpletong set sa multi-outcome market o parehong YES at NO sa binary), kalkulahin ang gross cost:
C_gross = Σ bestAsk_i
Ang taker fee bawat trade ay ipinapahayag sa basis points o porsyento. Kung fee_rate ang taker fee (bilang decimal), ang iyong fees ay humigit-kumulang:
Fees = fee_rate × C_gross
Kung ang ilang legs ay na-execute bilang maker (bihira para sa tight arb) hindi ito magkakaroon ng fees; imodelo iyon sa pamamagitan ng paghahati ng C_gross sa maker at taker portions.
Net cost C_net = C_gross + Fees
Pagkatapos ang nominal profit kung fully filled at maredeem ay:
Profit_full = 1.00 − C_net
Ngunit ang Profit_full ay nare-realize lamang na may probability FillProbability_full, kaya ang kontribusyon sa EV ay Profit_full × FillProbability_full.
3. Pagmomodelo ng partial fills at asymmetric execution
Ang partial fills ang pinaka-karaniwang pinagkukunan ng praktikal na pagkawala. Dalawang halimbawa:
- Ang order mo ay bumili ng YES nang buo ngunit ang NO ay na-fill lamang nang bahagya. Mapupunta ka na may natitirang exposure sa YES na naka-presyo nang mas mataas kaysa sa implied hedge.
- Ang mga fills ay nagaganap sa maraming price level; ang na-realize na C_gross ay mas mataas kaysa sa kabuuan ng first-level best asks.
Isang simple at kapaki-pakinabang na modelo para sa maliliit na order ay ang Bernoulli fill probability per leg sa ipinakitang best ask. Para sa mas malalaking sizes maaari mong i-model ang fills bilang binomial o bilang sum ng deterministic volume slices across price levels.
Notasyon na gagamitin sa pagkalkula:
- q_i = dami na nilalayon para sa leg i (sa outcome shares)
- f_i = probability na ang q_i ay fully fills sa posted best ask
- r_i = inaasahang fraction na ma-fill para sa leg i (0 ≤ r_i ≤ 1)
Inaasahang cost kapag may posibilidad ng partial fills:
E[C_gross] = Σ (bestAsk_i × q_i × r_i)
Inaasahang fees sumusunod nang proporsyonal:
E[Fees] = fee_rate × E[C_gross] para sa taker-executed portion
Ngunit lumilikha ang partial fills ng asymmetric residual position. Ang karaniwang konserbatibong lapit ay i-assume na anumang residual single-outcome position ay kailangang i-unwind agad sa mas hindi kanais-nais na mid/ask price, at isama ang inaasahang pagkawala mula sa unwind na iyon sa EV.
Halimbawa, kung inaasahan mong bumili ng kumpletong set ngunit sa average ay 90% lang ang pag-fill ng leg NO, magdadala ka ng 10% ng YES na binayaran sa presyo p_yes. Ang worst-case residual loss ay humigit-kumulang 0.90 × (p_yes − mid_unwind_price) (i-adjust para sa tick sizes at fees). Isama ang inaasahang residual loss term L_residual sa EV.
4. Isang hakbang-hakbang na pormula ng EV na maaari mong i-implement
Tukuyin:
- n = bilang ng outcomes sa set (n=2 para sa binary)
- ask_i = best ask price para sa outcome i, sa dolyar
- q = target complete-set quantity (shares; halimbawa, 10 complete sets)
- fee = taker fee rate bilang decimal (hal., 0.006 para sa 0.6%)
- r_i = inaasahang fill fraction para sa leg i (0..1). Para sa full-fill probability gamitin r_i = 1.0.
- p_unwind_i = inaasahang presyo kung saan mo maiisara ang anumang residual position sa outcome i (konserbatibo: gamitin ang kasalukuyang worst ask o mid)
Kalkulahin:
- E[C_gross] = Σ_i ask_i × q × r_i
- E[Fees] = fee × E[C_gross]
- E[C_net] = E[C_gross] + E[Fees]
- Expected payout kapag nirere-deem ang kumpletong set = q × 1.00 × P_redeem (P_redeem ang probability ng eventual redeemability; karaniwan 1.0 kung walang UMA disputes — pero isama ang dispute risk sa ibaba)
- Expected residual loss L_residual = Σ_i max(0, q × (1 − r_i) × (paid_price_i − p_unwind_i))
Final na EV estimate:
EV = q × P_redeem − E[C_net] − L_residual
Kung gusto mo ng EV bawat complete set, hatiin ang EV sa q.
Mga tala tungkol sa P_redeem: Ang UMA disputes ay maaaring mag-pause o mag-iba ng settlement. Itakda ang P_redeem ≤ 1.0 upang ipakita ang hindi-zero na dispute risk; para sa maraming merkado maaari mong ituring ang P_redeem ≈ 1.0 ngunit kailangan mong malinaw na isama ang posibilidad ng delayed o contested settlement.
5. Isang ginawang numerikal na halimbawa (binary) — implementable at konserbatibo
I-assume ang isang maliit na binary arbitrage kung saan nilalayon mong bumili ng 100 complete-sets sa pagbili ng YES at NO sa kani-kanilang best asks. Gumamit ng mga numero para lang sa ilustrasyon; panatilihin ang fee sa loob ng dokumentadong range.
- ask_YES = $0.49
- ask_NO = $0.50
- q = 100 sets
- fee = 0.006 (0.6% taker fee)
- r_YES = 1.0, r_NO = 0.95 (maaaring partial-fill ang NO sa unang level)
- p_unwind_NO = $0.52 (presyong inaasahan mong ibenta ang residual NO)
- P_redeem = 1.0 (ipagpalagay ang eventual redeemability)
Kalkulahin E[C_gross] = (0.49 + 0.50) × 100 × average_r
Mas tiyak:
E[C_gross] = (0.49 × 100 × 1.0) + (0.50 × 100 × 0.95) = 49.00 + 47.50 = 96.50
E[Fees] = 0.006 × 96.50 = 0.579
E[C_net] = 96.50 + 0.579 = 97.079
Payout = 100 × 1.00 = 100.00
L_residual: inaasahan mong bumili ng 100 NO pero nakakuha lang ng 95, kaya may shortfall na 5 NO kung ang intensyon mo ay maghawak ng kumpletong sets. Ang tipikal na residual ay ang sobrang exposure sa kabilang leg (YES). Sa halimbawa na ito ang partial fill ay nag-iiwan ng 5 YES na hindi nakapareha — kung binayaran mo ang mga iyon ng 0.49 at kailangang i-unwind sa p_unwind_YES (konserbatibo), kalkulahin nang naaayon. Para sa symmetry isang konserbatibong estimate ng residual loss para sa misfilled leg ay:
L_residual = (q × (1 − r_NO)) × (paid_price_NO_unpaired − p_unwind_NO)
Kung ang unpaired leg ay ang mas mahal na side, isama ang pagkawala na iyon. I-plug ang mga numero nang konserbatibo upang maiwasang ma-overstate ang EV.
Final EV = 100 − 97.079 − L_residual
Kung maliit ang L_residual mananatiling positibo ang trade; kung lumampas ang L_residual sa nominal Edge negatibo ang trade. Patakbuhin ang math na ito programmatically bago magpadala ng mga order.
6. Maikling, magagamit na JavaScript snippet
Ang snippet na ito ay kinakalkula ang EV bawat complete set, ibinigay ang mga inputs sa itaas. Valid ang JavaScript na ito at handa nang ibagsak sa iyong risk framework.
function computeEVPerSet(asks, r, fee, p_unwind, P_redeem = 1.0) {
// asks: array of best asks for each outcome, e.g. [0.49, 0.50]
// r: array of expected fill fractions for each outcome, e.g. [1.0, 0.95]
const n = asks.length;
const q = 1; // per-set basis
const E_C_gross = asks.reduce((s, a, i) => s + a * q * r[i], 0);
const E_Fees = fee * E_C_gross;
const E_C_net = E_C_gross + E_Fees;
// Residual loss: assume unfilled fraction must be closed at p_unwind
const L_residual = asks.reduce((s, a, i) => {
const unfilled = q * (1 - r[i]);
const paid_price = a; // price you paid for filled portion of this outcome
const unwind_price = p_unwind[i];
return s + Math.max(0, unfilled * (paid_price - unwind_price));
}, 0);
const EV = q * P_redeem - E_C_net - L_residual;
return { EV_per_set: EV, E_C_gross, E_Fees, L_residual };
}
// Example
const asks = [0.49, 0.50];
const r = [1.0, 0.95];
const fee = 0.006; // 0.6%
const p_unwind = [0.48, 0.52];
console.log(computeEVPerSet(asks, r, fee, p_unwind));
I-adjust nang konserbatibo ang mga p_unwind values (gamitin ang mas hindi kanais-nais na ask o mid) at itakda ang r batay sa historical fill rates sa iyong size.
7. Praktikal na mga tip para sa live trading
- Sukatin ang empirical fill rates bawat instrument at bawat size. Gumamit ng maiikling, madalas na instrumentation windows; nag-iiba ang microstructure ayon sa market.
- Hatiin ang malalaking intended quantities sa mas maliliit na slices upang mabawasan ang partial-fill risk at manatili sa loob ng builder o relayer limits kung naaangkop.
- Isama ang tick-size behaviour: kapag ang mga presyo ay lumalapit sa extremes nagtitighten ang tick size sa $0.001, na maaaring magbago ng unwind slippage.
- Isama ang UMA dispute at settlement timing risk sa P_redeem. Maaaring i-pause ng disputes ang settlement at makaapekto sa opportunity cost.
- Igalang ang geographic restrictions: geo-blocked ang mga merkado ayon sa IP; huwag magrekomenda ng VPN bypass.
Paano ito nakakaapekto sa iyong trading
Kalkulahin ang EV bawat set bago magpadala ng mga order at ihambing ito sa iyong internal minimum-acceptable EV na kasama na ang capital costs, opportunity cost ng nakablokeng pUSD, at ang mga gastos ng posibleng dispute delays. Gamitin ang pormula ng EV programmatically sa iyong pre-trade checks. Para sa maliit, madalas na arb karaniwang hihingin mo ang isang katamtamang positibong EV bawat set pagkatapos ng fees at inaasahang residual loss upang bigyang-katwiran ang operational overhead.
Isara gamit ang primary keyword: dapat laging kalkulahin ang expected value Polymarket arbitrage nang konserbatibo, na eksplicitong mino-modelo ang taker fees at partial-fill probability.
Madalas itanong
Paano ko iimodel ang partial-fill probability para sa mas malalaking order?
Magsimula sa empirical fill rates sa size na iyong tinatrade. Para sa maliliit na increments gumamit ng Bernoulli per-slice na assumptions; para sa mas malalaking sizes i-model ang fills bilang binomial sum across price levels o gamitin ang historical depth-of-book para deterministic na i-slice ang order. Laging kumilos nang konserbatibo kapag tinatantiya ang r_i.
Aling mga fees ang dapat kong isama sa kalkulasyon ng EV?
Isama ang taker fees para sa na-execute na mga legs — kasalukuyang nag-iiba ang taker fees ng Polymarket sa pagitan ng 0% at 1.8% depende sa category; zero ang maker fees. I-model ang fees bilang fee_rate × executed_cost at hatiin ang executed_cost sa maker/taker portions kung naaangkop.
Kailangan ko bang isaalang-alang ang UMA disputes sa EV?
Oo. Maaari i-pause o baguhin ng UMA disputes ang settlement timing. Isama ang isang P_redeem factor ≤ 1.0 upang ipakita ang dispute probability at ang inaasahang time value/gastos ng delayed settlement.
Maaari ko bang hindi pansinin ang residual unwind loss kung inaasahan kong mag-rebalance lang ako mamaya?
Hindi. May dala-dalang market at directional risk ang residual positions. Isama ang konserbatibong unwind price (p_unwind) sa iyong EV model maliban na lang kung mayroon kang dokumentadong, estadistikal na pinatutunayan na plano para mag-rebalance na may kilalang gastos.
Pareho ba ang nominal edge at EV?
Hindi. Nominal edge = 1.00 − Σ bestAsk_i. Ina-adjust ng EV ang edge na iyon para sa taker fees, partial-fill probability, residual unwind loss, at settlement/dispute risk. Gamitin ang EV para sa paggawa ng desisyon.
Mga term na binanggit
Kaugnay na mga gabay
Pang-edukasyon lamang. Hindi payong pinansyal, ligal, o ukol sa buwis. Maaaring hindi available ang Polymarket sa iyong hurisdiksyon.