OnixS Eurex ETI Handler C++ library  9.21.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
13  * part of this source code or associated reference material to any other location for further
14  * reproduction or redistribution, and any amendments to this copyright notice, are expressly
15  * prohibited.
16  *
17  * Any reproduction or redistribution for sale or hiring of the Software not in accordance with
18  * the terms of the Agreement is a violation of copyright law.
19  */
20 
21 #pragma once
22 
25 #include "OnixS/Eurex/Trading/Export.h"
28 
29 #include <iosfwd>
30 #include <string>
31 
32 namespace OnixS { namespace Eurex { namespace Trading {
33 
34 /// TES Trade Broadcast Message.
35 class ONIXS_EUREX_ETI_EXPORT TESTradeBroadcast : public Message
36 {
37 public:
38  /// Initialize default instance.
40 
41  /// Message sequence number assigned to a non-order related Eurex ETI data stream.
43 
44  /// Unique ID assigned by the Eurex system during broadcast subscription in order to link broadcasts to the related
45  /// 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
58  /// transaction.
60 
61  /// The instrument identifier uniquely identifies an instrument in the core system.
63 
64  /// Price of this leg fill.
66 
67  /// Quantity executed in this leg fill.
69 
70  /// Final trade price.
72 
73  /// Final traded quantity.
75 
76  /// Timestamp of the match event (trade).
78 
79  /// Instrument identifier of the originating Eurex strategy.
81 
82  /// Client Identifier field (ESMA Field 3 (Section A)) used to identify the client of an order for agent account of
83  /// the member or participant of the trading venue.
85 
86  /// Executing Trader data Field (ESMA Field 5 (Section A)) used to identify the person or algorithm within the
87  /// member or participant of the trading venue who is responsible for the execution of the transaction resulting
88  /// from the order.
90 
91  /// Investment decision within firm (ESMA Field 4 (Section A)) is the code used to identify the person or the
92  /// algorithm within the member or participant of the Trading Venue who is responsible for the investment decision.
94 
95  /// System defined Basket ID.
97 
98  /// System defined Original Basket ID.
100 
101  /// Fill price for the original Eurex strategy.
103 
104  /// Fill quantity for the original Eurex strategy.
106 
107  /// User defined index price.
109 
110  /// System transaction identifier for a Trade Entry Service transaction.
112 
113  /// Identifier for a Trade Entry Service trade, i.e TES trade ID.
115 
116  /// The product identifier uniquely identifies a Eurex product.
118 
119  /// Uniquely identifies all order leg allocations referring to the same matching event, simple instrument and price.
121 
122  /// Trade date.
124 
125  /// Private trade identifier of an order or quote match event.
127 
128  /// Identification of the technical session.
130 
131  /// Original trade identifier in case of trade reversals.
133 
134  /// Owning Business Unit.
136 
137  /// Owning User ID.
139 
140  /// Clearing Business Unit ID.
142 
143  /// Identifier that links all trades resulting from a match step of a strategy order.
145 
146  /// Product identifier of the original Eurex strategy.
148 
149  /// Number of leg executions of the original strategy order.
151 
152  /// ID of a SRQS negotiation.
154 
155  /// Trade ID out of a SRQS Negotiation Event.
157 
158  /// ID of the Basket profile.
160 
161  /// This field indicates the type of a Eurex futures spread, Eurex option combination or Eurex Strategy.
163 
164  /// Indicates if a trade should be reported via the market reporting service.
166 
167  /// This field qualifies an instrument type on Eurex.
169 
170  /// Instrument type of the original Eurex strategy.
172 
173  /// Side of the order.
175 
176  /// This field designates if the trader is acting in the capacity of agent, trading for its own account or acting as
177  /// a market maker.
179 
180  /// Identifies the type of trade notification.
182 
183  /// Identifies the role for which the trade notification is received.
185 
186  /// Indicates if a trade should be reported via the market reporting service.
188 
189  /// Indicates whether the counterparties have the right for early termination.
191 
192  /// Indicates if the trade resulted from a single order or a multi leg order.
194 
195  /// Field is used for Eurex position management purposes and indicates whether the order is submitted to open or
196  /// close a position.
198 
199  /// Price decomposition method for legs of a complex instrument.
201 
202  /// Order attribute liquidity provision.
204 
205  /// Order attribute risk reduction.
207 
208  /// Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos.
210 
211  /// Qualifier for field PartyIdInvestmentDecisionMaker. Members/participants will have the possibility to specify an
212  /// Investment qualifier value to distinguish between natural persons and Algos.
214 
215  /// Order origination, MiFID field - to indicate order received from a direct access or sponsored access customer.
217 
218  /// Indicator whether the reversal of the TES trade is electronically requested or not.
220 
221  /// Trade Aggregation Identifier.
223 
224  /// Account to book trades and keep positions on.
225  std::string account;
226 
227  /// Flex Account information.
229 
230  /// Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier. The field is for
231  /// participant use only. Valid characters: 0x20, 0x22-0x7B, 0x7D, 0x7E.
233 
234  /// First free-format text field for trader-specific or customer-related comments.
235  std::string freeText1;
236 
237  /// Second free-format text field for trader-specific or customer-related comments.
238  std::string freeText2;
239 
240  /// Third free-format text field for trader-specific or customer-related comments.
241  std::string freeText3;
242 
243  /// Participant Short Name.
245 
246  /// Owning User Short Name.
248 
249  /// Clearing Member Short Name.
251 
252  /// Clearing House Short Name.
254 
255  /// Mandatory final KRX beneficiary account required for orders in KRX products.
257 
258  /// Indicates the name of a member institution to which a give-up is designated.
260 
261  /// KRX Member ID.
263 
264  /// Root party ID execution venue.
266 
267  /// TVTIC - Trading Venue Transaction Identification Code.
268  std::string regulatoryTradeId;
269 
270  /// The identifier of the basket member counterparty institution.
272 
273  /// User defined Basket trade ID.
275 
276  /// This field indicates the Fee Code associated with the transaction.
277  std::string feeIdntCode;
278 
279  /// Returns template ID.
280  TemplateId::Enum templateId() const;
281 
282  /// Returns string representation.
283  std::string toString() const;
284 
285 private:
286  friend class Serializer;
287  TESTradeBroadcast(const void* data, size_t dataSize, MessageInfo& msgInfo);
288  void nativeSerializeTo(void* nativeMessage);
289 };
290 
291 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const TESTradeBroadcast&);
292 
293 }}} // namespace OnixS::Eurex::Trading
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 a retransmission message.
Definition: Enumerations.h:76
SInt64 relatedSecurityId
Instrument identifier of the originating Eurex strategy.
UInt32 negotiationId
ID of a SRQS negotiation.
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:46
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.
std::string rootPartyClearingFirm
Clearing Member Short Name.
UInt64 origBasketTrdMatchId
System defined Original Basket ID.
signed int SInt32
Definition: Defines.h:41
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.
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:32
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).
UInt32 tesExecId
System transaction identifier for a Trade Entry Service transaction.
std::string rootPartyIdBeneficiary
Mandatory final KRX beneficiary account required for orders in KRX products.
std::string rootPartyIdPositionAccount
Flex Account information.
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:45
std::string rootPartyClearingOrganization
Clearing House Short Name.
SInt64 sideLastPx
Fill price for the original Eurex strategy.
signed long long SInt64
Definition: Defines.h:42
UInt32 sideTradeId
Private trade identifier of an order or quote match event.
SInt64 sideLastQty
Fill quantity for the original Eurex strategy.
std::ostream & operator<<(std::ostream &, ConnectionState::Enum)
Make it printable using C++ I/O streams.
OptionalEarlyTerminationIndicator::Enum optionalEarlyTerminationIndicator
Indicates whether the counterparties have the right for early termination.
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:33
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...
Enum
Indicates whether the counterparties have the right for early termination.
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
Enum
Indicates if the trade resulted from a single order or a multi leg order.
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
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:44
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.
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:551
SInt64 clearingTradePrice
Final trade price.
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.