Glossary of platform terms
One concept, one canonical term. The same word names a concept whether it appears in the interface or in the Signal language, so a reader who starts in the UI and later opens the DSL meets no renamed ideas. Each entry below gives one definition; this is a lookup page.
Signal-language core
Status: implemented.
Signal The core value type: a {timestamp, value} series that also carries the asset classes it derives from. Every accessor returns a Signal, and a standalone program must end on one.
scalar A plain number that is never wrapped in a Signal, such as 252 or 0.5. A Signal divided by a scalar is still a Signal.
accessor A named market-data object you call to retrieve a Signal. Three exist: bar (OHLCV, split- and dividend-adjusted by default), option (chain values and greeks), and time (calendar and session signals).
spine The complete set of valid timestamps for an accessor's asset class. The equity and equity-option spines run 09:31 to the close on NYSE trading days: 390 observations on a normal session, 210 on an early-close day.
union spine The merged set of timestamps two Signals align on when you combine them. It is the union of both operands' timestamps, so a daily series combined with a 15-minute series fires at every 15-minute tick.
backward as-of fill How each operand lands on the union spine: at every timestamp, each Signal carries its most recent prior value forward. Timestamps before a Signal's first observation are null.
observation / observation-count The unit of every rolling and lag window. rolling_mean(x, 20) averages 20 observations of x on its current spine, not 20 days. On a 1-minute series that is 20 minutes; sample to daily first if you want 20 days.
no-lookahead The guarantee that a Signal at any timestamp sees only current and past observations. A daily or bucketed value becomes visible at its session-close label, not intraday.
null Missing data: no row for a timestamp, or a timestamp before a Signal's first observation.
NaN An invalid computation, such as log(0), sqrt(-1), or division by zero. NaN takes precedence over null, and inf becomes NaN.
sampling Point-in-time row selection. sampling(period="day", time="close") picks one observation per period; period="day" defaults to time="close". sample() applies the same selection to an already-computed Signal.
bucketing Window aggregation over each period, defaulting to agg="last". It is mutually exclusive with sampling on one accessor call, and bucket() applies it to a computed Signal. quarter is a valid period for both sampling and bucketing.
dte Days to expiration: the first positional argument of every option method, the target calendar days to a contract's expiry.
log-moneyness The strike measure ln(K/forward), centered on the implied forward, where 0 is at-the-money-forward and ±0.03 is roughly ±3% from the forward. Passed as moneyness on a contract selection, mutually exclusive with delta.
operator / function A built-in like rolling_mean, where, or coalesce, referenced by its exact catalog name. Use the full rolling_* names, never the short forms.
variable A single-assignment name introduced by name = expression. Variables are immutable: assigning the same name twice in one program raises, even in dead code.
Backtest layer
Status: implemented.
leg One contract role in a position, addressed by a strategy slug. leg("short_put") reads the held leg with that slug. Slugs are unique within a strategy.
position The structure currently under evaluation, read with position(). It nets its legs; to read a single leg's exposure, project the leg directly, as in leg("short_put").delta.
book Whole-account state, read with book(). It exposes account-level quantities such as excess liquidity.
lots / size Position size in lots. size is the signed per-lot quantity, where negative is short.
roll Replacing a leg's contract while preserving its slug. The slug stays constant; the contract behind it changes.
entry signal / exit signal The backtest slots that return a truthy Signal and are read level-based. A held-truthy entry attempts an entry at every eligible minute, bounded by the position limits; a held-truthy exit keeps closing whatever is open.
adjustment trigger A backtest slot that returns a truthy Signal evaluated per minute against live book, position, and leg state, firing an action when truthy.
contract selection Choosing the contract a leg holds, returned by option.contract(...). It runs at request time, before any position exists, so a referenced leg resolves to its run-start candidate.
Authoring-UI layer
These four are the settled canonical names, shared by the interface and the DSL.
automation The live-trading feature: a saved strategy running forward on live data.
backtest A run of a strategy over history, and the noun for that feature. The engine runs the strategy; the visual builder configures and launches the run.
results The output of a backtest run: its frames and summary.
the Signal language The name of the DSL, the expression language you write signals and backtest slots in.
UI element vocabulary
These are the element-type words the docs use, each paired in prose with a bold exact on-screen label (for example, click New automation).
tab A top-level navigation section.
panel A bounded region within a screen.
modal (or dialog) An overlay that blocks the page.
field A single input.
toggle A two-state on/off control.
dropdown A select-one-of-many control.
slider A draggable value control.
Cross-surface mapping
Where a UI control and a DSL construct are the same thing, they share one name, stated once on the page that documents the control. The Days to expiration field is the dte argument of a contract selection: set 30 in the field, or write option.contract(dte=30, ...). The same holds for every shared concept in the tables above, so a reader moving between surfaces never has to relearn a term.
The controls in this mapping mirror the DSL constructs they share a name with, one to one.