Stonkfun Graduation Predictor
Tabular Transformer trained on 177,110 Stonkfun launches (status='graduated' label,
2.7% positive, time-ordered split).
Leak-free features only: create-time metadata (name/symbol length, fees, creator, hour/dow,
website), the creator's history, launch density, and the first 5 minutes of trading (candle
features and 1-minute bar shapes), computed by stonkfun_features.py, the same code the live
scorer uses. Nothing in training looks past the 5-minute window the live scorer sees.
Served score: gate_score sets the score to 0.0 for a token with no trade inside
its first 5 minutes; the model only ranks tokens that traded. About 60% of graduations first trade
later than that, so they are out of reach of any 5-minute model and count against recall here.
Use
from modeling_stonkfun import load_pretrained
from stonkfun_features import encode, gate_score, row_features
import torch
model, meta = load_pretrained('jrhode666/stonkfun-graduation-predictor')
num, cats = row_features(token_row) # token_row: stonkfun_tokens + candle feature + bar aggregate columns
x_num, x_cat = encode(num, cats, meta)
p = gate_score(num, float(model.predict_proba(torch.from_numpy(x_num)[None], torch.from_numpy(x_cat)[None])[0]))
Training
- 123,976 train / 26,567 val / 26,567 test (time-ordered)
- Raw model output · Val: AUC 0.771, AP 0.155 · Test: AUC 0.719, AP 0.122
- Served score (gated) · Val: AUC 0.656, AP 0.148 · Test: AUC 0.637, AP 0.137; at score >= 0.8: 297 of 26,567 test tokens, precision 28.3%, recall 15.9% (base rate 2.7%)
- Scores are not calibrated probabilities (
pos_weight= neg/pos); tune any threshold on the test split.