/ Track Record

Complete simulated signal record • fees & slippage included • nothing omitted

Season 1 — all time

Net PnL (marked)
+$684.08
Positions
10325
Fees Modeled
$135.31
Sharpe (ann.)
7.84
Sortino (ann.)
8.72
Max Drawdown
$281.46
Longest DD
463h

Live Results — real money

first live order — · updates every 10 min
Live fills
1
Realized live PnL
+$0.00
Fees paid
$0.00

Actual 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.

candle_prob_mispricing paper · enabled round 28

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.

Deep replay · paper backtest
+$55.55
1794 resolved · 31.7% hit · max DD $13.14 · 24.2d window
evidence at enable · issue #293
Live paper · since enabled
no resolved paper positions yet — accruing
conditional_probability paper · enabled round 28

Scores a joint day-of-week × hour × volatility-regime settle distribution against the ask, backing off to thinner marginals when a cell is sparse.

Deep replay · paper backtest
+$139.69
1028 resolved
evidence at enable · issue #294
Live paper · since enabled
no resolved paper positions yet — accruing
implied_range_vol paper · enabled round 29

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.

Deep replay · paper backtest
+$135.58
819 resolved · 42.2% hit
evidence at enable · issue #295
Live paper · since enabled
no resolved paper positions yet — accruing
daily_ladder_vol paper · enabled round 30

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.

Deep replay · paper backtest
+$24.34
333 resolved · 49.8% hit
evidence at enable · issue #337
Live paper · since enabled
no resolved paper positions yet — accruing

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)

calendar_arb +$0.03
cross_venue_lag $-0.01
whale_follow $-0.15
crypto_threshold $-0.32

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)

box_arb buy no KXETH15M-26SEP230715-15 @ 47c 09-23 11:03
box_arb buy yes KXETH15M-26SEP230715-15 @ 25c 09-23 11:03
box_arb buy no KXBTC15M-26SEP230715-15 @ 63c 09-23 11:03
box_arb buy yes KXBTC15M-26SEP230715-15 @ 25c 09-23 11:03
momentum_fifteen buy yes KXETH15M-26SEP230715-15 @ 25c 09-23 11:03
calendar_arb buy yes KXBTCD-26SEP2317-T85499.99 @ 66c 09-23 11:03
calendar_arb buy no KXBTCD-26SEP2308-T85499.99 @ 7c 09-23 11:03
box_arb buy no KXETHD-26SEP2308-T2719.99 @ 7c 09-23 11:02
box_arb buy no KXETHD-26SEP2308-T2729.99 @ 25c 09-23 11:02
box_arb buy yes KXETHD-26SEP2308-T2729.99 @ 67c 09-23 11:02
box_arb buy no KXETHD-26SEP2308-T2734.99 @ 43c 09-23 11:02
box_arb buy no KXETHD-26SEP2308-T2724.99 @ 13c 09-23 11:02
box_arb buy yes KXETHD-26SEP2308-T2724.99 @ 79c 09-23 11:02
box_arb buy yes KXETHD-26SEP2308-T2719.99 @ 89c 09-23 11:02
box_arb buy yes KXETHD-26SEP2308-T2734.99 @ 50c 09-23 11:02
momentum_fifteen buy yes KXBTC15M-26SEP230715-15 @ 38c 09-23 11:02
momentum_fifteen buy no KXXRP15M-26SEP230715-15 @ 29c 09-23 11:02
momentum_fifteen buy yes KXSOL15M-26SEP230700-00 @ 14c 09-23 10:56
momentum_fifteen buy yes KXXRP15M-26SEP230700-00 @ 82c 09-23 10:56
momentum_fifteen buy yes KXDOGE15M-26SEP230700-00 @ 37c 09-23 10:56
momentum_fifteen buy yes KXBTC15M-26SEP230700-00 @ 23c 09-23 10:55
box_arb buy no KXHYPE15M-26SEP230700-00 @ 49c 09-23 10:52
box_arb buy yes KXHYPE15M-26SEP230700-00 @ 42c 09-23 10:52
momentum_fifteen buy no KXDOGE15M-26SEP230700-00 @ 78c 09-23 10:52
momentum_fifteen buy no KXSOL15M-26SEP230700-00 @ 72c 09-23 10:52
conditional_probability buy yes KXBTC-26SEP2307-B85950 @ 24c 09-23 10:51
range_fade buy no KXBNB-26SEP2307-B787 @ 76c 09-23 10:51
box_arb buy yes KXHYPED-26SEP2307-T95.9999 @ 18c 09-23 10:51
box_arb buy no KXHYPED-26SEP2307-T95.7499 @ 29c 09-23 10:51
box_arb buy yes KXHYPED-26SEP2307-T95.7499 @ 63c 09-23 10:51
momentum_fifteen buy no KXBTC15M-26SEP230700-00 @ 58c 09-23 10:51
box_arb buy no KXBTC15M-26SEP230700-00 @ 51c 09-23 10:51
box_arb buy no KXHYPED-26SEP2307-T95.9999 @ 73c 09-23 10:51
box_arb buy yes KXBTC15M-26SEP230700-00 @ 43c 09-23 10:51
five_min_drift buy yes KXBTC-26SEP2307-B85950 @ 26c 09-23 10:49
conditional_probability buy yes KXBTC-26SEP2307-B85750 @ 17c 09-23 10:47
five_min_drift buy yes KXBTC-26SEP2307-B86050 @ 11c 09-23 10:47
momentum_fifteen buy yes KXDOGE15M-26SEP230645-45 @ 85c 09-23 10:38
conditional_probability buy yes KXBTC-26SEP2307-B85650 @ 14c 09-23 10:37
candle_prob_mispricing buy yes KXETH-26SEP2307-B2727 @ 24c 09-23 10:37
implied_range_vol buy yes KXETH-26SEP2307-B2727 @ 24c 09-23 10:37
box_arb buy no KXETH15M-26SEP230645-45 @ 43c 09-23 10:36
box_arb buy yes KXETH15M-26SEP230645-45 @ 34c 09-23 10:36
box_arb buy no KXBTCD-26SEP2307-T85999.99 @ 86c 09-23 10:36
box_arb buy yes KXBTCD-26SEP2307-T85899.99 @ 22c 09-23 10:36
box_arb buy no KXBTCD-26SEP2307-T85899.99 @ 70c 09-23 10:36
box_arb buy yes KXBTCD-26SEP2307-T85999.99 @ 9c 09-23 10:36
momentum_fifteen buy no KXDOGE15M-26SEP230645-45 @ 71c 09-23 10:36
momentum_fifteen buy no KXXRP15M-26SEP230645-45 @ 54c 09-23 10:36
conditional_probability buy yes KXBTC-26SEP2307-B85550 @ 7c 09-23 10:35

Risk Simulation (90-day Monte Carlo)

P(drawdown ≥25%)
100.0%
P(drawdown ≥50%)
90.5%
5th pct
$1063.0
Median
$2227.0
95th pct
$3649.0

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.

GET /api/signals?token=kt_... → {"signals": [{"strategy": "momentum_fifteen", "side": "yes", ...}]}
See the developer docs for the schema and terms, or contact the operator for a token.
Disclosures: All results shown are simulated (paper) trading performance, not actual trading, unless explicitly labeled live. Simulated results have inherent limitations: they are prepared with the benefit of a model of execution (including estimated fees and slippage) and do not reflect actual market impact or liquidity constraints. Past performance, simulated or actual, is not indicative of future results. Nothing on this page is investment advice or an offer to trade on your behalf; content is identical for every viewer and is provided for informational purposes only.