// 01Why Coffee Desks Need It
The pre-market screen a quant team would build — for a desk that doesn't have one.
Coffee procurement desks live between two clocks. The roaster's blend calendar runs in weeks. The futures market runs in minutes. Between them sits the question that determines the year's coffee P&L: at what price, on what day, in what window, should we bid? Most desks answer that question with a chart, a hunch, and a phone call to a broker. GRINDER answers it with a fitted alpha, a pivot guardrail, an empirical time-of-day distribution, and an audit trail — every morning, in the time it takes to drink the first espresso.
// REASON 01
Sixteen contracts, every morning, in one screen
Front month plus the next seven for both Arabica (KC) and Robusta (RC). Sixteen rows, sixteen targets, sixteen bands, sixteen time windows. The desk no longer triages which contracts to look at — the workflow looks at all of them, every refresh, before the bell.
KC + RC · Front + 7 Deferreds
// REASON 02
A target with a band — not a single number
Every target is published with a ±0.15·ATR band and an intersection against the [S2, P] pivot guardrail. The output is a range the desk can actually bid into, with a floor that respects yesterday's structural support — not a single point estimate that pretends to a precision the model doesn't have.
ATR-Quantile · Pivot Guardrail
// REASON 03
Honest confidence — buckets, not percentages
HIGH, MED, LOW. Three booleans: quiet volatility, small overnight gap, target inside the pivot guardrail. The desk reads the bucket and knows what it's looking at. We do not display a calibrated probability because we have not earned the right to: with 120 sessions of fit data, a bucket is honest and a percentage is theatre.
HIGH · MED · LOW
// REASON 04
Time-of-day window — when the low has actually printed
An empirical histogram of when the daily low has occurred on 1-minute bars over the last 5–7 sessions, smoothed with a triangular kernel. The densest 60-minute window is reported alongside the observed hit rate. The desk knows when, not just where, to be ready.
Empirical · 60-Min Window
// REASON 05
Every input visible, every refresh replayable
A click on any row opens the dossier drawer — the model inputs, the pivot levels, the ATR, the alpha quantile, the session sample for the time-window histogram, and a Haiku-written desk note that reads the row in plain English. Every refresh is snapshotted; any decision can be replayed against the inputs it was made with.
Audit Trail · Replayable
// REASON 06
Where data is proxied, the row says so
Robusta deferred-history is not yet freely available. RC's alpha is proxied from KC continuous, the time window is proxied from KC=F intraday, and the RC-front ATR is a one-day true range. Every substitution surfaces as a DATA-PROXIED badge on the row. The desk sees exactly which inputs are first-class and which are inferred — no silent fallbacks.
DATA-PROXIED Badges