Post-trade nessages

Imported from previous forum

[ original email was from Toby Shepheard - toby_shepheard@ml.com ]
As part of our systems, after successfully processing an RFQ or Order request we send post-trade messages to Bloomberg where positions and P&L are updated for the traders’ books. These messages contain the following fields

TradeID (a unique reference number)
BookID (the company’s book for the trade)
TraderID (a bloomberg-assigned id for the trader)
SecurityID
SecurityIDSource
Side
Quantity
Price (or AvgPx)
SettlementDate
TradeDateTime

In addition there are a few conditionally required fields:
OtherParty (generally this is a sales person’s ID)
ClientID (the id of the initiator)

I’m looking to add a FIX implementation for this; I’ve been reading through the 4.4 spec and it seems the Trade Capture Report is probably the closest fit for what we’re doing, though I’m not 100% sure. The various parties can be specified in the Parties component with various different RoleTypes, and most of the rest of the fields have fairly obvious mappings.

However, I can’t seem to find anywhere (indeed, not in any message) where I would specify the BookId for the trade; can anyone please advise?

[ original email was from Toby Shepheard - toby_shepheard@ml.com ]
Anyone able to comment on the below or point me in another direction?

Many thanks,
Toby

As part of our systems, after successfully processing an RFQ or Order
request we send post-trade messages to Bloomberg where positions and
P&L are updated for the traders’ books. These messages contain the
following fields

TradeID (a unique reference number) BookID (the company’s book for the
trade) TraderID (a bloomberg-assigned id for the trader) SecurityID
SecurityIDSource Side Quantity Price (or AvgPx) SettlementDate
TradeDateTime

In addition there are a few conditionally required fields: OtherParty
(generally this is a sales person’s ID) ClientID (the id of the
initiator)

I’m looking to add a FIX implementation for this; I’ve been reading
through the 4.4 spec and it seems the Trade Capture Report is probably
the closest fit for what we’re doing, though I’m not 100% sure. The
various parties can be specified in the Parties component with various
different RoleTypes, and most of the rest of the fields have fairly
obvious mappings.

However, I can’t seem to find anywhere (indeed, not in any
message) where I would specify the BookId for the trade; can
anyone please advise?

[ original email was from Raj Patel - raj.t.patel@hsbcgroup.com ]
Hi Toby,
Did you find an answer to this question on BookId and the TradeCapture Report ?

For that matter, does anyone have an answer to this question ?

Thanks in advance.

As part of our systems, after successfully processing an RFQ or Order
request we send post-trade messages to Bloomberg where positions and
P&L are updated for the traders’ books. These messages contain the
following fields

TradeID (a unique reference number) BookID (the company’s book for the
trade) TraderID (a bloomberg-assigned id for the trader) SecurityID
SecurityIDSource Side Quantity Price (or AvgPx) SettlementDate
TradeDateTime

In addition there are a few conditionally required fields: OtherParty
(generally this is a sales person’s ID) ClientID (the id of the
initiator)

I’m looking to add a FIX implementation for this; I’ve been reading
through the 4.4 spec and it seems the Trade Capture Report is probably
the closest fit for what we’re doing, though I’m not 100% sure. The
various parties can be specified in the Parties component with various
different RoleTypes, and most of the rest of the fields have fairly
obvious mappings.

However, I can’t seem to find anywhere (indeed, not in any
message) where I would specify the BookId for the trade; can
anyone please advise?

Hi Toby,
Did you find an answer to this question on BookId and the TradeCapture Report ?

For that matter, does anyone have an answer to this question ?

Thanks in advance.

As part of our systems, after successfully processing an RFQ or Order
request we send post-trade messages to Bloomberg where positions and
P&L are updated for the traders’ books. These messages contain the
following fields

TradeID (a unique reference number) BookID (the company’s book for the
trade) TraderID (a bloomberg-assigned id for the trader) SecurityID
SecurityIDSource Side Quantity Price (or AvgPx) SettlementDate
TradeDateTime

In addition there are a few conditionally required fields: OtherParty
(generally this is a sales person’s ID) ClientID (the id of the
initiator)

I’m looking to add a FIX implementation for this; I’ve been reading
through the 4.4 spec and it seems the Trade Capture Report is probably
the closest fit for what we’re doing, though I’m not 100% sure. The
various parties can be specified in the Parties component with various
different RoleTypes, and most of the rest of the fields have fairly
obvious mappings.

However, I can’t seem to find anywhere (indeed, not in any
message) where I would specify the BookId for the trade; can
anyone please advise?
I have been following the FIX releases for some time now. Have not seen any field to support book/bookId so far.

Hi all,
sorry for bringing this old topic to the top but I couldn´t find any response to this question below anywhere in the forum.
So does anyone know which FIX field in tradecaptureReport we should put the BookID(the company’s book for the trade)?

thanks in advance.

Br
Johan

@johanb you could use TradeLinkID(820) as a generic field to group trades of a specific book. Or is the term “book” equivalent to a trading account? Or what is the aggregation level for a single “book”, e.g. customer, instrument,…?

You could use the RootParties component with one of the RootPartyRole(1119) values, e.g. 24=Customer Account (there are many more account values). Last not least the option to use the Account(1) field on the side level.

Hi @hanno.klein,

I have the same question. I believe the “Trading Book” @johanb is referring to is " A trading book is the portfolio of financial instruments held by a brokerage or bank. Financial instruments in a trading book are purchased or sold for several reasons. For example, they might be bought or sold to facilitate trading actions for customers or to profit from trading spreads between the bid and ask prices, or to hedge against different forms of risk."

Looking at your examples provided, I’m wondering if not below would be most appropriate to use to correctly reflect the information?

NestedPartyID(542)=
NestedPartyIDRole(538)=75

"The account which positions are maintained. Typically represents the aggregation of one or more customer accounts. "

Any feedback is highly appreciated as tag previously used (538=100) is no longer reflecting Traderbook in FIX 5.2.

NestedPartyID(524)=
NestedPartyRole(538)=100(Traderbook)

Regards,
Andreas

I believe that the party role value of 100 was used for a custom value (“Traderbook”) that is not permitted for any of the party role tags, including 538. 100 was probably chose because many FIX fields permit such usage due to having a union data type called “Reserved100Plus”. FIX added a standard of 100 for margin account with EP155 which was published back in June 2012. FIX currently offers 123 different party roles.

Party role 75 stands for “Location ID” and is probably a typo in your post above. Your text reflects the elaboration of party role 38 which stands for “Position account” and I would agree that you can use it to reflect a trading book. Coincidentally, EP155 mentioned above added the elaboration for “Position account”. EP155 also added a PartySubIDType(803) value 42=“Omnibus account”. So if you need party role 38 for different kinds of position account you could be more explicit by adding a subgroup for the trading book that defines the position account as an omnibus account. See https://www.fixtrading.org/extension-packs/ for details on EP155.

Hi @hanno.klein, many thanks for your informative reply.

Kind Regards,
Andreas