LightGBM classifier that predicts swing events on Polymarket BTC binary markets.
Specifically: given that the YES token price has entered a cheap zone (≤ 0.35),
will it swing back up to ≥ 0.75 before market expiry?
Problem
Polymarket lists 5-minute BTC binary markets (e.g. "Will BTC be above $X at 14:05?").
YES tokens trade between 0 and 1. When YES drops to ≤ 0.35, the market is pricing
a ~35% or lower probability of BTC being above the strike. This model predicts whether
that cheap YES will swing back above 0.75 — a +140% return on the token price.
Model performance (latest)
Metric
Value
CV ROC-AUC (5-fold)
0.706 ± 0.016
Test ROC-AUC
0.715
Test PR-AUC
0.740
Train/test gap
0.100 (healthy)
Precision @0.63 threshold
~85%
EV per trade @0.63
+0.553
Trained on ~3,200 markets across multiple days of Polymarket tick data.
A 24-hour sample of real Polymarket tick data is included at sample_data/sample.csv (~25MB).
This covers ~200 markets and is enough to test the full pipeline end-to-end.
It is not enough to train a competitive model — for that you need several weeks of data
collected from your own Polymarket feed.
bash
1# test the pipeline with the sample2python src/predict.py sample_data/sample.csv
Data format
Your CSV needs one row per second per market with these raw columns: