The Lab

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from this space and version 1.4.17

...

MAPI trading functions supported for all API users.

FunctionInterbankPrime Broker Client (PBC)Prime Brokerage (PB)
FX SpotSupportedSupportedN/A
FX SwapNot SupportedN/AN/A
Drop Copy (STP)SupportedSupportedNot Supported
STU ManagementN/AN/ANot Supported
PBC Session ControlN/AN/ANot Supported
MOS & MOOPISupportedN/ANot Supported


Info
titleTrading Constraints
  • Currency LegCurrency - Must be base currency of the instrument.
  • Price LegPrice - Must be a multiple of the pip size and not exceed the left or right decimal place limits.
  • OrderQty LegOrderQty - Must be greater than the instruments minimum quantity , a multiple of the instruments lot size and less than the instruments maximum order size.
  • LegAllocAccount - Not Mandatory but can be populated in NewOrderMultiLeg message and is echoed back in ExecutionReport but not validated by MAPI. 
  • LegGroup - Supported value is "Domestic" for "EUR/ISK" SPT only. 


Info
titleDropCopy Session
  • ExecutionReport with OrdStatus calculated is received when MAPI service sends TradeCapture reports.
  • Clients can choose to receive these ExecutionReports on Trading session or on DropCopy session. Please contact MarketFactory Support for a preferred setup.
  • ExecutionReports on DropCopy session will not have all order attributes populated. e.g: LegCumQty, LegLeavesQty etc.

...

Note
titleExecutionReports: ExecID

MAPI ExecID is not unique per ExecutionReport. Multiple ExecutionReports generated by the same event will have same ExecID. e.g Multiway matches, Unsolicited cancels due to logout etc.

To maintain the uniqueness of ExecID in Clients ExecutionReport, it is constructed as below using venue's MatchID/ExecType/ClOrdID.

  • For PartiallyFilled/Filled Execution Reports Venue TrdMatchID is the ExecID.
  • For New/Canceled/PendingCancel/Rejected/Expired Execution Reports ExecID is "MF:ExecID:ExecType:ClOrdID".
  • PendingNew  Execution Reports ExecID is "MF:ClOrdID".


Note
titleExecutionReports: ExecType vs OrdStatus

Clients will receive two ExecutionReports for each Fill/PartialFill as per below:

  1. ExecType:PendingMatch, OrdStatus: PartiallyFilled/Filled.
  2. ExecType:Trade, OrdStatus: PartiallyFilled/Filled.

There can be a delay between the PendingMatch and the Trade ExecutionReports received from MAPI. In such cases, it is possible for the client to receive ExecutionReport with OrdStatus Canceled followed by Trade/PartialFill.

Algo Selection

MAPI supports MoreQty order in addition to native Iceberg Order, where order is cancelled automatically when MaxShow amt is filled.


Iceberg Order Variations


Maxshow

TargetStategy
IcebergMoreQty
MoreQty Order
Native Iceberg Order

Iceberg Order with Strategy Parameters


The table below sets out the Iceberg order Strategy parameters and combinations currently supported.

StrategyParameterNameStrategyParameterTypeStrategyParameterValueConditions
TargetStrategyStringIcebergMaxshow not populated
TipSpecificationTypeStringD - Defined
R - Random

SPN1=TargetStrategy

SPV2=Iceberg

FirstTipQtyPrimary First Tip Qty (eg:1000000)

SPN1=TipSpecificationType

SPV2=Defined

SecondTipQtyPrimary Second Tip Qty (eg:2000000)

SPN1=TipSpecificationType

SPV2=Defined

ThirdTipQtyPrimary Thrid Tip Qty (eg:3000000)

SPN1=TipSpecificationType

SPV2=Defined

MinimumRandomTipQtyThe lower bound for the randomly chosen quantity

SPN1=TipSpecificationType

SPV2=Random

MaximumRandomTipQtyThe upper bound for the randomly chosen quantity

SPN1=TipSpecificationType

SPV2=Random

DelayIntThe delay used between refreshes

The ID number of the chosen delay range .

  1. SPN : StrategyParameterName
  2. SPV : StrategyParameterNameStrategyParameterValue