We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
/ Track Record
Complete simulated signal record • fees & slippage included • nothing omitted
Season 1 — all time
Live Results — real money
first live order — · updates every 10 minActual Kalshi orders, deliberately small: live trading runs under graduated per-order size caps (stage 0 starts at $0.25/order) that only loosen with accumulated evidence — see the methodology below. Realized PnL counts settled positions only, net of exchange fees.
Simulated Equity Curve
By Strategy
| strategy | horizon | positions | W–L | open | fees | net pnl |
|---|---|---|---|---|---|---|
|
daily_bell
In the final hours before daily "close above $X" markets settle, strikes far from the current price are near-certainties that often still trade a few cents from their extreme. Buys the near-certain side for the last cents.
|
INTRADAY | 1043 | 677–362 | 4 | $18.05 | $867.26 |
|
momentum_fifteen
Trades 15-minute up/down markets. Early in the window it leans on a nightly-refit model (direction persistence plus order-flow); mid-window it compares the live spot to the strike and buys the side the price is already on.
|
INTRADAY | 994 | 456–473 | 65 | $4.89 | $32.26 |
|
range_fade
The sniper's mirror: when the market prices a bracket well ABOVE what the historical move distribution supports (usually excitement after a sharp move), it buys NO — selling the overpriced outcome.
|
INTRADAY | 775 | 473–299 | 3 | $9.71 | $22.80 |
|
pair_divergence
BTC, ETH, and SOL move together minute to minute. When one asset's 15-minute "up" market prices far richer than a correlated partner's in the same window, it buys the cheap laggard, betting the pair re-converges — which is the norm.
|
INTRADAY | 728 | 301–423 | 4 | $2.28 | $21.99 |
|
box_arb
Pure arbitrage within a single market: YES plus NO always pays exactly $1, so whenever a crossed or stale book lets both sides be bought for less than $1 after fees, the difference is locked profit.
|
INTRADAY | 1962 | 848–1104 | 10 | $35.60 | $18.76 |
|
five_min_drift
Reads the majors' 5-minute candles and, only in the final minutes of the hour, measures a short-horizon price thrust. It shifts the historical hourly range distribution by that drift and buys the range bucket the shift makes cheap — momentum mode leans with the thrust, reversion mode fades it.
|
INTRADAY | 240 | 24–188 | 28 | $1.02 | $8.88 |
|
cross_lead_follow
Watches linked Gemini/Kalshi 15-minute markets over the live websocket. When the Gemini book reprices and Kalshi lags behind, buys the Kalshi side the leader moved toward — betting the follower converges.
|
INTRADAY | 118 | 65–51 | 2 | $0.57 | $8.27 |
|
crypto_seasonality
Positions on crypto's calendar rhythm from a year of hourly candles: UTC hours 10-12 and weekends are reliably calmer than average, 13-17 UTC (especially the 14-15 US data/open block) and weekdays reliably wilder. In a calm day-of-week x hour window it buys the near-spot bucket as a favorite; in an active window it buys cheap outer buckets, betting the wider realized range is underpriced.
|
INTRADAY | 64 | 22–36 | 6 | $0.76 | $4.48 |
|
weather_rain
Prices Kalshi's daily "will it rain?" binaries from NWS probability-of-precipitation forecasts for the settlement station, buying whichever side the market underprices by a wide margin. Logs every PoP so calibration is measured, not assumed.
|
MULTI-DAY | 84 | 19–61 | 4 | $2.13 | $3.23 |
|
realized_range_reversion
The mean-reversion mirror of post_move_expansion: after an unusually large hourly move, realized range tends to contract, so the central bucket the price sits in is likelier than the fearful market prices it. In a post-big-move hour it buys the cheap ATM/central range buckets whose post-move-conditioned probability beats the ask.
|
INTRADAY | 20 | 5–8 | 7 | $0.09 | $2.32 |
|
whale_follow
Watches for single outsized prints — one taker crossing the spread for hundreds of contracts at once, which usually signals strong conviction or information. Joins the whale's side before the price fully adjusts. Crypto excluded (big prints there are usually market-maker rebalancing).
|
MULTI-DAY | 14 | 8–6 | 0 | $0.25 | $2.20 |
|
book_imbalance
Reads the live order book on at-the-money hourly brackets: when resting depth is lopsided toward one side, patient money is leaning that way — the classic microstructure predictor. Buys the heavy side before the drift.
|
INTRADAY | 62 | 27–35 | 0 | $0.39 | $2.15 |
|
alt_follower
Tests whether a BTC 5-minute move drags the alts (ETH/SOL/XRP/DOGE) a few minutes later: on a completed 5m bar where BTC and an alt both jump the same way, it follows that direction on the alt's 15-minute market while it still prices near 50/50. Disabled — the co-move is simultaneous, not lagged, so there's no fee-clearing edge.
|
INTRADAY | 14 | 6–5 | 3 | $0.04 | $1.67 |
|
tape_surge
Watches the full public tape outside crypto. When a sports, politics, or news market suddenly prints heavy one-sided taker volume — a score, a headline, a poll — it joins that side while the price is still mid-range, exploiting the well-documented slow reaction of prediction markets in the first minutes.
|
MULTI-DAY | 32 | 14–14 | 4 | $0.48 | $1.58 |
|
overshoot_fade
After a move of two-plus daily standard deviations in 24 hours, markets price further continuation generously. Buys NO on the strikes that extrapolate the move — classic mean reversion expressed through the daily ladder.
|
INTRADAY | 6 | 5–1 | 0 | $0.10 | $1.29 |
|
maker_quoter
Market-makes wide-spread markets: posts resting orders on BOTH sides one tick inside the standing bids, earning the spread with zero maker fees when both fill. Unfilled quotes cancel — it never crosses the spread.
|
INTRADAY | 16 | 6–6 | 4 | $0.58 | $0.88 |
|
venue_maker
The live-capable half of the cross-venue arb: when the venue proven to lead price discovery for a category moves a linked market and Kalshi's book hasn't followed, it rests a fee-free maker order at Kalshi's stale price on the side the move favors — capturing the coming adjustment passively. Unfilled orders cancel; it never crosses the spread.
|
INTRADAY | 2 | 2–0 | 0 | $0.02 | $0.65 |
|
longshot_fade
Longshots are systematically overpriced across betting markets (the favorite-longshot bias): a 4-cent YES is usually worth less than 4 cents. This buys NO in the mid-90s on liquid markets near resolution, collecting the bias a few cents at a time; the rare longshot that hits is the cost of the harvest.
|
MULTI-DAY | 22 | 21–0 | 1 | $0.24 | $0.48 |
|
post_print_favorite
Wakes up only in the 45 minutes after a scheduled macro print (CPI, jobs report, claims) and buys the favorite side of soon-resolving economics markets while quotes are still where pre-release hedging left them.
|
INTRADAY | 3 | 3–0 | 0 | $0.04 | $0.42 |
|
group_arb
Dutch-book arbitrage on exactly-one-winner events (multi-candidate politics, entertainment, sports): if every YES together costs under $1 after fees, buying them all locks the difference; the NO mirror locks (N-1)x$1 baskets. Only fires on events that look complete — stable, aged member sets — since a hidden extra candidate is the one way to lose.
|
MULTI-DAY | 3 | 0–0 | 3 | $0.07 | $0.17 |
|
strike_arb
Pure arbitrage on "above $X" ladders: YES on a lower strike plus NO on a higher strike always pays at least $1. Whenever quotes drift so that pair costs under $1 after fees, the difference is locked profit.
|
INTRADAY | 12 | 3–7 | 2 | $0.18 | $0.10 |
|
event_vol_crush
Minutes after a scheduled macro release (FOMC, payrolls), the number is known but hourly brackets still price pre-release uncertainty. Buys the bracket the price settled into — the prediction-market version of the post-event IV crush.
|
INTRADAY | 3 | 1–2 | 0 | $0.06 | $0.06 |
|
macro_release
Trades the scheduled macro prints (CPI, payrolls, FOMC, GDP): refuses entries in the half hour before a release, then buys post-print momentum on the Fed/rate complex when a market has repriced through its pre-print baseline — Kalshi's econ books reprice over minutes, not seconds.
|
MULTI-DAY | 1 | 0–0 | 1 | $0.02 | $-0.06 |
|
canary
A deliberately edge-free sentinel: once a day after 15:00 UTC it buys one contract of the nearest-expiry BTC hourly market priced closest to 50c and holds to settlement. Its long-run stats are known in advance (~50% wins, cost of half the spread plus fees, exactly one trade a day), so any drift flags infrastructure problems — missed ticks, bad fills, pricing drift — not market alpha. Paper-only by hard guard; never live-approvable.
|
INTRADAY | 14 | 2–11 | 1 | $0.27 | $-1.07 |
|
ensemble_meta
Mirrors fresh signals from strategies the calibration table proves UNDERCONFIDENT (realized win rate beats predicted probability on 30+ samples) — turning calibration measurement into capital allocation.
|
INTRADAY | 7 | 0–7 | 0 | $0.03 | $-1.48 |
|
cross_venue_lag
Watches linked Kalshi/Polymarket pairs from the spread radar: when Polymarket reprices sharply while Kalshi sits still, information landed there first. Buys the Kalshi side toward the leader's new price.
|
MULTI-DAY | 58 | 29–27 | 2 | $0.60 | $-1.81 |
|
conditional_probability
Fuses the calendar and volatility-regime edges into one joint conditional distribution: the body distribution of, e.g., Friday 14:00 UTC candles that follow a big move has its own shape. Per open range bucket it scores that joint P(settle in bucket) against the ask and buys the largest edge, falling back through (hour,regime) -> (dow) -> (hour) -> global marginals when a joint cell is too thin to trust.
|
INTRADAY | 7 | 0–0 | 7 | $0.06 | $-2.36 |
|
new_market_scanner
Watches for brand-new markets in news categories (politics, economics, companies, tech) and takes a small position on the first prints, betting that early prices on fresh markets are sloppy before attention arrives.
|
MULTI-DAY | 31 | 2–27 | 2 | $0.86 | $-2.43 |
|
candle_prob_mispricing
The direct trade of the candle-probability analytics: for every open hourly range bucket it asks the historical hourly-body distribution how often price actually settles inside that bucket (point-in-time, conditioned on the settlement hour), and buys YES wherever that empirical probability beats the bucket's ask by enough to clear fees. The general, engine-driven scanner the specialised candle strategies (sniper, reversion, expansion) are refinements of.
|
INTRADAY | 9 | 0–0 | 9 | $0.06 | $-2.67 |
|
ladder_arb
Pure arbitrage on price-range ladders: exactly one bracket must win, so if buying one YES in every bracket costs less than the guaranteed $1 payout (after fees), that difference is locked profit regardless of where the price goes.
|
INTRADAY | 30 | 0–30 | 0 | $0.61 | $-4.09 |
|
flow_follower
Watches the public trade tape on 15-minute crypto markets. When takers are overwhelmingly hitting one side over the last few minutes, it joins that side at the at-the-money strike — following the money that pays to cross the spread.
|
INTRADAY | 728 | 359–369 | 0 | $2.34 | $-4.57 |
|
crypto_threshold
Compares the live BTC price to "Bitcoin above $X" markets. When the market's price implies much lower odds than where spot actually is, it buys the cheap side.
|
MULTI-DAY | 12 | 0–11 | 1 | $0.78 | $-4.94 |
|
favorite_backer
The other half of the favorite-longshot bias: strong favorites (78-92c) historically win more often than their price implies. Backs liquid non-crypto favorites near resolution — the natural partner of longshot_fade.
|
MULTI-DAY | 42 | 26–15 | 1 | $0.71 | $-10.09 |
|
calendar_arb
Consistency arbitrage across expiries: the same threshold claim can never be MORE likely by an earlier date than a later one. When the near-expiry YES prices above the far-expiry YES by more than fees, buying far YES plus near NO pays at least $1 in every outcome — the difference is locked profit.
|
MULTI-DAY | 238 | 7–218 | 13 | $2.55 | $-10.26 |
|
daily_ladder_edge
Prices daily "close above $X" crypto markets from the historical distribution of daily moves, and buys either side when the market's price is far from that estimate with hours still to go.
|
INTRADAY | 121 | 54–62 | 5 | $7.38 | $-16.54 |
|
vol_richcheap
Compares each hourly bracket's implied probability (its price) against the measured historical move distribution, and trades BOTH ways: buys the range when volatility is overpriced, sells it (buys NO) when the range itself is rich.
|
INTRADAY | 490 | 162–325 | 3 | $6.01 | $-17.35 |
|
model_maverick
Trades purely on the nightly-refit direction models: when the model's probability for a 15-minute window disagrees with the market by 25+ points, it buys the model's side. Smaller disagreements are recorded as watch-only signals, building the evidence file on whether the models deserve capital.
|
INTRADAY | 446 | 74–372 | 0 | $0.66 | $-21.65 |
|
neighbor_no
The closing-bell trade from the other side of the book: in the last minutes of each hour it buys NO on the brackets next to the one the price sits in — brackets the price is very unlikely to reach but which still trade above zero.
|
INTRADAY | 326 | 182–144 | 0 | $3.71 | $-22.01 |
|
spread_harvester
Earns the spread instead of paying it: on wide-spread hourly brackets whose measured probability sits well above the bid, it rests a maker order at the bid and waits. It only gets filled by impatient sellers crossing down — entering below fair value with zero taker fee.
|
INTRADAY | 307 | 102–205 | 0 | $4.27 | $-24.58 |
|
post_move_expansion
After an unusually large hourly move, volatility tends to stay elevated. Buys cheap outer brackets right after a big move, betting the market underprices a follow-through.
|
INTRADAY | 250 | 9–241 | 0 | $4.55 | $-24.77 |
|
closing_bell
In the final minutes of each hourly market, buys the bracket the price is currently sitting in when it is near-certain to stay there but still trades a few cents below fair — collecting small, frequent edges at settlement.
|
INTRADAY | 170 | 53–117 | 0 | $2.98 | $-29.42 |
|
range_compression
Volatility clusters — and its absence snaps. After several unusually quiet hours, it buys far-from-price brackets for pennies, betting the eventual expansion is underpriced. The calm-trigger mirror of post_move_expansion.
|
INTRADAY | 355 | 4–351 | 0 | $6.25 | $-30.10 |
|
weather_edge
Compares National Weather Service forecasts against daily high/low temperature markets in every Kalshi city (24 as of issue #222), using each city's measured forecast error to price the brackets. Buys when the market disagrees with the forecast by a wide margin.
|
MULTI-DAY | 211 | 33–178 | 0 | $6.47 | $-37.39 |
|
hourly_range_sniper
Late in each hour, uses years of hourly candle history to estimate the chance the price finishes inside a given bracket. Buys YES on brackets the market sells cheaper than that historical probability.
|
INTRADAY | 255 | 61–194 | 0 | $6.59 | $-48.18 |
From analytics to trading edge
Paper only · deep-replay evidence is a backtest, not live money
The research layer measures where prediction-market prices disagree with the historical record — candle-settlement probabilities, calendar and volatility-regime conditioning, and implied-vs-realized range. When a measurement looks like a real edge it becomes a candidate strategy, and before it trades a cent it is deep-validated on the warehouse archive: replayed against every settled market the archive still holds (not just the shallow two-week live tail), scored net of the same modeled fees and slippage as everything else here. Only edges that clear a pre-committed enable bar — an adequately powered resolved sample, positive net PnL, and a positive per-trade edge — are turned on, and they turn on to paper, not live. Four have cleared so far.
Buys YES on any open hourly range bucket whose historical settle-rate beats the ask by enough to clear fees — the general candle-probability scanner.
Scores a joint day-of-week × hour × volatility-regime settle distribution against the ask, backing off to thinner marginals when a cell is sparse.
Reads the hourly ladder as an implied range distribution and trades it against the empirical one — the central bucket when vol is priced rich, the cheap wings when cheap.
Prices each daily "greater" ladder strike from ~1yr of measured multi-hour moves (no sqrt-time) and takes the strikes the ladder under- or over-rates. Enabled at the min_edge 15 bar.
The left figure in each pair is a backtest — a deep replay over historical settled markets, with the model's inherent limitations — and is the evidence that justified enabling the edge. The right figure is the live paper record accumulated since the edge was enabled (resolved positions only, fees included). A freshly enabled edge starts with a thin live-paper sample; that is expected, and shown as it is.
The discipline — what we don't enable
Rigorous testing means most candidates never trade
Enabling is the exception, not the default. Several researched candidates stay disabled because deep replay found no fee-clearing edge: a signed up/down bet (directional_drift) that the study reads as a coin flip failing split-half validation; a cross-horizon vol trade (vol_term_structure) whose edge was thin, non-monotone and unstable; a confirmation-gated drift (multi_timeframe_confirm) that trimmed trades without adding edge; and a 5-minute momentum trade (five_min_drift) that could not beat the $100-bucket spread plus fees. They keep their methodology pages and stay under measurement — nothing is quietly deleted.
Path to real money
An enabled edge trades on paper first, building a live-comparable record. To be promoted to a real-money pilot it must clear a fixed gate: at least 40 resolved paper positions, positive realized PnL, a recent drawdown inside the risk cap, at least 7 days of paper runtime, and a green system go-live readiness check. Promotion is never automatic — the gate only files a recommendation; a human flips the switch, and readiness is re-checked at that moment.
A promoted pilot starts under a $0.25 per-order cap that only loosens as real, settled live results accumulate — a drawdown auto-halt and kill switch sit behind it the whole way. The Live Results panel above reports every real-money fill; the four analytics edges on this page remain on paper.
Today's Movers (24h P&L)
Calibration by Category
gap = predicted − realized| Crypto | 9721 signals | p̂ 0.75 → 0.39 | +0.353 |
| Climate and Weather | 336 signals | p̂ 0.4 → 0.18 | +0.223 |
| Sports | 118 signals | p̂ 0.75 → 0.62 | +0.133 |
| Unknown | 39 signals | p̂ 0.82 → 0.74 | +0.075 |
| Economics | 27 signals | p̂ 0.37 → 0.3 | +0.073 |
Recent Signals (unabridged)
Risk Simulation (90-day Monte Carlo)
2,000 bootstrap paths resampling 31 measured daily fee-inclusive P&L deltas over 90 days on the $100 simulated bankroll. Assumes the future resembles the measured past — it may not.
Methodology
- Every signal each strategy emits is recorded before execution — rejected, expired, and unfilled signals stay in the record. Nothing is deleted retroactively.
- Paper fills model real execution: maker entries post at the bid and may not fill (taker fallback after a timeout), taker entries cross the spread, 1¢ slippage, and Kalshi's taker fee formula ⌈0.07 · C · P · (1−P)⌉ applied per fill.
- "Net PnL (marked)" = realized settlements + open positions marked to the last traded price, minus all modeled fees. Sharpe/Sortino annualize hourly fee-inclusive equity deltas.
- Each strategy draws from an allocated slice of one simulated $100 account; risk caps ($2/order, $20 total live exposure) bind live orders separately.
Get the Signal Feed
Every signal on this page is available in real time as a JSON feed and Discord alerts — identical content for every subscriber, with the same fee-inclusive honesty as this track record. Access is token-based and currently granted by request while the live track record accumulates.