Skip to content

[FIX] Order Entry session (prediction + perps) #424

Closed

Description

@TexasCoding

Scope

FIX Order Entry (OE) message flow for both products over the shared session engine.

Messages

  • Outbound: NewOrderSingle (35=D), OrderCancelRequest (35=F), OrderCancelReplaceRequest (35=G), OrderMassCancelRequest (35=q).
  • Inbound: ExecutionReport (35=8), OrderCancelReject (35=9), OrderMassCancelReport (35=r), BusinessMessageReject (35=j).

Work

  • Typed order vocabulary mapping to/from FIX: Side (54: BUY_YES/SELL_NO), OrdType (40: LIMIT), TimeInForce (59), SelfTradePreventionType (2964), ExecInst (POST_ONLY), OrderGroupID, MaxExecutionCost, AllocAccount.
  • Money/qty precision: DollarDecimal for prices, FixedPointCount for quantities. Perps: fixed-point dollars (≤6dp) + FixedPointCount (≤2dp) with UseDollars on; prediction: integer cents unless UseDollars.
  • NoPartyIDs/NoMiscFees/NoCollateralAmountChanges groups (depends on repeating-group support).
  • Typed send helpers on FixClient/MarginFixClient and typed inbound delivery (ExecutionReport stream / callback).

Acceptance

Golden round-trip fixtures for every OE message; state tests for order lifecycle (New → PartiallyFilled → Filled, Cancel, Replace, Reject) against the mock acceptor. ruff + mypy --strict clean.

Dependencies

Foundation #422; repeating-group support. Part of #402.

Activity

  1. added
    enhancementNew feature or request
    perpsPerps / margin (perpetual futures) API
    on Jun 5, 2026
  2. added 2 commits that reference this issue on Jun 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestperpsPerps / margin (perpetual futures) API

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions