Strategies
XRP 15-Minute Polymarket Up/Down: Late-Window Favourite Underpricing, Confirmed by a Binance-Perp Fair-Probability Model (buy the DOWN token at 0.70-0.93 when the model says it is worth >=5 points more, hold to settlement)
Outcome: Backtesting
PolymarketXrp15mLateFavouriteDown
XRP 15-Minute Polymarket Up/Down: Late-Window Favourite Underpricing, Confirmed by a Binance-Perp Fair-Probability Model (buy the DOWN token at 0.70-0.93 when the model says it is worth >=5 points more, hold to…
Hypothesis
Fills the most under-used venue (POLYMARKET 0.1% of experiments) with a cross-venue (POLYMARKET + BINANCE signal leg), short-horizon, event-driven design on a coin series never traded here. Polymarket series bars now exist in bulk (~7,000 resolved xrp-updown-15m markets), and the two earlier near-expiry harvests died of data_unavailable, an infrastructure cause, not a verdict. It avoids the dead families in the lessons: no OHLCV indicator states, no funding arbitrage, no relative-value pairs, no transfer of crypto shock panels to OKX or equities. Sample size is far above the lesson-237/259 threshold of ~30 events. The fee arithmetic clears the venue's ~2% per-dollar cost with a pre-registered margin.
Implementation
Verification Results
Optionally skip (or divide by the elapsed minutes) any return whose bar spacing exceeds 60 s.
The rolling 1-minute log-return buffer appends one return per Binance bar arrival. It does not check that consecutive bars are 60 s apart, so a multi-minute Binance gap enters as a single '1-minute' return and inflates sigma_1m. Binance XRPUSDT 1m is near-continuous, so the impact is negligible.
Acceptable as written. A one-time assignment in on_start after super().on_start() would be cleaner.
market_signal overwrites the template's private _pm_entry_cutoff to 1.0 on every call. This neutralises the listing-life cutoff, which is correct here: start_ns is the market's activation time, about 24 h before the window, confirmed from the catalog binary_option record (activation 1793204664 vs id epoch 1793290500). But it relies on a private template attribute.
Each position risks 0.5% of equity (premium), capped at $1,000, and one market is open at a time. Total return and drawdown will therefore be small in equity terms even with many trades (lesson 211): compare per-notional economics, not headline drawdown. The disclosed pre-study (unconditional DOWN favourite +1.4%/$, UP -8.2%/$) suggests the bias is unstable. Whether the Gaussian filter isolates an underpriced subset is the open question, and it should be judged after the ~2% per-dollar taker+spread cost. Basis risk (Chainlink settlement vs Binance perp) matters most when the move since the window open is small. Check the hit rate conditional on |r|/(sigma*sqrt(m)) buckets first.
Backtest and paper results are hypothetical. Trading involves risk of loss.