Kalman
Engine
Documentation menu

Engine room

The live engine page streams two things: one signal per bot per bar, and one gate trace per order. This page is the vocabulary for reading them — what each panel shows, what the decision stream's outcomes mean, and what the page deliberately stops short of claiming.

Two feeds, one page

A bot publishes a state once per bar: the numbers its strategy looked at and the decision it reached — hold, place orders, or withheld because the bar never reached the strategy at all. Every order that decision produces then gets its own trace from the risk gate, independent of the state that produced it: what the gate checked, and whether the order was approved, rejected, or deferred. States render as the per-strategy panels; both states and every gate trace render together, newest first, in the decision stream underneath them.

The feed is observability, not the ledger. A frame that cannot be built or published is dropped rather than retried — nothing on this page is allowed to delay a trade — so it is best-effort and not reconciled against fills the way the live desk is. A gap in the stream is a gap in the stream, not evidence of a gap in trading.

Reading a signal panel

Every strategy's own docs page has the model and the exact live parameters. What follows is only the vocabulary each panel uses to show where the strategy currently sits against them.

Momentum

Warms up silently, showing groups accumulated against the groups required, until it has enough resampled bars to compute anything — no trend test, no size, no position before that. Once warm: the trend test is the fast EMA minus the slow EMA as a percentage of the slow EMA, positive when the fast leg is above the slow one; size is the fraction of capital the volatility target allows, which only ever scales down; the breakout channel plots price against the high and low it would need to clear to enter. A trailing stop and its anchor — the peak price since entry for a long, the trough for a short — appear only while a position is open.

This panel is the one place the strategy's short side is visible while it is happening. The momentum strategy page states why that matters: the published backtest for this strategy is a long-only proxy, so a short position on this panel has no equity curve behind it anywhere on the site.

Stat-arb

A gauge shows the filter's standardized innovation against the entry, exit and stop bands the strategy page publishes, mirrored on both sides of zero. Filter state names which leg capital is currently rotated into, or that the filter has not positioned yet; a cooldown banner appears after a stop, counting down the bars left before the filter is allowed to trade again. Hedge ratio and bars-seen are the filter's own bookkeeping, shown as it sees them.

Grid

The ladder renders as a list of rungs with the live price spliced in at its own place between them. A rung reads Bid when a buy limit is resting there, Held when that level filled and its sell is resting one level up, or carries no label when nothing is resting at it right now. That last case is deliberately not read as "never bought" — a sell the gate cancels for a non-transient reason leaves the ladder for good, and the stream cannot tell that apart from a level that was simply never touched. When spot moves outside the configured range the panel says so directly: the grid is inert there, neither buying nor selling until price re-enters it.

DCA

Shows whether a cycle is open or flat, the volume-weighted average cost, and the take-profit target with its distance from spot. While a cycle is open, the safety ladder is drawn the same way the grid's is: a level is either still resting or has left the book. "Left the book" again covers two cases the stream does not distinguish — the order filled, or the risk gate cancelled it — so the panel reports occupancy, not depth, and says as much next to the bar.

The decision stream

Two row shapes share the stream. A state row ends in one of three decisions — Hold, Orders, or Withheld. A gate row ends in one of three outcomes — Approved, Rejected, or Deferred.

Deferred belongs to the stat-arb rotation specifically: a buy into the cheap leg is parked awaiting the other leg's sell fills rather than judged outright, and it gets a second trace later — released once the sell lands, or rejected on a timeout if it does not land within a short window of bars. A deferred row is a park, not a verdict; do not read it as a final answer on its own.

Bypassed is not a fourth outcome

A gate trace also carries a check-by-check record, and one of those checks can read Bypassed rather than Passed or Failed. That is a property of one check inside a trace, not a fourth outcome for the trace as a whole — a bypassed check only ever shows up on an order that was still approved. Two checks are capable of it: the pause check and the daily-loss floor, and only for an order that both claims to reduce an open position and that the gate's own position math agrees actually shrinks it. The pill renders amber, deliberately never the green of a check that held, because the limit in question really was breached — the gate chose not to enforce it, which is a different fact from the limit having been respected, and rendering it as a pass would erase that difference.

The reason this exists at all is the same one the strategies overview states for the risk gate generally: de-risking is never blocked. Rejecting an order that closes exposure because a bot happens to be paused, or because the day's loss floor was already hit, would leave that position open while refusing every attempt to shrink it — the opposite of what the pause and the floor exist to do.

Staleness, suspect bars, and pause

  • Withheld. A bar whose age at receipt exceeds the staleness allowance never reaches the strategy at all, and its decision reads Withheld rather than Hold. The distinction matters: a hold is an evaluated choice to do nothing, withheld means nothing was evaluated.
  • Suspect. A bar built across a gap in the feed is tagged rather than dropped, so a suspect panel's numbers are real, computed on an input with a hole in it. The tag is carried, not skipped, and nothing downstream currently treats a suspect bar any differently — it is a transparency marker on this page, not a filter, and that is stated rather than implied.
  • Paused. A paused bot keeps evaluating and publishing state; it simply places no new orders, with the single exception the bypassed-check case above describes.
Every ambiguous case above is stated as ambiguous on purpose. Ladder occupancy says "left the book" rather than guessing between a fill and a cancellation; a suspect tag says the input had a gap rather than silently smoothing it away; a dropped frame is a gap in the stream, not a claim about what happened at the venue. The page states only what the underlying data actually distinguishes, and no more.