OnixS Eurex ETI Handler C++ library  9.19.0
API documentation
TESTradeBroadcast.h
Go to the documentation of this file.
1 /*
2  * Copyright Onix Solutions Limited [OnixS]. All rights reserved.
3  *
4  * This software owned by Onix Solutions Limited [OnixS] and is protected by copyright law
5  * and international copyright treaties.
6  *
7  * Access to and use of the software is governed by the terms of the applicable ONIXS Software
8  * Services Agreement (the Agreement) and Customer end user license agreements granting
9  * a non-assignable, non-transferable and non-exclusive license to use the software
10  * for it's own data processing purposes under the terms defined in the Agreement.
11  *
12  * Except as otherwise granted within the terms of the Agreement, copying or reproduction of any part
13  * of this source code or associated reference material to any other location for further reproduction
14  * or redistribution, and any amendments to this copyright notice, are expressly prohibited.
15  *
16  * Any reproduction or redistribution for sale or hiring of the Software not in accordance with
17  * the terms of the Agreement is a violation of copyright law.
18  */
19 
20 #pragma once
21 
22 #include "OnixS/Eurex/Trading/Export.h"
27 
28 #include <iosfwd>
29 #include <string>
30 
31 namespace OnixS {
32 namespace Eurex {
33 namespace Trading {
34 
35 /// TES Trade Broadcast Message.
36 class ONIXS_EUREX_ETI_EXPORT TESTradeBroadcast : public Message
37 {
38 public:
39  /// Initialize default instance.
41 
42  /// Message sequence number assigned to a non-order related Eurex ETI data stream.
44 
45  /// Unique ID assigned by the Eurex system during broadcast subscription in order to link broadcasts to the related subscription.
47 
48  /// Is required to define the scope of a Retransmission Request.
50 
51  /// Indicates a retransmission message.
53 
54  /// Identifier for subscription and retransmission of an ETI data stream.
56 
57  /// Indicates whether this message is the last fragment (part) of a sequence of messages belonging to one dedicated transaction.
59 
60  /// The instrument identifier uniquely identifies an instrument in the core system.
62 
63  /// Price of this leg fill.
65 
66  /// Quantity executed in this leg fill.
68 
69  /// Final trade price.
71 
72  /// Final traded quantity.
74 
75  /// Timestamp of the match event (trade).
77 
78  /// Instrument identifier of the originating Eurex strategy.
80 
81  /// Client Identifier field (ESMA Field 3 (Section A)) used to identify the client of an order for agent account of the member or participant of the trading venue.
83 
84  /// Executing Trader data Field (ESMA Field 5 (Section A)) used to identify the person or algorithm within the member or participant of the trading venue who is responsible for the execution of the transaction resulting from the order.
86 
87  /// Investment decision within firm (ESMA Field 4 (Section A)) is the code used to identify the person or the algorithm within the member or participant of the Trading Venue who is responsible for the investment decision.
89 
90  /// System defined Basket ID.
92 
93  /// Fill price for the original Eurex strategy.
95 
96  /// Fill quantity for the original Eurex strategy.
98 
99  /// User defined index price.
101 
102  /// Identifier for a Trade Entry Service trade, i.e TES trade ID.
104 
105  /// The product identifier uniquely identifies a Eurex product.
107 
108  /// Uniquely identifies all order leg allocations referring to the same matching event, simple instrument and price.
110 
111  /// Trade date.
113 
114  /// Private trade identifier of an order or quote match event.
116 
117  /// Identification of the technical session.
119 
120  /// Original trade identifier in case of trade reversals.
122 
123  /// Owning Business Unit.
125 
126  /// Owning User ID.
128 
129  /// Clearing Business Unit ID.
131 
132  /// Identifier that links all trades resulting from a match step of a strategy order.
134 
135  /// Product identifier of the original Eurex strategy.
137 
138  /// Number of leg executions of the original strategy order.
140 
141  /// ID of a SRQS negotiation.
143 
144  /// Trade ID out of a SRQS Negotiation Event.
146 
147  /// ID of the Basket profile.
149 
150  /// This field indicates the type of a Eurex futures spread, Eurex option combination or Eurex Strategy.
152 
153  /// Indicates if a trade should be reported via the market reporting service.
155 
156  /// This field qualifies an instrument type on Eurex.
158 
159  /// Instrument type of the original Eurex strategy.
161 
162  /// Side of the order.
164 
165  /// This field designates if the trader is acting in the capacity of agent, trading for its own account or acting as a market maker.
167 
168  /// Identifies the type of trade notification.
170 
171  /// Identifies the role for which the trade notification is received.
173 
174  /// Indicates if a trade should be reported via the market reporting service.
176 
177  /// Indicates if the trade resulted from a single order or a multi leg order.
179 
180  /// Field is used for Eurex position management purposes and indicates whether the order is submitted to open or close a position.
182 
183  /// Price decomposition method for legs of a complex instrument.
185 
186  /// Order attribute liquidity provision.
188 
189  /// Order attribute risk reduction.
191 
192  /// Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos.
194 
195  /// Qualifier for field PartyIdInvestmentDecisionMaker. Members/participants will have the possibility to specify an Investment qualifier value to distinguish between natural persons and Algos.
197 
198  /// Order origination, MiFID field - to indicate order received from a direct access or sponsored access customer.
200 
201  /// Indicator whether the reversal of the TES trade is electronically requested or not.
203 
204  /// Trade Aggregation Identifier.
206 
207  /// Account to book trades and keep positions on.
208  std::string account;
209 
210  /// Flex Account information.
212 
213  /// Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier. The field is for participant use only. Valid characters: 0x20, 0x22-0x7B, 0x7D, 0x7E.
215 
216  /// First free-format text field for trader-specific or customer-related comments.
217  std::string freeText1;
218 
219  /// Second free-format text field for trader-specific or customer-related comments.
220  std::string freeText2;
221 
222  /// Third free-format text field for trader-specific or customer-related comments.
223  std::string freeText3;
224 
225  /// Participant Short Name.
227 
228  /// Owning User Short Name.
230 
231  /// Clearing Member Short Name.
233 
234  /// Clearing House Short Name.
236 
237  /// Mandatory final KRX beneficiary account required for orders in KRX products.
239 
240  /// Indicates the name of a member institution to which a give-up is designated.
242 
243  /// KRX Member ID.
245 
246  /// Root party ID execution venue.
248 
249  /// TVTIC - Trading Venue Transaction Identification Code.
250  std::string regulatoryTradeId;
251 
252  /// The identifier of the basket member counterparty institution.
254 
255  /// User defined Basket trade ID.
257 
258  /// This field indicates the Fee Code associated with the transaction.
259  std::string feeIdntCode;
260 
261  /// Returns template ID.
262  TemplateId::Enum templateId () const;
263 
264  /// Returns string representation.
265  std::string toString () const;
266 
267 private:
268  friend class Serializer;
269  TESTradeBroadcast (const void* data, size_t dataSize, MessageInfo& msgInfo);
270  void nativeSerializeTo (void* nativeMessage);
271 };
272 
273 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const TESTradeBroadcast&);
274 
275 }
276 }
277 }
Enum
Price decomposition method for legs of a complex instrument.
UInt32 rootPartyIdSessionId
Identification of the technical session.
MultilegPriceModel::Enum multilegPriceModel
Price decomposition method for legs of a complex instrument.
Enum
Indicates whether this message is the last fragment (part) of a sequence of messages belonging to one...
Definition: Enumerations.h:661
Enum
Indicates a retransmission message.
Definition: Enumerations.h:71
SInt64 relatedSecurityId
Instrument identifier of the originating Eurex strategy.
UInt32 negotiationId
ID of a SRQS negotiation.
UInt64 executingTrader
Executing Trader data Field (ESMA Field 5 (Section A)) used to identify the person or algorithm withi...
std::string freeText2
Second free-format text field for trader-specific or customer-related comments.
Enum
Indicator whether the reversal of the TES trade is electronically requested or not.
UInt32 srqsRelatedTradeId
Trade ID out of a SRQS Negotiation Event.
Enum
Side of the order.
TradeReportType::Enum tradeReportType
Identifies the type of trade notification.
unsigned long long UInt64
Definition: Defines.h:47
Enum
Indicates if a trade should be reported via the market reporting service.
SInt64 relatedClosePrice
User defined index price.
UInt32 basketProfileId
ID of the Basket profile.
Enum
Qualifier for field PartyIdInvestmentDecisionMaker. Members/participants will have the possibility to...
std::string rootPartyClearingFirm
Clearing Member Short Name.
Enum
Field is used for Eurex position management purposes and indicates whether the order is submitted to ...
signed int SInt32
Definition: Defines.h:42
std::string rootPartyIdOrderOriginationFirm
KRX Member ID.
Enum
This field qualifies an instrument type on Eurex.
UInt32 strategyLinkId
Identifier that links all trades resulting from a match step of a strategy order. ...
TradePublishIndicator::Enum tradePublishIndicator
Indicates if a trade should be reported via the market reporting service.
Enum
Indicates if a trade should be reported via the market reporting service.
UInt64 basketTrdMatchId
System defined Basket ID.
ProductComplex::Enum productComplex
This field qualifies an instrument type on Eurex.
UInt32 origTradeId
Original trade identifier in case of trade reversals.
PositionEffect::Enum positionEffect
Field is used for Eurex position management purposes and indicates whether the order is submitted to ...
UInt32 tradeId
Uniquely identifies all order leg allocations referring to the same matching event, simple instrument and price.
SInt64 securityId
The instrument identifier uniquely identifies an instrument in the core system.
Message base class.
Definition: Message.h:33
Enum
Order origination, MiFID field - to indicate order received from a direct access or sponsored access ...
ExecutingTraderQualifier::Enum executingTraderQualifier
Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos...
UInt64 transactTime
Timestamp of the match event (trade).
TradingCapacity::Enum tradingCapacity
This field designates if the trader is acting in the capacity of agent, trading for its own account o...
std::string rootPartyIdBeneficiary
Mandatory final KRX beneficiary account required for orders in KRX products.
std::string rootPartyIdPositionAccount
Flex Account information.
Enum
Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier...
Definition: Enumerations.h:271
LastFragment::Enum lastFragment
Indicates whether this message is the last fragment (part) of a sequence of messages belonging to one...
ReversalIndicator::Enum reversalIndicator
Indicator whether the reversal of the TES trade is electronically requested or not.
UInt16 partitionId
Is required to define the scope of a Retransmission Request.
std::string rootPartyIdExecutionVenue
Root party ID execution venue.
SInt64 lastPx
Price of this leg fill.
SInt64 lastQty
Quantity executed in this leg fill.
MultiLegReportingType::Enum multiLegReportingType
Indicates if the trade resulted from a single order or a multi leg order.
unsigned int UInt32
Definition: Defines.h:46
std::string rootPartyClearingOrganization
Clearing House Short Name.
SInt64 sideLastPx
Fill price for the original Eurex strategy.
signed long long SInt64
Definition: Defines.h:43
UInt32 sideTradeId
Private trade identifier of an order or quote match event.
SInt64 sideLastQty
Fill quantity for the original Eurex strategy.
TrdType::Enum trdType
Indicates if a trade should be reported via the market reporting service.
UInt32 rootPartyIdExecutingTrader
Owning User ID.
std::string feeIdntCode
This field indicates the Fee Code associated with the transaction.
Enum
Identifier for subscription and retransmission of an ETI data stream.
Definition: Enumerations.h:34
TransferReason::Enum transferReason
Identifies the role for which the trade notification is received.
std::string regulatoryTradeId
TVTIC - Trading Venue Transaction Identification Code.
SInt32 securitySubType
This field indicates the type of a Eurex futures spread, Eurex option combination or Eurex Strategy...
SInt32 totNumTradeReports
Number of leg executions of the original strategy order.
RelatedProductComplex::Enum relatedProductComplex
Instrument type of the original Eurex strategy.
TradeAggregationTransType::Enum tradeAggregationTransType
Trade Aggregation Identifier.
OrderOrigination::Enum orderOrigination
Order origination, MiFID field - to indicate order received from a direct access or sponsored access ...
UInt32 rootPartyIdClearingUnit
Clearing Business Unit ID.
RootPartyIdInvestmentDecisionMakerQualifier::Enum rootPartyIdInvestmentDecisionMakerQualifier
Qualifier for field PartyIdInvestmentDecisionMaker. Members/participants will have the possibility to...
std::ostream & operator<<(std::ostream &, const ConnectionStateChange &)
Make it printable to formatted C++ I/O streams.
Enum
Indicates if the trade resulted from a single order or a multi leg order.
Definition: Enumerations.h:988
SInt32 relatedSymbol
Product identifier of the original Eurex strategy.
SInt64 clearingTradeQty
Final traded quantity.
std::string freeText1
First free-format text field for trader-specific or customer-related comments.
std::string basketSideTradeReportId
User defined Basket trade ID.
CustOrderHandlingInst::Enum custOrderHandlingInst
Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier...
Enum
This field designates if the trader is acting in the capacity of agent, trading for its own account o...
OrderAttributeRiskReduction::Enum orderAttributeRiskReduction
Order attribute risk reduction.
Enum
Identifies the role for which the trade notification is received.
std::string basketPartyContraFirm
The identifier of the basket member counterparty institution.
Enum
Identifies the type of trade notification.
unsigned short UInt16
Definition: Defines.h:45
UInt32 packageId
Identifier for a Trade Entry Service trade, i.e TES trade ID.
std::string rootPartyExecutingTrader
Owning User Short Name.
std::string freeText3
Third free-format text field for trader-specific or customer-related comments.
Side::Enum side
Side of the order.
std::string account
Account to book trades and keep positions on.
Enum
Instrument type of the original Eurex strategy.
UInt64 rootPartyIdClientId
Client Identifier field (ESMA Field 3 (Section A)) used to identify the client of an order for agent ...
std::string rootPartyIdTakeUpTradingFirm
Indicates the name of a member institution to which a give-up is designated.
std::string rootPartyExecutingFirm
Participant Short Name.
UInt32 rootPartyIdExecutingUnit
Owning Business Unit.
SInt32 marketSegmentId
The product identifier uniquely identifies a Eurex product.
OrderAttributeLiquidityProvision::Enum orderAttributeLiquidityProvision
Order attribute liquidity provision.
ApplResendFlag::Enum applResendFlag
Indicates a retransmission message.
Enum
Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos...
Definition: Enumerations.h:473
SInt64 clearingTradePrice
Final trade price.
UInt64 rootPartyIdInvestmentDecisionMaker
Investment decision within firm (ESMA Field 4 (Section A)) is the code used to identify the person or...
UInt64 applSeqNum
Message sequence number assigned to a non-order related Eurex ETI data stream.
ApplId::Enum applId
Identifier for subscription and retransmission of an ETI data stream.
UInt32 applSubId
Unique ID assigned by the Eurex system during broadcast subscription in order to link broadcasts to t...