Positions domain model
Table of Contents
This page is a capture in the next bucket of the product backlog — a pre-sprint idea, not yet pulled into a sprint as a story.
Implement the positions domain model. A position aggregates the net exposure for a given instrument and book combination, derived from the trade blotter. See plan for context.
Covers long/short positions across all instrument families, backed by one new
temporal table: ores_trading_positions_tbl (book_id, instrument_id,
trade_type_code, quantity, notional, currency, as_of_date, and standard
temporal/audit fields).
Tasks
[ ]SQL:ores_trading_positions_tbl+ notify trigger + drop files[ ]SQL: Register intrading_create.sql,drop_trading.sql[ ]Domain:positionstruct, JSON I/O, table I/O, protocol messages[ ]Repository:positionentity, mapper, repository[ ]Service:position_service[ ]Server: messaging handler + registrar registration[ ]Qt UI:ClientPositionModel,PositionMdiWindow,PositionDetailDialog,PositionHistoryDialog,PositionController,MainWindowintegration[ ]Database: recreate to pick up new table