Stop Distance Test
Test whether a wider per-fill stop improves the 3-minute entry window variant, holding every other rule fixed.
Historical research only. Not investment advice.
Comparison Results
Stop Distance on a 3-Minute ETH Entry: A Kalshi Crypto Test
Unlisted research note. Historical simulation only. Nothing here is investment advice or a claim about future results.
Disclaimer (Short)
This is a historical simulation study of one rule change on one strategy. It is not live-trading evidence, not a recommendation, and not a promise of future performance. Read the long disclaimer at the end before drawing any conclusions.
Intro / Thesis
The base strategy trades Kalshi's KXETH15M series — 15-minute ETH contracts, using the most liquid market — and enters a single position in the final minutes of the contract. The entry window is narrow: only when 3 minutes or less remain and more than 1 minute remains. Direction comes from Coinbase ETH data, specifically price versus a 1-minute EMA and the 1-minute MACD versus its signal line. Two stop rules sit above the entries, and whichever fires first each tick ends that tick's evaluation.
The question in this batch was simple and narrow: does widening the per-fill stop from 8 cents to 10 to 12 cents improve this 3-minute variant, holding everything else fixed?
The thesis being tested is that a tighter stop may be cutting positions that would have recovered inside the short remaining life of the contract, while a wider stop gives the trade more room. The counter-argument is equally plausible: with so little time left, a wider stop may just mean holding losers longer. This study is designed to separate those two stories as far as three data points can.
The batch is explicit: three completed variants out of three, each with its own complete DSL, run over a 30-day window. Each variant was saved as a runnable Turbine strategy, so the configurations below are reproducible.
Variant and Strategy Explanation
All three variants share the same skeleton. The differences are confined to a single number.
Common rules, evaluated top to bottom, first match ends the tick:
- When
yes_position_size > 0, sell YES. The per-fill stop gate fires when the executable side bid is at or below that fill's actual purchase price minus the stop offset. Gaps can sell lower; only the selected fill's remaining quantity is sold, not unrelated fills. - When
no_position_size > 0, sell NO. Same per-fill gate structure on the NO side. - Enter YES when, all at once:
time_to_expiry <= 3mand> 1m, no existing YES or NO position,spread < 0.03,yes_best_ask < 0.6,edge.eth.price > edge.eth.ema_12_1m, andedge.eth.macd_1m > edge.eth.macd_signal_1m. Action: buy YES, size 50, immediate-or-cancel. - Enter NO when, all at once:
time_to_expiry <= 3mand> 1m, no existing YES or NO position,spread < 0.03,no_best_ask < 0.6,edge.eth.price < edge.eth.ema_12_1m, andedge.eth.macd_1m < edge.eth.macd_signal_1m. Action: buy NO, size 50, immediate-or-cancel.
Risk and runtime: loop interval 30 seconds; max_position 53 contracts; YES price bounds 0.05 to 0.95; max_entries_per_market 1; max_notional $50 per market. The edge feed refreshes every 10 seconds. Entry spend is capped at $50 per market and that spent budget is not released by later sells.
The one variable across the three candidates:
- 3m window, 8-cent stop — both stop rules use
entry_stop_loss_offset: 0.08. 30-day window. - 3m window, 10-cent stop — both stop rules use
entry_stop_loss_offset: 0.10. 30-day window. - 3m window, 12-cent stop — both stop rules use
entry_stop_loss_offset: 0.12. 30-day window.
Everything else — market selection, entry conditions, sizing, position caps, notional cap — is identical. The stop offset is applied per fill, against that fill's actual purchase price, and the sell is capped to that fill's remaining quantity.
Top Results
Rank 1 — 3m window, 12-cent stop
- Total PnL: +601.56
- ROI: 1135.02%
- Sharpe: 0.34
- Max drawdown: −276.92
- Total trades: 977
- Win rate: 31.99%
- Strategy slug:
stop-distance-test-dabe6c6a7353
This is the best of the three on PnL, ROI, Sharpe, and max drawdown. It also has the lowest win rate of the set — under 32% — which is the interesting part. The winner is not winning by hitting more often; it is winning by letting winners run further relative to the losses it takes.
Rank 2 — 3m window, 10-cent stop
- Total PnL: +534.25
- ROI: 1008.02%
- Sharpe: 0.30
- Max drawdown: −289.29
- Total trades: 986
- Win rate: 33.00%
- Strategy slug:
stop-distance-test-2c327759e52c
Middle of the pack on every dimension. Slightly more trades than the 12-cent variant, a slightly higher win rate, and slightly worse PnL, ROI, Sharpe, and drawdown.
Bottom Results
Rank 3 — 3m window, 8-cent stop
- Total PnL: +522.67
- ROI: 986.17%
- Sharpe: 0.29
- Max drawdown: −292.31
- Total trades: 988
- Win rate: 32.84%
- Strategy slug:
stop-distance-test-84001a902525
The tightest stop produces the most trades, the highest win rate, and the worst PnL, ROI, Sharpe, and drawdown. That is a coherent pattern: a tighter stop exits more positions before they resolve, converting some would-be losers into small wins and some would-be winners into small losses. The count of "wins" goes up; the money does not.
For completeness, the ordering of the three on each metric:
| Variant | PnL | ROI | Sharpe | Max DD | Trades | Win rate |
|---|---|---|---|---|---|---|
| 12-cent stop | 601.56 | 1135.02% | 0.34 | −276.92 | 977 | 31.99% |
| 10-cent stop | 534.25 | 1008.02% | 0.30 | −289.29 | 986 | 33.00% |
| 8-cent stop | 522.67 | 986.17% | 0.29 | −292.31 | 988 | 32.84% |
Two things are worth flagging honestly rather than smoothing over.
First, the differences between variants are small in absolute terms. PnL ranges from roughly 523 to 602 across the set, and Sharpe ranges from 0.29 to 0.34. That is a narrow band. The monotonic direction — wider stop, better money metrics — is the more useful signal here than the magnitude.
Second, the relationship between trade count and win rate is not clean. If a wider stop simply meant "hold more positions to expiry," you would expect a wider stop to also reduce the number of stop-triggered exits and shift the win rate. The trade counts do fall as the stop widens (988, 986, 977) and the win rate does fall with the wider stops, but the 10-cent variant sits between the 8 and 12 on both, which is directionally consistent. What is not clean is why the 10-cent variant has a slightly higher win rate than the 8-cent variant despite having fewer trades. That discrepancy is unresolved in this batch. It could be sample noise, path dependence in which specific contracts triggered which exits, or something in how the exits interacted with the entry gate — we cannot tell from these three runs alone, and we are not going to invent an explanation for it.
Conclusion
Within this single batch, widening the per-fill stop on the 3-minute ETH entry window from 8 to 10 to 12 cents moved PnL, ROI, Sharpe, and max drawdown in the same direction, and the best result came from the widest stop tested. The mechanism is consistent with the numbers: wider stops let positions that would have been cut recover, which shows up as fewer trades and a lower win rate but a better money outcome. The 8-cent variant's higher win rate is the clearest illustration — more small wins, less total profit.
That said, three variants on one 30-day window is not statistical evidence. No sweep or permutation test ran, only the requested comparisons. The spread between the best and worst variant here is modest in absolute terms, and different periods, different risk budgets, and different market regimes can completely reorder results like these. Treat the direction of the result as a hypothesis worth re-testing on other windows, not as a settled finding.
Each of the three variants — the 12-cent winner and both controls — is saved as a runnable Turbine strategy under the slugs above, so the comparison can be re-run and extended on other periods without rebuilding anything.
Disclaimer (Long)
This document is a research note describing a historical simulation. It is not investment advice, not a solicitation, not an offer to buy or sell any security, contract, or financial instrument, and not a recommendation to deploy any strategy described here. Nothing in this document should be read as a prediction of future performance.
The results presented are derived from a 30-day historical simulation of three strategy variants on Kalshi's KXETH15M contract series. Simulation results are not live trading results. They do not account for every real-world friction, and even where they attempt to, the
About this Kalshi strategy backtest
What question does Stop Distance Test investigate?
Test whether a wider per-fill stop improves the 3-minute entry window variant, holding every other rule fixed.
Read the analysis alongside the individual variant results. Check which entry, exit, price-band or risk settings changed, which settings stayed fixed, and whether the report documents enough historical coverage to support its comparison. A different parameter value defines a different simulation; it does not establish a new source of live trading returns.
How many strategy variants are included?
This report lists 3 completed and 0 failed strategy variants. Failed comparisons do not count as successful tests with zero profit. Review trade counts and drawdown alongside net P&L, win rate and Sharpe, and read any coverage or execution caveats in the analysis. A result based on very few trades needs particular care, even when its return looks high.
Does a profitable Kalshi backtest predict live performance?
These are historical simulations. Live results can differ because of liquidity, fees, slippage, latency, market resolution, outages and data quality. Selecting the best result after comparing many variants can also overstate how reliably it will perform on new data. Compare nearby settings, inspect losing variants and test on a separate period before considering a live run. The report is research, not a promise of profit or investment advice.
How can I inspect or test a strategy from this report?
Use an available Open strategy link to inspect that variant. Review its rules, market, date window, fill assumptions, fees and trade history before changing parameters or rerunning it. Confirm which data and execution assumptions the selected market actually supports; a replay does not establish that every historical order could have filled live. For the workflow, read the Kalshi and prediction market backtesting guide. The Kalshi backtesting software page explains the product's supported testing workflow.
This report is generated from historical simulations. Backtests can be wrong or incomplete, and live trading can differ materially because of liquidity, fees, slippage, latency, market resolution, outages, and data quality. Do your own review before running any strategy.