u/woztrades

I ran 100 BTC lead-lag variants on ETH Kalshi 15-minute markets

I ran 100 BTC lead-lag variants on ETH Kalshi 15-minute markets

Happy 4th of July 🇺🇸

I tested a simple lead-lag idea: BTC on Coinbase moves first, then ETH 15-minute Kalshi contracts reprice a few seconds later.

The base rule is mechanical. Watch BTC-USD velocity and 1-hour VWAP. If BTC velocity was above 4 USD/sec and price was above VWAP, buy YES on KXETH15M. If BTC velocity was below -4 USD/sec and price was below VWAP, buy NO. Exit when ETH 5-minute change caught up by +/-0.15%, or if unrealized PnL hit -$5.00.

I ran 100 variants around the same idea. The sweep changed velocity thresholds, VWAP confirmation, exit logic, hard stops, and sizing.

Top cluster:
- ROI: 241.6%
- Total PnL: +$12.08
- Win rate: 100.0%
- Trades: 10
- Max drawdown: -$0.24
- Sharpe: 0.51

https://preview.redd.it/orsgi9acaabh1.png?width=1080&format=png&auto=webp&s=7de33ea18b5d3d03441b5135b7d1ac0efdf5676c

Weakest completed group:
- ROI: 64.4%
- Total PnL: +$16.10
- Win rate: 100.0%
- Trades: 12
- Max drawdown: -$0.24
- Sharpe: 0.47 to 0.58

With 10 to 12 trades, the win rate is fragile. The key is understanding how much the entry filter changed ROI. The looser variants took more trades and made more raw PnL, but they used capital less efficiently. The stricter 4 USD/sec BTC velocity filter with VWAP confirmation looked cleaner in this run.

https://preview.redd.it/spfzbyogaabh1.png?width=1080&format=png&auto=webp&s=b9e74bd84567bba07b8599b8b7d939422c88ecaf

I would treat this as a lead worth monitoring. Ofc, actual fills could look very different because of liquidity, fees, slippage, latency, order book depth, partial fills, and contract resolution.

Historical simulation only. Backtests can be wrong or incomplete. Not investment advice.

reddit.com
u/woztrades — 1 day ago
▲ 2 r/ugc

HIRING US-based UGC Creators For Trading Automation App

Hey folks! We’re looking for a UGC creator to post short-form content for a new trading automation app built for prediction markets like Kalshi and Polymarket.

The role:

You’ll create and post 30 videos on TikTok and Instagram per month dedicated accounts.

Compensation:

- Base monthly rate + performance bonuses
- Top-performing videos may also be used as paid ads

What you’ll post about:

- Prediction markets
- Kalshi / Polymarket-style trading
- Trading automation
- AI-built strategy ideas
- Backtesting trade ideas
- Beginner-friendly explanations of event markets

What we’re looking for:

- Someone reliable who can post consistently
- Comfortable making finance/trading-adjacent content

To apply:

- Upvote this post
- Comment or DM me your portfolio and email

reddit.com
u/woztrades — 5 days ago

Market Making Might Be the Edge in 15-Minute BTC Markets

Disclaimer: not advice or live trading. Just backtests.

I ran 100 simulations via TurbineFi on Kalshi's 15-minute BTC markets around one thought: can post-only resting orders make enough from spread capture plus maker rebates to survive adverse selection?

I swept quote width, order depth, refresh behavior, position size, price bounds, and loop timing. I wanted to see whether the result depended on one lucky setting or whether the whole region behaved similarly.

https://preview.redd.it/yety11nmti9h1.png?width=1080&format=png&auto=webp&s=59f91190dad39c3fb558b6c99cd94705402d2784

The best-backtested strategy is a post-only spread-capture market-making bot. It places resting orders around the BTC 15-minute market, only when there is at least a 0.02 spread available, with 3 order levels, a 15-second refresh loop, and refresh-on-fill enabled so it reposts quickly after getting filled. Results:
- ROI: 1698.40%
- P&L: +$254.76
- Win rate: 99.02%
- Trades: 37,917
- Max drawdown: -$10.35

The weakest run was just more conservative - price band 15c to 70c, max position 5 contracts instead. Results:
- ROI: 838.40%
- P&L: +$41.92
- Win rate: 96.57%
- Trades: 9,915
- Max drawdown: $3.46

It seems like maker rebate and spread capture assumptions dominate this market. Of course, tiny execution differences, queue priority, fees, stale quotes, or rebate eligibility could change the story fast. Have you guys had any success doing automated MM on these markets?

Historical simulation only. Backtests can be wrong or incomplete. Not investment advice.

reddit.com
u/woztrades — 10 days ago

I Backtested 100 VWAP Momentum Bots on Kalshi 15-Min BTC Markets

Not investment advice. Just a backtest.

If BTC is above its 1-hour VWAP, short-term momentum should be more trustworthy.

The strategy shape was simple, just:
- BTC is above VWAP
- short-term momentum is positive
- EMA is above SMA
- buy YES on the Kalshi 15-minute BTC market
- exit on profit target, VWAP break, momentum flip, time cutoff, or max loss

This feels like the kind of thing that should at least be directionally less bad than blindly chasing every green candle, so I tested this shape on TurbineFi; all 100 lost money.

https://preview.redd.it/uj6egzipkr7h1.png?width=1200&format=png&auto=webp&s=299e356565850a5dea85769e59e50bf37b936ba6

The "best" variants:
- Net PnL: -$189
- ROI: -756%
- Win rate: about 11%
- Max drawdown: -$214
- Trades: 2,390

The worst variants were even uglier on ROI:
- ROI: about -1,900%
- Win rate: about 11-12%
- Drawdown: basically the whole tested capital base
- Trades: about 1,300

https://preview.redd.it/vbo2ogkmkr7h1.png?width=1200&format=png&auto=webp&s=2836b11a55424a093482d6a94b10cd1b6dada7e8

It didn't matter much whether the variant changed the entry ceiling, profit target, VWAP sensitivity, timing cutoff, or sizing. Lots of trades, very low win rate, severe drawdown. The VWAP filter solves the wrong problem. "BTC is above VWAP" is a decent sentence in spot trading, but it didn't translate into a useful edge for these markets.

Backtests can be wrong, incomplete, or overfit. Live trading has fees, latency, partial fills, liquidity issues, and market resolutions. Do your own work before putting real money behind anything like this.

reddit.com
u/woztrades — 19 days ago

I Backtested 100 Ways to Fade Kalshi’s 15-Minute BTC Market

Not investment advice. This is just a backtest / research rabbit hole.

Kalshi BTC 15m contracts can swing hard toward 0 or 100. Sometimes that move is justified by Coinbase spot. Sometimes it is probably just the prediction market overreacting.

I backtested a few Coinbase-based theses on Kalshi's KXBTC15M market via TurbineFi. The basic idea was that Coinbase spot might help identify when Kalshi had overreacted or underreacted. It seems regardless of the signal I tried, Kalshi was too efficient.

https://preview.redd.it/h15p51svzw6h1.png?width=1800&format=png&auto=webp&s=a10cfeea429ed3e82b55e5eedd6fcf5d4079b262

The first test was a simple gap / lag strategy:

- Coinbase makes a sharp 5-minute move
- Kalshi has not fully repriced
- Buy the side that looks cheap

It technically worked, but barely gave me anything to learn:

- PnL: +$9.61
- Trades: 23
- Win rate: 63.6%
- Max drawdown: -$0.97

Every variant found basically the same tiny cluster of trades. Then I tried a stricter exhaustion-fade thesis:

- Coinbase has already made a large 1h / 4h move
- BTC is near a recent high or low
- The 5-minute move starts reversing
- Fade the Kalshi side pricing continuation

The setup was too specific, it just never fired. So I loosened the idea into a broader Coinbase regime fade:

- Buy YES when Kalshi YES is cheap, below about 0.35
- Buy NO when Kalshi YES is expensive, above about 0.65
- Only trade when Coinbase is calm, moderately moving, or showing 5m/15m divergence
- Exclude shock moves

This traded, way too often:

- PnL: about -$1,377
- Trades: about 14,367
- Win rate: 50.4%
- Max drawdown: about -$1,440

That was the useful result. It failed because once the filters were loose enough to trade, the market looked close to efficient and the bot mostly churned.

Kalshi's 15-minute BTC market seems efficient enough to where fades don't work. Broad rules like "fade extremes when Coinbase is not shocked" are not enough. A 50% win rate on thousands of short-dated binary trades is a fast way to bleed.

Better strategies probably need to predict the move before it happens, rather than see a move after the fact and assume the market got it wrong. I guess this makes sense for events markets, but I didn't expect it to be this efficient at this scale of volume.

https://preview.redd.it/rps8w8t30x6h1.png?width=1800&format=png&auto=webp&s=fd8624d5267704abc476f5a49553c7b1edd88854

reddit.com
u/woztrades — 23 days ago

Grid bots don't work on prediction markets at all

Not investment advice. Just a backtest.

Can a basic grid / market-making bot make money on Kalshi BTC 15-minute contracts? The intuition is easy enough. These contracts move between 0c and 100c, the book wiggles around constantly, and a grid bot should be able to quote around the midpoint and pick up spread.

So I tested 100 native spread-capture / grid variants on KXBTC15M over the 30-day window ending June 6, 2026, backtested via TurbineFi.

The grid:

- Grid spacing: 2c, 3c, 4c, 5c, or 6c
- Grid depth: 1, 2, 3, 4, or 5 levels per side
- Active price band: 10-90c, 15-85c, 20-80c, or 25-75c
- Max position: 20 contracts
- Markets simulated per variant: 2,820

Results:

https://preview.redd.it/7rcgpq2x8q5h1.png?width=1600&format=png&auto=webp&s=1c7b8f98d383ba333954d61805d57acc63103f2b

- 100/100 backtests completed
- 9/100 variants were technically positive
- Mean PnL: -$35.58
- Median PnL: -$3.83
- Best PnL: +$0.67
- Worst PnL: -$373.74

https://preview.redd.it/5fiqmly19q5h1.png?width=1600&format=png&auto=webp&s=07a435ef04ff421ab9826f3fb89f104bea9c2ca7

The simple grid got punished for doing exactly what it was designed to do: trade a lot. The tighter and deeper the grid got, the worse it performed. At 2c spacing, especially with multiple levels, the bot was constantly getting filled. But more fills did not mean more edge. It mostly meant more fees.

Simple always-on grids probably do not belong on short-dated BTC contracts unless there is another filter deciding when to turn them on.

If I kept testing this, I would try something less naive:

- Only quote when spread is unusually wide
- Only quote during low Coinbase volatility
- Only quote far enough from expiry
- Only quote one side based on Coinbase trend
- Hard cap trades per market

Has anyone had success using similar strategies on these short-dated markets? Or do the fees just always kill it?

reddit.com
u/woztrades — 29 days ago

Backtested 100 Coinbase VWAP variants on Kalshi BTC 15-minute markets

Not investment advice. This is a historical backtest, not live trading. This data is almost certainly overfit, since 100/100 variants is pretty unrealistic in practice.

I wanted to test a prediction-market idea that at least has a real mechanism behind it: Kalshi BTC 15-minute contracts are pricing a short-duration outcome, but Coinbase is where the underlying is actually trading. If Coinbase spot moves first, maybe Kalshi's contract price lags for a bit.

I used Coinbase 1-hour VWAP as a rough context line:

  • If Coinbase BTC is above 1h VWAP and still moving up, buy YES on Kalshi.
  • If Coinbase BTC is below 1h VWAP and still moving down, buy NO on Kalshi.
  • Only trade when the Kalshi contract is still in a reasonable price band.
  • Only trade when the Kalshi spread is not too wide.

I ran 100 variants via TurbineFi on KXBTC15M over the 30-day window ending today.

  • Coinbase momentum window: 5m or 15m
  • Momentum threshold: 5, 10, 15, 20, or 30 bps
  • Kalshi price band: 25-75c, 30-70c, 35-65c, 40-60c, or 45-55c
  • Kalshi spread cap: 2c or 3c

Results:

  • 100/100 variants were positive in this window
  • Mean simulated PnL: $560.97
  • Best simulated PnL: $2,910.45
  • Worst simulated PnL: $0.26
  • 2,754 markets simulated per variant

https://preview.redd.it/dxy0bsfmj45h1.png?width=1600&format=png&auto=webp&s=5ea9b2359ca627bff5e229312f6b522f84ab727b

Best variant:

  • Coinbase 5m change > 5 bps
  • Coinbase BTC above 1h VWAP for YES, below 1h VWAP for NO
  • Kalshi price band: 25-75c
  • Kalshi spread cap: 3c
  • Net simulated PnL: $2,910.45
  • Win rate: 79.47%
  • Trades: 5,388

https://preview.redd.it/dzar5glnj45h1.png?width=1600&format=png&auto=webp&s=08b628dc3befabb374843114fd7a102bfe95acad

The interesting part is the shape of the results. The 5-minute signal beat the 15-minute signal. The 5 bps threshold beat the bigger thresholds. Wide price bands beat tight bands. That makes me think the edge, if it is real, is probably not "wait for a huge Coinbase move and chase it." By the time the move is huge, the Kalshi book may already have adjusted.

Small Coinbase moves, when they happen on the right side of VWAP, may be enough to catch stale Kalshi pricing before the book fully updates.

Obvious caveats:

  • One 30-day window
  • One market series
  • 100 variants, so overfitting risk is real
  • Backtest fills are not live fills
  • Fees and simulated slippage are included, but real execution can still be worse

I would not treat the exact top variant as gospel. The thing I would want to retest is the family shape:

  • Does 5m keep beating 15m?
  • Does 5 bps keep beating 20-30 bps?
  • Do wider bands keep outperforming tight bands?
  • Does this survive the next 30-day window?

If those keep holding, this is a much more interesting signal than simple mean reversion.

reddit.com
u/woztrades — 1 month ago

I checked whether ETH actually lags BTC in Kalshi 15-minute markets

Not investment advice. This is research, not live trading.

If BTC moves first, does ETH follow a little late? If that lag exists, it could matter for 15-minute up/down markets. BTC rips, ETH has not fully caught up yet, buy the ETH up contract.

The first pass says the lazy version of the idea probably does not survive contact with the data. I used Coinbase BTC-USD and ETH-USD candles from April 30 to May 30, 2026, lined them up into 5-minute and 15-minute bars, and compared log returns. This is spot data, so it is not a backtest of live fills on Kalshi. I was only trying to answer the first question: does ETH lag BTC enough to care?

Short answer: BTC and ETH move together a lot, but mostly in the same candle.

Stats:
- 15-minute same-bar BTC/ETH return correlation: 0.8861
- 5-minute same-bar BTC/ETH return correlation: 0.8756
- strongest 15-minute lead/lag reading: 0.8861 at 0 minutes
- BTC leading ETH by one 15-minute candle: -0.0053
- overlap points: 2855 15-minute bars

https://preview.redd.it/5f6pmhym8b4h1.png?width=1600&format=png&auto=webp&s=9f61615e891f3ff98e5d42a37fb6c836382746b9

When BTC moved at least 25 bps in a 15-minute candle, ETH moved the same direction in that same candle 99.64% of the time. In the next 15-minute candle, ETH matched BTC's prior direction only 42.35% of the time. By the time the 15-minute candle has closed, the obvious move may already be gone. BTC and ETH did not look like a clean leader/follower pair here. They looked like two things getting repriced at the same time.

The better version of this is more specific:

"BTC and ETH spot are moving together right now, but the ETH prediction market has not repriced yet." That is a different trade.

That is where I would take this next. I would stop trying to use the previous BTC candle as the signal and instead look at same-window dislocations:
- BTC and ETH spot both moving hard
- ETH up/down contract still priced like nothing happened
- enough spread and liquidity to actually get filled
- exit before the 15-minute window turns into a coin flip

My read: BTC/ETH correlation is very real. BTC/ETH lag, at least at 5-minute and 15-minute candle resolution, is not. If there is an edge here, it probably lives in the gap between spot repricing and prediction-market repricing, not in ETH obediently following BTC one candle later.

Disclaimer: educational research only. These are historical correlations, not trading instructions. Live trading can differ because of liquidity, fees, slippage, latency, data availability, and changing market behavior. Past performance and historical correlation do not predict future results. We ran these tests via TurbineFi's backtesting engine.

reddit.com
u/woztrades — 1 month ago

I backtested 500 Weather Kalshi Bots. The best bot was the simplest.

Not investment advice. This is a backtest, not live trading.

I ran 500 strategies against Kalshi's New York high-temperature market, using National Weather Service data from LaGuardia as the weather feed. Ten strategy families, 50 variants each. Same market, same date range, same basic execution model.

The result was not subtle: most of them lost money. Only 70 out of 500 finished positive, and the median ROI was -41.61%.

https://preview.redd.it/j6dlz0lsop2h1.png?width=1600&format=png&auto=webp&s=ee8337d02dd4ab5578843cec65e925117892949c

But the losses were not random. The strategies that did best shared a pretty simple shape: they used weather data to confirm a heat trade that the market had not fully priced yet. The strategies that did worst tried to fight the market because one weather variable looked bearish.

The clearest example was the Hot Forecast Breakout family. These strategies bought YES when the official forecast was hot and the YES price still looked cheap. That group produced 22 profitable variants out of 50, more than any other family. The best individual strategy in the whole test came from this group and returned +117.75%.

The top strategy waited for a forecast high above 77 degrees, a YES price below 42 cents, and a reasonably tight spread. If those lined up, it bought. If the price moved up, it took profit. If the forecast cooled, it got out. That is not a grand theory of weather markets. It is just: "the forecast says heat, the market is still cheap, take the trade."

https://preview.redd.it/db993rewop2h1.png?width=1600&format=png&auto=webp&s=e3cbc0dfffc710367ff3f6f80cadbfcb6d247cd1

The bad strategies are where the test gets more useful. Cool Forecast Fade went 0-for-50. Rain Pressure NO went 0-for-50. Temperature Shortfall NO went 0-for-50. Warm-Up Chase went 0-for-50. These were not identical strategies, but they had the same problem: they treated a single objection to heat as enough reason to bet against the market.

https://preview.redd.it/27y37usyop2h1.png?width=1600&format=png&auto=webp&s=a3d1d54659263c426d52e051522863bba3b80121

So my takeaway is not "use weather data." My takeaway is narrower: weather data seemed most useful as confirmation, not as contradiction. Hot forecast plus cheap YES worked better than cool forecast plus stubbornly expensive market. Live heat confirmation worked better than trying to infer too much from rain, wind, or a shortfall from the forecast high.

In this test, simple confirmation beat clever opposition. Weather helped when it made an already-plausible trade more obvious. It hurt when it gave the strategy an excuse to argue with price.

Disclaimer: this is educational, not investment advice. The results are from one backtest window, one city, one market series, and one weather station. Backtests use modeled fills and historical data. Live trading can differ because of liquidity, fees, slippage, latency, data availability, and changing market behavior. Past performance, including backtested performance, does not predict future results.

reddit.com
u/woztrades — 1 month ago

For people building prediction market bots: what’s the biggest bottleneck for you?

Hey everyone, I’m working on a no-code platform for building, backtesting, and deploying prediction market trading strategies. Our thesis is that there probably isn’t one “perfect” prediction market bot (if there were and I had already found it, I wouldn't be posting here). Different strategies work in different market regimes, so the useful edge is shortening the iteration loop: create a strategy idea, backtest it, deploy it safely, monitor performance, and adjust.

The platform includes AI assisted strategy creation, a prediction market backtesting engine, strategy templates, hosted isolated runtimes, monitoring, and a constrained DSL so AI generated strategies can’t freely hallucinate execution logic.

For people who trade prediction markets or have tried building bots, what would matter most before you trusted a tool like this?

- Tick-level/order book data?
- Slippage, fees, and partial fill simulation?
- Liquidity constraints?
- Secure key management?
- Hosted runtime isolation?
- Monitoring, alerts, and PnL attribution?
- Drawdown/risk controls?
- Strategy templates and examples?
- Ability to inspect the generated execution logic?

Also curious: what would make you not trust a prediction market bot/backtesting platform?

It’s called TurbineFi. I’m mostly looking for technical feedback on what traders/bot builders would consider table stakes.

*mods, please delete if not acceptable! Just trying to make sure we build directly from feedback.

reddit.com
u/woztrades — 2 months ago

Not investment advice. Educational backtest only. Almost certainly overfit.

I ran 100 different Kalshi BTC 15-minute strategies through TurbineFi's backtest engine, but with one twist: every strategy used Coinbase BTC-USD data as an external signal.

The question was simple: if Kalshi is trading a short-duration BTC contract, does watching the underlying venue directly create edge?

In this small window, the data in this run suggests yes.

https://preview.redd.it/64jlcjf2wbzg1.png?width=1800&format=png&auto=webp&s=c4d9ff64ecf5db0288119bb612bdcadd6b8160d9

Two weeks ago panic fading dominated. Five days ago almost nothing worked. In this run, using an external venue flips the result again - momentum, not reversion, wins.

100 strategies. 78 made money. 22 lost.

https://preview.redd.it/v5yb56s2wbzg1.png?width=1800&format=png&auto=webp&s=42441ea3ddeaf59be2ce3a639a4509944f2f6c54

Window: 30 days, ending May 4, 2026.

- Market series: KXBTC15M.
- Markets simulated per strategy: 2,832.
- Total simulated trades: 317,645.

The best strategy made +$19,451. The worst lost -$7,278.

The headline: the best strategies did not fade Coinbase moves. They followed them.

THE WINNER: COINBASE VELOCITY

https://preview.redd.it/99ej67z3wbzg1.png?width=1800&format=png&auto=webp&s=bdb58f5498ebf73143cbcba928d583252fec679a

The top 10 strategies were all 1-minute Coinbase velocity strategies.

Best strategy:

Buy YES when Coinbase BTC 1-minute velocity is positive above 0.002.

- Net simulated P&L: +$19,451
- Trades: 13,382
- Win rate: 53.74%
- Fees paid: $4,412

The top five were all YES velocity variants. The threshold barely mattered. Whether the trigger was 0.0002 or 0.002, the result was basically the same. The edge was not "find the perfect velocity cutoff." The edge was "when Coinbase spot is moving up right now, Kalshi's 15-minute BTC contract still has enough lag to buy YES."

The NO side worked too. The five negative-velocity NO strategies averaged +$17,220 each.

SECOND BEST: TREND ALIGNMENT

https://preview.redd.it/o55uw3q5wbzg1.png?width=1800&format=png&auto=webp&s=fb89690cecd2fef7f9b1f5f0dca0dbb55d28e622

Strategies that required Coinbase 1-hour and 5-minute trend to agree were all profitable.

- YES alignment: 5 of 5 profitable, mean P&L +$5,939.
- NO alignment: 5 of 5 profitable, mean P&L +$3,773.

This was less explosive than 1-minute velocity, but probably more interpretable. When Coinbase BTC was moving in the same direction across short and medium windows, Kalshi's 15-minute contract still had room to reprice.

WHAT FAILED: FADING SPOT PANIC

https://preview.redd.it/2wlhx717wbzg1.png?width=1800&format=png&auto=webp&s=f44f502d9f8ceee6bdc7082ba2ad8eeb19d8aeca

Panic fading using Coinbase data lost.

- Fade negative Coinbase 15m panic by buying YES: 0 of 5 profitable, mean P&L -$1,022.
- Fade positive Coinbase 15m panic by buying NO: 0 of 5 profitable, mean P&L -$1,210.

So the lesson is not "always fade volatility." At least in this 30-day window, when the external venue was moving hard, the better trade was to respect the move, not fight it.

THE REAL LOSER: REGIME DIP-BUYING

The worst family was green_day_dip_buy_yes.

- 0 of 5 profitable.
- Mean P&L: -$6,136.
- Worst: -$7,278.

The idea sounds reasonable: BTC is in a positive daily regime, so buy short-term dips. It did not work. On 15-minute contracts, the dip was not a bargain. It was usually information.

BOTTOM LINE

https://preview.redd.it/p69qm0jawbzg1.png?width=1800&format=png&auto=webp&s=7999d45c62117c4e97ba3f5fac1561476ae644bc

What worked:

- 1-minute Coinbase velocity
- 5-minute / 1-hour trend alignment
- Fast moving-average confirmation
- VWAP premium on the YES side

What did not work:

- Fading Coinbase panics
- Buying dips just because the 24-hour regime was green
- Selling rips just because the 24-hour regime was red

The result I care about is not the leaderboard, but that 78% of strategies with an external signal made money vs prior runs where almost all lost. I’m posting this mostly for methodology critique. If there’s a flaw in the setup, please shoot me a comment here.

Caveats: one market series, one 30-day window, ending May 4, 2026. Different windows can absolutely flip the leaderboard. Backtests include modeled fees and slippage, but live execution can be worse. High-turnover velocity strategies especially deserve skepticism: they looked dominant here, but they are also the most sensitive to latency, queueing, spread, and venue hiccups. This is still one 30-day window and 100 variants - overfitting is almost certain.

reddit.com
u/woztrades — 2 months ago

Not investment advice. Educational content only. Results are from a backtest, not live trading. Full disclaimer at the end.

4,904 strategies. 102 made money. The play that won last week is dead.

Over the last week I generated 4,904 distinct trading strategies, fed them into TurbineFi's backtest engine, and ran every one of them against Kalshi's 15-minute BTC market series (KXBTC15M) over the last 30 days. Each strategy executes across roughly 2,831 individual markets in the window. That is 13.9 million simulated strategy-market pairings, 41.8 million simulated trades.

This is the second run I've done on this series. The first one last week told a story: most strategies made money, the simple "buy cheap, sell on bounce" idea was the winner, and the leaderboard was full of it. Since then, we incorporated feedback from this subreddit to make the backtesting more accurate. We now:
* Take liquidity / active trading windows and fees into account
* Take the next candle open instead of the current 1m candle, so the backtests aren't considering the future

If you guys have any more feedback on methodology, please let me know.

The Headline

Out of 4,904 strategies, 102 made money. 4,802 did not. Median ROI was -14.53% on a $10,000 notional. The best strategy returned +18.32%. The worst returned -77.73%.

This is a one-sided distribution. There is no heavy right tail. There is one tight cluster of winners at the top, and a giant red wall everywhere else.

https://preview.redd.it/1cneo3yt6cyg1.png?width=2700&format=png&auto=webp&s=85ddea85ae17ccae66cf64b3eb6dc4a570903f00

THE ZERO-FOR-432 LOSER

mean_reversion was 0 for 432. Not a single variant made money. I tested entry bands from 0.10 to 0.40 against exits at 0.50 to 0.90, with cooldowns up to 30 minutes. Mean ROI -8.12%. Best variant -1.29%. Worst -14.26%.

The structural reason is duration. mean_reversion is a strategy that needs the price to drift away and come back inside the window the trader is waiting on it. On a 15-minute market, the price does not have time to do that. By the time the entry band fires, the market is closing. There is no reversion left to capture.

This is the same template that prints money on long-duration two-way books, NFL spreads, election markets that sit open for months. It does not work on 15-minute crypto. The duration eats it.

https://preview.redd.it/4ffxcyh17cyg1.png?width=2340&format=png&auto=webp&s=8aa3d70ac86e1a54e6f0e26765de0ea189a7df04

THE 93-OF-96 WINNER (THE ONLY ONE THAT WORKED)

panic_fade was 93 of 96 profitable. Mean ROI +4.90%. The 3 losers all came in at -0.12%. Best variant +18.32%, on panic_threshold=0.04 with fade_size=100.

This is the only archetype on the leaderboard. Of the top 100 strategies in the entire run, 93 are panic_fade variants. The remaining 7 are custom price-threshold variants that barely cleared zero.

What works on KXBTC15M right now is volatility-reversion. When the book moves hard in 15 minutes, take the other side. Every parameterization of that idea pays. Everything else loses.

https://preview.redd.it/k3p4edq37cyg1.png?width=2570&format=png&auto=webp&s=4d377bee6b40384b41366ad37afd4312b2c6dd9e

The top 10 were all the same parameter

Every one is panic_fade. Every one used fade_size=100. The panic_threshold ranges from 0.03 to 0.15, and it does not seem to matter much. What matters is size.

Pulling 100 contracts every time the book panics outperformed pulling 75 outperformed pulling 50. The smaller fade sizes printed too, just less. The pattern is unambiguous: in this regime, fade with conviction or do not fade at all.

The trap that was last week's winner

Last week's research run on this same series had custom price-threshold strategies (buy YES at price X, sell at price Y) at the top of the leaderboard. The single best strategy was buy at 0.50, sell at 0.70. It returned +56.6% on a 30-day window ending 2026-04-20.

This run, with a 30-day window ending 2026-04-29, the same archetype is 7 of 4,290. 0.16% hit rate. Mean ROI -19.95%. Worst variant -77.73%.

That is the same idea, the same tickers, the same engine. Nine days of fresh data shifted in, nine old days shifted out, and the play that produced the inaugural leaderboard is now the worst-performing archetype by sample size in the run.

The bottom 10 strategies in this run are all tight-band price-threshold variants. buy 0.58, sell 0.60. buy 0.60, sell 0.62. 7,000+ trades each, 62-63% win rate, and still losing 75-78% over the window. They are being eaten alive by fees and slippage on a 2-cent target. When the book stops obediently mean-reverting, every one of those small wins becomes a small loss, and the cumulative bill is brutal.

https://preview.redd.it/rr5swtuc7cyg1.png?width=2570&format=png&auto=webp&s=3b2a0d289a7925a7f7dbf003ee5497857730ccac

The bottom line

  1. On KXBTC15M right now, fade the panic is the only thing working.
  2. Size matters more than threshold. fade_size=100 dominated.
  3. Do not buy cheap and wait for the bounce. The bounce is not coming back fast enough on a 15-min market.
  4. Do not run a tight 2-cent price target with high turnover. Fees and slippage will eat you alive.
  5. Strategies are regime-dependent. The play that worked three weeks ago is now the worst archetype in the lab.

https://preview.redd.it/imto7g7h7cyg1.png?width=2570&format=png&auto=webp&s=1ad41a1f598132564d6fbcc6c8349e9735cb47f0

How we ran it

All 4,904 strategies were generated deterministically from a parameter sweep, submitted to our backtest API, and pulled back as a flat results file. Total wall time: 58 minutes for 41.8 million trades, on a 4-worker batch runner.

I will keep doing these. Next run is probably ETH 15-min on the same shape, plus a couple of strategy ideas from comments. Reply with one and I will add it to the batch.

Caveats

One window (30 days, ending 2026-04-29), one series (KXBTC15M). Different window or series would produce a completely different leaderboard, and the contrast with our inaugural post on the same series proves it. Treat the shape of the findings as more durable than any individual rank.

ROI is normalized on a $10,000 notional because backtest equity curves are easier to compare that way. Relative ordering is accurate, read the percentages as "P&L per $10k deployed."

Backtests use historical orderbook snapshots. Live execution hits slippage, venue hiccups, and liquidity that moves under you. Past performance, hypothetical or real, does not predict future performance. The fact that the same archetypes that won three weeks ago are losing now is the cleanest demonstration of that you are likely to see.

Disclaimer

This post is for informational and educational purposes only. It is not investment advice, a recommendation to trade, or a solicitation to buy or sell any financial product, contract, or instrument. I am not a registered investment adviser, broker-dealer, commodity trading advisor, or commodity pool operator.

The results described are from a backtest: a simulation of how strategies would have performed against historical orderbook data over a specific window on a single market series. Kalshi contracts are regulated by the U.S. Commodity Futures Trading Commission.

Hypothetical and simulated performance results have inherent limitations. They are prepared with the benefit of hindsight, do not involve real capital at risk, and cannot fully account for the impact of execution, liquidity, fees, or changes in market conditions. No representation is being made that any strategy will or is likely to achieve profits or losses similar to those shown.

Past performance, whether actual or hypothetical, is not indicative of future results. Trading prediction-market contracts involves substantial risk, including the possible loss of the entire amount invested.

Strategies described here were built and backtested by the author for research. TurbineFi does not recommend any of these strategies for use.

You are solely responsible for any decisions you make. Before trading any product, consider your financial situation and risk tolerance, and consult a qualified professional. Do not rely on anything in this post as the basis for a trading decision.

reddit.com
u/woztrades — 2 months ago