Patterns · Table and dates
Table with a date range
A period filter over a table. The range is two calendar dates, the instrument is a searchable list, and the table itself stays a table: formatted values in, no fetching, no recomputation.
Filter form
The controls live in a filter form rather than a loose toolbar, so the same values can be submitted, reset or validated.
Inclusive at both ends; presets are consumer-defined.
Search, then choose.
36 of 64 runs
| Equity | ||||||||
|---|---|---|---|---|---|---|---|---|
| MSFT | Regime switch | Paused | 0.07 | 2.6% | 855 | Sep 24 | ||
| NVDA | Trend breakout | Live | 0.37 | 11.2% | 191 | Sep 23 | ||
| BTC-USD | Funding basis | Draft | 1.97 | 19.5% | 268 | Sep 23 | ||
| ETH-USD | Funding basis | Paused | 0.43 | 32.1% | 630 | Sep 23 | ||
| CL | Trend breakout | Live | -0.30 | 21.6% | 195 | Sep 22 | ||
| GC | Trend breakout | Draft | 1.87 | 30.9% | 304 | Sep 22 | ||
| SOL-USD | Volatility carry | Live | 0.62 | 6.0% | 672 | Sep 22 | ||
| MSFT | Trend breakout | Failed | 0.33 | 9.4% | 223 | Sep 21 | ||
| ETH-USD | Trend breakout | Draft | 2.07 | -0.3% | 600 | Sep 21 | ||
| GC | Funding basis | Paused | 1.73 | 35.0% | 191 | Sep 20 | ||
| AAPL | Cross-sectional momentum | Paused | 1.65 | 15.1% | 350 | Sep 20 | ||
| NVDA | Mean reversion | Live | -0.22 | 10.7% | 156 | Sep 20 | ||
| NVDA | Trend breakout | Live | 1.54 | 21.7% | 769 | Sep 19 | ||
| ETH-USD | Volatility carry | Draft | 1.36 | 37.9% | 24 | Sep 16 | ||
| AAPL | Mean reversion | Failed | 0.06 | 14.1% | 560 | Sep 16 | ||
| SOL-USD | Volatility carry | Failed | 0.12 | 13.4% | 820 | Sep 16 | ||
| SPX | Mean reversion | Failed | -0.08 | 33.7% | 285 | Sep 15 | ||
| NVDA | Trend breakout | Paused | 1.27 | 35.7% | 918 | Sep 14 | ||
| MSFT | Cross-sectional momentum | Draft | 1.35 | 31.4% | 257 | Sep 14 | ||
| BTC-USD | Volatility carry | Paused | 2.00 | 41.7% | 341 | Sep 13 |
1–20 of 36 rows
16,053 trades across the filtered runs.
Why the range is not a timestamp
A research window is a pair of dates. Turning it into an instant — start-of-day in Tokyo, end-of-day in UTC — is the query layer's decision, and it stays there.
The component returns
{ start: CalendarDate, end: CalendarDate }
The consumer decides
Which zone, which clock, and whether the end is inclusive of the whole day.