Quantstrip docs
Open Dashboard

Most orders attribute automatically. Orders that require manual handling are managed here: confirming pending events, attributing or voiding unattributed trades, and identifying discrepancies between strategy and broker-reported positions.

Trade Operations page showing the Strategy Events tab with expandable event rows
assets/screenshots/trade_ops_strategy_events.png Screenshot not yet added — drop the file above into docs/assets/screenshots/ and it will appear here automatically.
Trade Operations — Strategy Events tab

Static Data

CRUD for the two reference tables the rest of this page depends on: brokers and strategies. Brokers and strategies must be created here before they can be referenced elsewhere on this page.

Strategy Events

The full history of strategy_event rows — every status, not just exceptions — filterable by rolling time window, strategy, and symbol. Each row expands (via a chevron) to show its underlying order and that order's executions.

ConceptWhat it means
Trade time The event's event_time — when the trade actually happened.
Event time The event's create_time — when the row was written to the DB. The "Order by" dropdown lets you sort by either.
Status PENDING or CONFIRMED. There is no FAILED status. Confirming a zero-fill event (position unchanged) and confirming a partial fill are the same operation, differing only in target position.

Confirming a PENDING row opens a single inform-and-confirm modal: no editable fields, no note, no picker. It displays the result of confirming (computed with the same formula the strategy's own automated confirm pass uses) and applies it on click. An event cannot be confirmed until the NYSE session it was created in has closed, since the order may still be live at the broker and its fill state is not yet final.

"Add strategy event…" is a separate inline panel that expands below the tabs. Select a strategy and an action — Open, Increase, Decrease, or Close — and the panel lists only the orders eligible for that action given the strategy's current position. This panel is also where the Unattributed Trades tab (below) routes attribution.

Deleting a manually-added event is restricted to the single latest event on a given strategy/symbol pair, preventing gaps in the history.

Positions

One row per symbol. One column per strategy shows its current confirmed position, summed across every broker it trades on. One column per broker shows that broker's latest reported position. A rightmost Delta column shows summed strategy positions minus summed broker positions. Delta should be approximately zero when strategy and broker positions are fully reconciled; a nonzero Delta indicates an attribution or reconciliation discrepancy.

Broker columns are currently empty. The nightly broker-reconciliation job that populates reported broker positions has not been built yet. Every broker cell, and therefore every Delta, renders as a dash rather than zero, since a zero value would be indistinguishable from a broker-confirmed flat position. The tab is built against the production schema, so broker cells will populate once that job ships, with no changes required to this tab.

Unattributed Trades

Every order still sitting with strategy_id = -1 — one row per order (symbol, side, time, PnL if any, fill/total). Each row's dropdown offers only the strategies actually eligible for that specific trade: the same OPEN/INCREASE/DECREASE/CLOSE rule table from the Add Event panel, applied in reverse per strategy against that order's side, quantity, and PnL, plus a permanent Void option.

Selecting a strategy does not attribute the trade directly. It navigates to the Strategy Events tab with the Add Event panel open, pre-filled with that strategy, the order's symbol, the resulting action, and the order itself pre-selected. Attribution logic is implemented once, in the Add Event panel's apply logic; this is a navigation shortcut into that workflow, not a separate implementation.

Selecting Void instead permanently excludes the order from this list. This is a simpler operation with no strategy event and no position tracking, for orders that will never be attributed to a strategy. Voided orders are hidden by default; a "Show voided trades" checkbox reveals them, and a voided row can be re-attributed to a strategy the same way as any other row.