Hedging is the move most sports bettors get wrong in both directions. Some hedge every winning ticket out of fear and leave EV on the table. Others refuse to hedge anything and watch a +$200 winner evaporate into a -$50 loser on a fluke. The math actually tells you when to hedge and when to ride — and on prediction markets there is even a case where hedging produces guaranteed profit with zero risk.
This post walks through the formulas, the worked examples, and the structural reason hedging works better on Polymarket than on a traditional sportsbook.
What "Hedge" Actually Means
A hedge is a position that pays off if your original bet loses. You stake some amount on the opposite side so that, regardless of which side wins, you walk away with a known profit (or a known smaller loss).
Three things to keep straight:
- Lock-in profit hedge — you have a winning ticket and you buy the other side to guarantee a profit no matter what happens.
- Cut-loss hedge — you have a losing position and you buy the other side to cap how much you can lose.
- Free-profit hedge — the prices on both sides sum to less than $1, so buying both sides is guaranteed profit. This is rare on sportsbooks (it would be called arbitrage) but happens regularly on prediction markets during volatile in-game swings.
The Math (Two-Outcome Markets)
Suppose you bought $S_A$ shares of side A at price $p_A$ (in dollars per share, so $0 < p_A < 1$ on a prediction market, or convertible from American/decimal odds on a sportsbook). The market then moves and side B is now available at price $p_B$.
If you buy $S_B$ shares of side B, your guaranteed dollar outcome at resolution is:
profit_if_A_wins = S_A × (1 - p_A) - S_B × p_B
profit_if_B_wins = -S_A × p_A + S_B × (1 - p_B)
To lock the same profit either way (perfect hedge), set those equal and solve for $S_B$:
S_B = (S_A × p_A + S_A × (1 - p_A) × x) / (1 - p_B)
You don't actually need to memorize that — the practical version is:
S_B = S_A (for a perfect lock, when both sides pay $1 on win)
That's the punchline. On Polymarket and Kalshi, where each contract pays exactly $1 at resolution, a perfect hedge means buying the same number of shares on the other side. The guaranteed profit per share is:
guaranteed_profit_per_share = 1 - (p_A + p_B) - fees
If $p_A + p_B < 1$, you make money. If $p_A + p_B > 1$, you take a loss to guarantee the outcome.
Worked Example: Lock-In Profit
You bought 100 shares of the Lakers at 35¢ pregame ($35 cost). The Lakers are now up 18 with 6 minutes left and the YES contract is trading at 92¢. You don't want to give back the gain.
The opposite contract (Lakers NO) is now trading at 9¢ (since the market is mostly resolved). Buy 100 shares of NO at 9¢ ($9 cost).
Total cost: $35 + $9 = $44 for 100 paired shares. Guaranteed payout: $100 (one side wins, pays $1 per share). Guaranteed profit: $100 - $44 = $56.
You went from "+$57 if Lakers hold, -$35 if they collapse" to "+$56 guaranteed, no variance." You gave up $1 of upside in exchange for eliminating all downside. Whether that's a good trade depends on your bankroll, how confident you are in the lead, and how many similar setups you have running in parallel.
Worked Example: Free-Profit Hedge
This is the case that doesn't exist on sportsbooks but happens on prediction markets during volatile in-game swings.
Mid-game, a market moves fast in one direction and the other side spikes briefly. You see:
- Lakers YES: 68¢
- Lakers NO: 25¢
- Sum: 93¢
- Round-trip Polymarket taker fee: ~2¢
Buy 100 of each. Total cost: $68 + $25 + $2 fees = $95. Guaranteed payout at resolution: $100. Guaranteed profit: $5 (about 5.3% in a few minutes).
This is the engine behind ZenHodl's hedge accumulator bot and the WP hedge overlay. The overlay watches every open position from the other ZenHodl bots and automatically buys the opposite side when the pair cost drops below $1 minus a profit threshold.
On a sportsbook this would be called an arbitrage opportunity — and it's vanishingly rare because sportsbook vig keeps the two-sided sum above 100% almost always. Prediction markets have no vig (only an explicit, small taker fee), so sub-100% pair sums happen multiple times per game during volatile windows.
When You Should Hedge
Hedging is good when:
- Bankroll preservation matters more than expected value. If a single position is large relative to your roll, locking profit reduces variance even at a small EV cost. Kelly-sized positions usually don't need this; oversized positions do.
- The opposite price has overshot. If the market is panicked and the NO side is trading way above its fair probability (which happens during late-game momentum shifts), hedging at that price is both EV-positive and variance-reducing.
- The pair-cost math works out. If you can lock guaranteed profit at sub-$1 pair cost, that is mathematically free money and should always be taken.
- Your edge has already been realized. If your position has run from 35¢ to 92¢, the original edge is essentially priced in. Holding to resolution at this point is "the market is wrong about a near-certain event," which is rarely true.
When You Should NOT Hedge
Hedging is bad when:
- You have a genuine edge against the current opposite price. If your model still thinks the YES side is undervalued at the current price, buying NO is just paying to give back EV.
- The hedge is at a worse implied probability than your model. Same idea, expressed differently. Always check whether the opposite price implies a probability your model agrees with.
- You're hedging out of fear instead of math. "I just want to lock something in" is not a sizing rule. Run the numbers. If hedging gives up more than 30% of your remaining EV for the variance reduction, you're probably overpaying.
- Bankroll is large relative to the position. Kelly-sized positions on a healthy bankroll don't need to be hedged — variance is doing exactly what Kelly said it would do. Hedging here reduces growth rate without meaningfully changing risk of ruin.
The Sportsbook Hedge
On a sportsbook, hedging works the same way but the vig makes it worse.
Say you bet $100 on the Patriots at +400 (decimal 5.00, implied 20%). You're in line for $400 profit if they win. They're up 21 at halftime and the live line on the Patriots is now -300 (decimal 1.33, implied 75%, but with vig pushing the no-vig fair to roughly 78-80%).
To lock the result, you bet on the other side — the Bills moneyline — at whatever it's currently offered. Let's say that's +280 (decimal 3.80, implied 26%, post-vig).
Stake to lock: you want your total profit identical either way.
If Patriots win: +$400 - hedge_stake
If Bills win: -$100 + hedge_stake × 2.80
Setting equal: $400 - x = -100 + 2.80x → x = $131.58.
Hedge stake $131.58 at +280. If Patriots win, +$400 - $131.58 = $268.42. If Bills win, -$100 + $131.58 × 2.80 = $268.42. Locked profit either way.
But notice: total stake is now $231.58 for a guaranteed $268.42 profit. The sportsbook is paying you a small premium to remove the variance because the vig built into both lines means the bookmaker collects a tax on each transaction. The same setup on a prediction market would yield meaningfully more profit because there is no vig — only a small explicit fee.
How to Decide in 60 Seconds
Quick mental algorithm:
- What is the current opposite price? If you can't see it, you can't hedge.
- What does my model say the opposite probability is? If the opposite price is higher than my model's fair probability, the hedge is EV-positive — consider taking it.
- What is the pair cost? If it's less than $1 (minus fees), buy both — guaranteed profit.
- Is the position oversized for my bankroll? If yes, hedge even at a small EV cost. If no, only hedge when the opposite side has actually overshot.
If you do this often, write the math down once and reuse it:
def lock_profit_hedge(shares_a, price_a, price_b, fee_per_share=0.02):
"""For two-outcome prediction markets where each side pays $1."""
# Perfect lock: buy equal shares on the other side.
shares_b = shares_a
cost = shares_a * price_a + shares_b * price_b + (shares_a + shares_b) * fee_per_share
payout = shares_a # exactly one side wins, pays $1 per share
return payout - cost
def is_free_profit(price_a, price_b, fee_per_share=0.02):
"""True if buying both sides locks guaranteed profit."""
return (price_a + price_b + 2 * fee_per_share) < 1.0
Twelve lines of Python cover most hedging decisions.
The Bottom Line
Hedging is a tool, not a strategy. The bad version is fear-driven and gives away EV. The good version is math-driven and either locks rational profit on oversized positions or captures genuine free money during volatile mid-game swings.
The structural advantage of prediction markets here is huge. On a sportsbook every hedge pays a small tax to the bookmaker. On Polymarket and Kalshi the only friction is the explicit taker fee — usually around 2% — which means sub-$1 pair costs happen often enough to be worth watching for systematically. ZenHodl's overlay bot does this automatically across every open position and locks small guaranteed profits during in-game volatility.
If you bet sized properly with Kelly Criterion, you'll need to hedge less often than you think. When you do hedge, do it because the math says yes — not because you're nervous.
Free interactive hedge calculator — paste your position and the current opposite price, see guaranteed P&L instantly. Pair with the Kelly Criterion calculator, the odds converter, and the fair value calculator. Full course on building prediction market bots at zenhodl.net/course.