Block Trade

Block Trade

MESSAGE SPECIFICATION


Trade Capture Report (MsgType = AE): Block Trades

The Trade Capture Report message can be:

  • Used by the broker to send a Block Trade to be confirmed by the counterparties.

  • Used by the exchange to notify to market about the new Block Trade to be confirmed.

  • Used by the exchange to send a Block Trade to be confirmed by the counterparties.

  • Used by the exchange to notify the Block Trade acceptation, or declination.

Tag

FixName

Req

Valid Values

Data Type

Description

 Standard Header

31

LastPx

Y

 

Price

Trade Price.

32

LastQty

Y

 

Qty

Trade Quantity.

55

Symbol

Y

 

String

Instrument symbol Name

207

SecurityExchange

N

 

String

Security exchange identifier. Value defined ROFX.

60

TransactTime

N

 

UTCTimestamp

Timestamp when the business transaction represented by the message occurred.

75

TradeDate

N

 

String

Indicates date of trade referenced in this message in YYYYMMDD format.

150

ExecType

C

0 = New
4 = Canceled
C = Expired
F = Trade

char

Type of execution being reported. Sent the value:
New (0): Report BlockTrade request created and awaiting confirmation (does not represent a confirmed trade).
Canceled (4): One or more parties rejected the request.
Expired (C): No response received within the allowed time.
Trade (F): Report all required parties accepted the request.

487

TradeReportTransType

C

0 = New

Int

Identifies Trade Report message transaction type.
Required to create a new BlockTrade.

570

PreviouslyReported

N

N = Not reported to counterparty

Boolean

Indicates if the trade capture report was previously reported to the counterparty.

571

TradeReportID

Y

 

String

Unique identifier of Trade Capture Report (AE)

572

TradeReportRefID

N

 

String

The TradeReportID that is being referenced for some action, such as correction or cancellation.

828

TrdType

Y

1 = BLOCK_TRADE

Int

Type of Trade.

856

TradeReportType

N

0 = Submit
1 = Alleged
2 = Accept
3 = Decline

Int

Type of Trade Report.
Submit (0): use by the broker to request Registration and by the exchange to notify about the new BlockTrade request.
Alleged (1): use by the exchange to send a BlockTrade to be confirmed by the involved parties.
Accept (2): use by the exchange to report Blocktrade acceptance.
Decline (3): use by the exchange to report Blocktrade declination (either explicitly by one of the parties or due to a confirmation timeout).

880

TrdMatchID

C

 

String

Identifier assigned to a trade by the matching system.

1925

TradeClearingInstruction

C

2 = Bilateral netting only
6 = Clear against central counterparty (Guaranteed)

Int

Specifies the eligibility of this trade for clearing and central counterparty processing.
Required when the instrument has the field ClearingInstruction(577) complete in the securityList message.

552

NoSides

Y

2 = Both Sides

NumInGroup 

Number of Sides.

->

54

Side

Y

1 = Buy
2 = Sell

Char

Side of order.

->

37

OrderID

N

 

String

Unique identifier for Order as assigned by sell-side (broker, exchange, ECN).

->

1

Account

Y

 

String

Account mnemonic as agreed between buy and sell sides.
e.g. broker and institution or investor/intermediary and fund manager.

->

40

OrderType

N

2 = Limit

Char

Order type from the order associated with the trade.
Sent only when TradeReportType (856) = 0

Block RootParties

N

 

 

Insert here the set of “Root Parties” fields defined in Block RootParties
If TradeReportType(856) = 1 and TradeClearingInstruction(1925) = 2, the name of the counterparty is sent.
If TradeReportType(856) = 3 and it was not rejected by timeout, the user who rejected the BT is sent.

 Standard Trailer

 


TradeCaptureReportAck (MsgType = AR): Block Trades

The Trade Capture Report Ack message can be:

  • Used by the market to inform about the Block Trades request reception.

  • Used by the client to accept or reject a Block Trades received from a counterparty.

Tag

FixName

Req

Valid Values

Data Type

Description

Standard Header

31

LastPx

N

 

Price

Trade Price.

32

LastQty

N

 

Qty

Trade Quantity.

55

Symbol

Y

 

String

Instrument symbol Name

207

SecurityExchange

N

 

String

Security exchange identifier. Value defined ROFX.

58

Text

C

 

String

Free format text string, used to inform about cause of rejection
Sent only when ExecType(150) = 8.

60

TransactTime

N

 

UTCTimestamp

Timestamp when the business transaction represented by the message occurred.

150

ExecType

N

0 = New
8 = Rejected

Char

Type of Execution being reported:
Uses subset of ExecType for Trade Capture Reports.

571

TradeReportID

Y

 

String

Unique identifier of “trade capture report”.

572

TradeReportRefID

Y

 

String

Unique Broker identifier of “trade capture report”.

828

TrdType

Y

1 = Block Trade

Int

Type of Trade

856

TradeReportType

Y

2 = Accept
3 = Decline

Int

Type of trade report.

880

TrdMatchID

Y

 

String

Identifier assigned to a trade by a matching system.

552

NoSides

Y

2 = Both Sides

NumInGroup 

Number of Sides.

->

54

Side

C

1 = Buy
2 = Sell

Char

Side of order.

->

1

Account

C

 

String

Account mnemonic as agreed between buy and sell sides.

 Standard Trailer


Block Trade Message sequence diagram

Case with accepted Block Trade

Diagram:

image-20251205-194340.png

 

Example messages:

Broker

#New Block Trade Request 8=FIXT.1.1|9=134|35=AE|34=49|49=BT_Broker|52=20251203-19:06:50.496|56=ROFX|31=50|32=7|55=Instrument 01|487=0|571=BT_ID|828=1|552=2|54=1|1=01|54=2|1=02|10=164| #New Block Trade Request ack 8=FIXT.1.1|9=149|35=AR|34=105|49=ROFX|52=20251203-19:06:50.892|56=BT_Broker|55=Instrument 01|60=20251203-19:06:50.599|150=0|207=ROFX|571=BT_ID|828=1|856=1|880=BT2001|10=209| #Notify the Block Trade acceptation, or declination 8=FIXT.1.1|9=242|35=AE|34=108|49=ROFX|52=20251203-19:08:08.952|56=BT_Broker|31=50|32=7|55=Instrument 01|60=20251203-19:08:08.436|75=20251203-19:08:08.436|150=F|207=ROFX|570=N|571=3006|572=BT_ID|828=1|856=2|880=BT2001|552=2|54=1|37=3001|1=01|54=2|37=3001|1=02|10=152|

Client_A

#Notify about the new Block Trade to be confirmed 8=FIXT.1.1|9=218|35=AE|34=96|49=ROFX|52=20251203-19:06:50.921|56=Client_A|31=50|32=7|55=Instrument 01|60=20251203-19:06:50.599|75=20251203-19:06:50.599|150=0|207=ROFX|570=N|571=3001|572=BT_ID|828=1|856=0|880=BT2001|552=1|54=1|37=|1=01|10=031| #A Block Trade is sent to be confirmed by the parties involved 8=FIXT.1.1|9=258|35=AE|34=97|49=ROFX|52=20251203-19:06:50.923|56=Client_A|31=50|32=7|55=Instrument 01|60=20251203-19:06:50.599|75=20251203-19:06:50.599|150=0|207=ROFX|570=N|571=BT2002|572=BT_ID|828=1|856=1|880=BT2001|552=1|54=1|37=-|1=01|1116=1|1117=BT_Broker|1118=D|1119=11|10=061| #Block Trade confirmation 8=FIXT.1.1|9=134|35=AR|34=55|49=Client_A|52=20251203-19:08:05.952|56=ROFX|55=Instrument 01|571=BT2002|572=BT_ID|828=1|856=2|880=BT2001|552=1|54=1|1=01|10=053| #Notify the Block Trade acceptation, or declination 8=FIXT.1.1|9=223|35=AE|34=100|49=ROFX|52=20251203-19:08:08.952|56=Client_A|31=50|32=7|55=Instrument 01|60=20251203-19:08:08.436|75=20251203-19:08:08.436|150=F|207=ROFX|570=N|571=3009|572=BT_ID|828=1|856=2|880=BT2001|552=1|54=1|37=3001|1=01|10=032|

Client_B

#Notify about the new Block Trade to be confirmed 8=FIXT.1.1|9=218|35=AE|34=93|49=ROFX|52=20251203-19:06:50.921|56=Client_B|31=50|32=7|55=Instrument 01|60=20251203-19:06:50.599|75=20251203-19:06:50.599|150=0|207=ROFX|570=N|571=3002|572=BT_ID|828=1|856=0|880=BT2001|552=1|54=2|37=|1=02|10=032| #A Block Trade is sent to be confirmed by the parties involved 8=FIXT.1.1|9=258|35=AE|34=94|49=ROFX|52=20251203-19:06:50.923|56=Client_B|31=50|32=7|55=Instrument 01|60=20251203-19:06:50.599|75=20251203-19:06:50.599|150=0|207=ROFX|570=N|571=BT2003|572=BT_ID|828=1|856=1|880=BT2001|552=1|54=2|37=-|1=02|1116=1|1117=BT_Broker|1118=D|1119=11|10=062| #Block Trade confirmation 8=FIXT.1.1|9=134|35=AR|34=53|49=Client_B|52=20251203-19:08:08.335|56=ROFX|55=Instrument 01|571=BT2003|572=BT_ID|828=1|856=2|880=BT2001|552=1|54=2|1=02|10=053| #Notify the Block Trade acceptation, or declination 8=FIXT.1.1|9=222|35=AE|34=97|49=ROFX|52=20251203-19:08:08.952|56=Client_B|31=50|32=7|55=Instrument 01|60=20251203-19:08:08.436|75=20251203-19:08:08.436|150=F|207=ROFX|570=N|571=3008|572=BT_ID|828=1|856=2|880=BT2001|552=1|54=2|37=3001|1=02|10=000|

Client_C

#Notify about the new Block Trade to be confirmed 8=FIXT.1.1|9=218|35=AE|34=91|49=ROFX|52=20251203-19:06:50.921|56=Client_C|31=50|32=7|55=Instrument 01|60=20251203-19:06:50.599|75=20251203-19:06:50.599|150=0|207=ROFX|570=N|571=3003|572=BT_ID|828=1|856=0|880=BT2001|552=1|54=2|37=-|1=-|10=024| #Notify the Block Trade acceptation, or declination 8=FIXT.1.1|9=218|35=AE|34=94|49=ROFX|52=20251203-19:08:08.952|56=Client_C|31=50|32=7|55=Instrument 01|60=20251203-19:08:08.436|75=20251203-19:08:08.436|150=F|207=ROFX|570=N|571=3007|572=BT_ID|828=1|856=2|880=BT2001|552=1|54=2|37=-|1=-|10=054|

 

Case with declined Block Trade

Diagram:

image-20251204-003756.png

Example messages:

Broker

#New Block Trade Request 8=FIXT.1.1|9=134|35=AE|34=75|49=BT_Broker|52=20251203-19:19:29.615|56=ROFX|31=50|32=7|55=Instrument 01|487=0|571=BT_ID|828=1|552=2|54=1|1=01|54=2|1=02|10=166| #New Block Trade Request ack 8=FIXT.1.1|9=149|35=AR|34=131|49=ROFX|52=20251203-19:19:29.859|56=BT_Broker|55=Instrument 01|60=20251203-19:19:29.735|150=0|207=ROFX|571=BT_ID|828=1|856=1|880=BT2004|10=226| #Notify the Block Trade acceptation, or declination 8=FIXT.1.1|9=270|35=AE|34=133|49=ROFX|52=20251203-19:20:20.603|56=BT_Broker|31=50|32=7|55=Instrument 01|60=20251203-19:20:20.464|75=20251203-19:20:20.464|150=4|207=ROFX|570=N|571=3016|572=BT_ID|828=1|856=3|880=BT2004|552=2|54=1|37=|1=01|54=2|37=|1=02|1116=1|1117=Client_B|1118=D|1119=11|10=210|

Client_A

#Notify about the new Block Trade to be confirmed 8=FIXT.1.1|9=219|35=AE|34=123|49=ROFX|52=20251203-19:19:29.859|56=Client_A|31=50|32=7|55=Instrument 01|60=20251203-19:19:29.735|75=20251203-19:19:29.735|150=0|207=ROFX|570=N|571=3011|572=BT_ID|828=1|856=0|880=BT2004|552=1|54=1|37=|1=01|10=099| #A Block Trade is sent to be confirmed by the parties involved 8=FIXT.1.1|9=259|35=AE|34=124|49=ROFX|52=20251203-19:19:29.860|56=Client_A|31=50|32=7|55=Instrument 01|60=20251203-19:19:29.735|75=20251203-19:19:29.735|150=0|207=ROFX|570=N|571=BT2005|572=BT_ID|828=1|856=1|880=BT2004|552=1|54=1|37=-|1=01|1116=1|1117=BT_Broker|1118=D|1119=11|10=121| #Block Trade acceptation 8=FIXT.1.1|9=134|35=AR|34=80|49=Client_A|52=20251203-19:20:17.622|56=ROFX|55=Instrument 01|571=BT2005|572=BT_ID|828=1|856=2|880=BT2004|552=1|54=1|1=01|10=048| #Notify the Block Trade acceptation, or declination 8=FIXT.1.1|9=255|35=AE|34=126|49=ROFX|52=20251203-19:20:20.603|56=Client_A|31=50|32=7|55=Instrument 01|60=20251203-19:20:20.464|75=20251203-19:20:20.464|150=4|207=ROFX|570=N|571=3014|572=BT_ID|828=1|856=3|880=BT2004|552=1|54=1|37=|1=01|1116=1|1117=Client_B|1118=D|1119=11|10=039|

Client_B

#Notify about the new Block Trade to be confirmed 8=FIXT.1.1|9=219|35=AE|34=120|49=ROFX|52=20251203-19:19:29.859|56=Client_B|31=50|32=7|55=Instrument 01|60=20251203-19:19:29.735|75=20251203-19:19:29.735|150=0|207=ROFX|570=N|571=3013|572=BT_ID|828=1|856=0|880=BT2004|552=1|54=2|37=|1=02|10=101| #A Block Trade is sent to be confirmed by the parties involved 8=FIXT.1.1|9=259|35=AE|34=121|49=ROFX|52=20251203-19:19:29.860|56=Client_B|31=50|32=7|55=Instrument 01|60=20251203-19:19:29.735|75=20251203-19:19:29.735|150=0|207=ROFX|570=N|571=BT2006|572=BT_ID|828=1|856=1|880=BT2004|552=1|54=2|37=-|1=02|1116=1|1117=BT_Broker|1118=D|1119=11|10=122| #Block Trade declination 8=FIXT.1.1|9=134|35=AR|34=78|49=Client_B|52=20251203-19:20:20.354|56=ROFX|55=Instrument 01|571=BT2006|572=BT_ID|828=1|856=3|880=BT2004|552=1|54=2|1=02|10=056| #Notify the Block Trade acceptation, or declination 8=FIXT.1.1|9=255|35=AE|34=123|49=ROFX|52=20251203-19:20:20.603|56=Client_B|31=50|32=7|55=Instrument 01|60=20251203-19:20:20.464|75=20251203-19:20:20.464|150=4|207=ROFX|570=N|571=3017|572=BT_ID|828=1|856=3|880=BT2004|552=1|54=2|37=|1=02|1116=1|1117=Client_B|1118=D|1119=11|10=042|

Client_C

#Notify about the new Block Trade to be confirmed 8=FIXT.1.1|9=219|35=AE|34=117|49=ROFX|52=20251203-19:19:29.859|56=Client_C|31=50|32=7|55=Instrument 01|60=20251203-19:19:29.735|75=20251203-19:19:29.735|150=0|207=ROFX|570=N|571=3012|572=BT_ID|828=1|856=0|880=BT2004|552=1|54=2|37=-|1=-|10=099| #Notify the Block Trade acceptation, or declination 8=FIXT.1.1|9=255|35=AE|34=119|49=ROFX|52=20251203-19:20:20.603|56=Client_C|31=50|32=7|55=Instrument 01|60=20251203-19:20:20.464|75=20251203-19:20:20.464|150=4|207=ROFX|570=N|571=3015|572=BT_ID|828=1|856=3|880=BT2004|552=1|54=2|37=-|1=-|1116=1|1117=Client_B|1118=D|1119=11|10=038|

 

Case with timeout cancellation Block Trade

Diagram:

image-20260128-174155.png

 

Example messages:

Broker

#New Block Trade Request 8=FIXT.1.1|9=134|35=AE|34=99|49=BT_Broker|52=20251203-19:30:38.140|56=ROFX|31=50|32=7|55=Instrument 01|487=0|571=BT_ID|828=1|552=2|54=1|1=01|54=2|1=02|10=158| #New Block Trade Request ack 8=FIXT.1.1|9=149|35=AR|34=155|49=ROFX|52=20251203-19:30:38.402|56=BT_Broker|55=Instrument 01|60=20251203-19:30:38.267|150=0|207=ROFX|571=BT_ID|828=1|856=1|880=BT2007|10=205| #Notify the Block Trade acceptation, or declination 8=FIXT.1.1|9=234|35=AE|34=161|49=ROFX|52=20251203-19:33:38.417|56=BT_Broker|31=50|32=7|55=Instrument 01|60=20251203-19:33:38.267|75=20251203-19:33:38.267|150=C|207=ROFX|570=N|571=3024|572=BT_ID|828=1|856=3|880=BT2007|552=2|54=1|37=|1=01|54=2|37=|1=02|10=008|

Client_A

#Notify about the new Block Trade to be confirmed 8=FIXT.1.1|9=219|35=AE|34=148|49=ROFX|52=20251203-19:30:38.402|56=Client_A|31=50|32=7|55=Instrument 01|60=20251203-19:30:38.267|75=20251203-19:30:38.267|150=0|207=ROFX|570=N|571=3021|572=BT_ID|828=1|856=0|880=BT2007|552=1|54=1|37=|1=01|10=073| #A Block Trade is sent to be confirmed by the parties involved 8=FIXT.1.1|9=259|35=AE|34=149|49=ROFX|52=20251203-19:30:38.402|56=Client_A|31=50|32=7|55=Instrument 01|60=20251203-19:30:38.267|75=20251203-19:30:38.267|150=0|207=ROFX|570=N|571=BT2008|572=BT_ID|828=1|856=1|880=BT2007|552=1|54=1|37=-|1=01|1116=1|1117=BT_Broker|1118=D|1119=11|10=105| #Block Trade acceptation 8=FIXT.1.1|9=135|35=AR|34=102|49=Client_A|52=20251203-19:31:02.350|56=ROFX|55=Instrument 01|571=BT2008|572=BT_ID|828=1|856=2|880=BT2007|552=1|54=1|1=01|10=092| #Notify the Block Trade acceptation, or declination 8=FIXT.1.1|9=219|35=AE|34=155|49=ROFX|52=20251203-19:33:38.418|56=Client_A|31=50|32=7|55=Instrument 01|60=20251203-19:33:38.267|75=20251203-19:33:38.267|150=C|207=ROFX|570=N|571=3027|572=BT_ID|828=1|856=3|880=BT2007|552=1|54=1|37=|1=01|10=100|

Client_B

#Notify about the new Block Trade to be confirmed 8=FIXT.1.1|9=219|35=AE|34=145|49=ROFX|52=20251203-19:30:38.402|56=Client_B|31=50|32=7|55=Instrument 01|60=20251203-19:30:38.267|75=20251203-19:30:38.267|150=0|207=ROFX|570=N|571=3019|572=BT_ID|828=1|856=0|880=BT2007|552=1|54=2|37=|1=02|10=080| #A Block Trade is sent to be confirmed by the parties involved 8=FIXT.1.1|9=259|35=AE|34=146|49=ROFX|52=20251203-19:30:38.402|56=Client_B|31=50|32=7|55=Instrument 01|60=20251203-19:30:38.267|75=20251203-19:30:38.267|150=0|207=ROFX|570=N|571=BT2009|572=BT_ID|828=1|856=1|880=BT2007|552=1|54=2|37=-|1=02|1116=1|1117=BT_Broker|1118=D|1119=11|10=106| #Notify the Block Trade acceptation, or declination 8=FIXT.1.1|9=219|35=AE|34=152|49=ROFX|52=20251203-19:33:38.417|56=Client_B|31=50|32=7|55=Instrument 01|60=20251203-19:33:38.267|75=20251203-19:33:38.267|150=C|207=ROFX|570=N|571=3025|572=BT_ID|828=1|856=3|880=BT2007|552=1|54=2|37=|1=02|10=097|

Client_C

#Notify about the new Block Trade to be confirmed 8=FIXT.1.1|9=219|35=AE|34=141|49=ROFX|52=20251203-19:30:38.402|56=Client_C|31=50|32=7|55=Instrument 01|60=20251203-19:30:38.267|75=20251203-19:30:38.267|150=0|207=ROFX|570=N|571=3022|572=BT_ID|828=1|856=0|880=BT2007|552=1|54=2|37=-|1=-|10=063| #Notify the Block Trade acceptation, or declination 8=FIXT.1.1|9=219|35=AE|34=147|49=ROFX|52=20251203-19:33:38.417|56=Client_C|31=50|32=7|55=Instrument 01|60=20251203-19:33:38.267|75=20251203-19:33:38.267|150=C|207=ROFX|570=N|571=3026|572=BT_ID|828=1|856=3|880=BT2007|552=1|54=2|37=-|1=-|10=095|