OneSideReport

Enter a one-sided trade report into the System.

Both parties to a one-sided trade report may enter their side of the deal to produce a matched trade. Alternatively, one side can enter and the other side can confirm.

One-sided trade reports, once matched, appear as Orders in the System.

The two sides of a one-sided trade report will match and generate a trade if the Instrument, Price, Quantity and Tag fields all match, with one side being the Buy and the other being the Sell and the User fields matching the respective CounterParty fields on the other side.

Metadata

  • Message Type: TransactionMessage
  • Message Number: 1004

Inherited fields

NameTypeSize (bytes)Description
MessageTypeInteger (unsigned)2The unique identifier of this message.
ClientIdInteger (unsigned)4The unique identifier of a session with the server, returned in a successful LoginReply message.
RequestIdInteger (unsigned)4Within each session each message must be uniquely identified by this field. It must be monotonically increasing for the duration of the session.

Fields

NameTypeSize (bytes)Description
InstrumentMarketForeign key to InstrumentMarket8The Id of the InstrumentMarket for which the one-sided trade report is being entered.
UserForeign key to User8If the one-sided trade report is being entered on behalf of another User, this is the Id for that User. Otherwise set to 0.
CounterPartyForeign key to User8The Id of the counterparty User with whom the one-sided trade report was done.
CounterPartyShortNameString24The ShortName of the counterparty User with whom the one-sided trade report was done.
SideOne of OrderSide1Whether this is a Buy (0) or a Sell (1).
TypeSet of OrderType4
PriceInteger (signed)8The price for the Order. It is entered as an integer with the decimal places implied. The number of decimals is given by the PriceDecimals of the InstrumentMarket for the Order.
TotalQuantityInteger (signed)8The quantity for the one-sided trade report. It is entered as an integer with the decimal places implied. The number of decimals is given by the QuantityDecimals of the InstrumentMarket for the one-sided trade report.
AccountForeign key to Account8The Account for a netogiated deal is optional and may be specified either as an Id if Accounts are being maintained in the Matching Engine (using this field) or as a text code. This field is used if Account is specified as an Id, or set to 0 if not used.
AccountCodeString40The Account for a one-sided trade report may be specified as a plain-text code using this field. If the Account is non-zero then AccountCode will be ignored.
TagString50If the Instrument for which the one-sided trade report is being entered is a Tagged Instrument, Tag is the plain-text code that uniquely identifies the specific instance of the Instrument to be bought or sold.
ExpiryDateInteger (signed)4The expiry date of the one-sided trade report as an integer in the form YYYYMMDD. If there is no expiry date, set to 0. The one-sided trade report must be matched by the counter party before it expires.
ExpiryTimeInteger (signed)4The expiry time of the one-sided trade report as an integer in the form HHMMDD. If there is no expiry date, set to 0. The one-sided trade report must be matched by the counter party before it expires.
LiveForInteger (unsigned)4If non-zero may be a number of seconds for which the one-sided trade report will remain live, must be less than number of seconds left in trading day.

Permissions


OneSideReport

{
	instrumentmarket: "test-im4",
	side: OrderSide.Buy,
	type: OrderType.GoodtillDate + OrderType.OneSideReport,
	price: 1,
	totalquantity: 1,
	counterparty: "test-user5",
}

Permission Checks

PermissionActionTableScopeIndex
ReportTradeInstrumentMarketInstance3
ViewMarketInstance0
AllowBuyOrSellMarketInstance0

Test file: OneSideReport