OnixS Eurex ETI Handler C++ library  9.19.0
API documentation
TESApproveBroadcast.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"
28 
29 #include <iosfwd>
30 #include <string>
31 #include <vector>
32 
33 namespace OnixS {
34 namespace Eurex {
35 namespace Trading {
36 
37 /// TES Approve Broadcast Message.
38 class ONIXS_EUREX_ETI_EXPORT TESApproveBroadcast : public Message
39 {
40 public:
41  /// Initialize default instance.
43 
44  /// Message sequence number assigned to a non-order related Eurex ETI data stream.
46 
47  /// Unique ID assigned by the Eurex system during broadcast subscription in order to link broadcasts to the related subscription.
49 
50  /// Is required to define the scope of a Retransmission Request.
52 
53  /// Indicates a retransmission message.
55 
56  /// Identifier for subscription and retransmission of an ETI data stream.
58 
59  /// Indicates whether this message is the last fragment (part) of a sequence of messages belonging to one dedicated transaction.
61 
62  /// The instrument identifier uniquely identifies an instrument in the core system.
64 
65  /// Price of this leg fill.
67 
68  /// Quantity of the particular trade side in the TES trade.
70 
71  /// Timestamp of the match event (trade).
73 
74  /// Underlying price associate with a derivative instrument.
76 
77  /// Trade Closure Time, the time when an Off-Book trade was concluded outside the Eurex System.
79 
80  /// User defined index price.
82 
83  /// Quantity of the related trade.
85 
86  /// Instrument identifier of the originating Eurex strategy.
88 
89  /// Price of the related instrument.
91 
92  /// Nominal value.
94 
95  /// The product identifier uniquely identifies a Eurex product.
97 
98  /// Identifier for a Trade Entry Service trade, i.e TES trade ID.
100 
101  /// System transaction identifier for a Trade Entry Service transaction.
103 
104  /// Unique identifier for a TES Trade side.
106 
107  /// Date the underlying instrument will settle.
109 
110  /// Underlying security's maturity date.
112 
113  /// Identifier of a related trade.
115 
116  /// Identifies a related product.
118 
119  /// ID of a SRQS negotiation.
121 
122  /// Enrichment Rule ID for TES trades (to be used only in case of Auto Approval).
124 
125  /// Auto Approval rule id - only in case of erroneous Auto Approval processing.
127 
128  /// Indicates if a trade should be reported via the market reporting service.
130 
131  /// Side of the order.
133 
134  /// Indicates if a trade should be reported via the market reporting service.
136 
137  /// This field qualifies an instrument type on Eurex.
139 
140  /// Identifies the type of trade notification.
142 
143  /// SRQS deal status.
145 
146  /// This field designates if the trader is acting in the capacity of agent, trading for its own account or acting as a market maker.
148 
149  /// Settlement institution.
151 
152  /// Status of an allocation in a Trade Entry Service trade.
154 
155  /// Hedging method.
157 
158  /// Receiver of a message.
160 
161  /// User defined transaction ID. Part of the TES response and TES broadcast.
162  std::string tradeReportId;
163 
164  /// Owning business unit name.
165  std::string partyExecutingFirm;
166 
167  /// Owning user name.
168  std::string partyExecutingTrader;
169 
170  /// Entering Business Unit.
172 
173  /// The entering user.
174  std::string partyEnteringTrader;
175 
176  /// Field is used for Eurex position management purposes and indicates whether the order is submitted to open or close a position.
178 
179  /// Participant Short Name.
181 
182  /// Owning User Short Name.
184 
185  /// First free-format text field for trader-specific or customer-related comments.
186  std::string freeText1;
187 
188  /// Second free-format text field for trader-specific or customer-related comments.
189  std::string freeText2;
190 
191  /// Third free-format text field for trader-specific or customer-related comments.
192  std::string freeText3;
193 
194  /// Indicates the name of a member institution to which a give-up is designated.
196 
197  /// Account to book trades and keep positions on.
198  std::string account;
199 
200  /// Flex Account information.
202 
203  /// Partner identification at the Korea Exchange is required for orders in KRX products.
205 
206  /// Mandatory final KRX beneficiary account required for orders in KRX products.
207  std::string partyIdBeneficiary;
208 
209  /// Country code. Valid characters: 0x01-0x7E.
210  std::string partyIdLocationId;
211 
212  /// 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.
214 
215  /// This field is used to provide additional regulatory information (according to respective rules and regs, circulars and bilateral coordination between participant and Trading Surveillance Office).
216  std::string complianceText;
217 
218  /// Underlying security's ID.
219  std::string underlyingSecurityId;
220 
221  /// Description of the Underlying security.
223 
224  /// Underlying security's currency.
225  std::string underlyingCurrency;
226 
227  /// The issuer or name of the underlying security.
228  std::string underlyingIssuer;
229 
230  /// Text.
231  std::string varText;
232 
233  /// Trd Instrmnt Leg Group.
234  std::vector<TrdInstrmntLegGrpElem> trdInstrmntLegGrp;
235 
236  /// Instrument Event Group.
237  std::vector<InstrumentEventGrpElem> instrumentEventGrp;
238 
239  /// Instrument Attribute Group.
240  std::vector<InstrumentAttributeGrpElem> instrumentAttributeGrp;
241 
242  /// Underlying Stip Group.
243  std::vector<UnderlyingStipGrpElem> underlyingStipGrp;
244 
245  /// Returns template ID.
246  TemplateId::Enum templateId () const;
247 
248  /// Returns string representation.
249  std::string toString () const;
250 
251 private:
252  friend class Serializer;
253  TESApproveBroadcast (const void* data, size_t dataSize, MessageInfo& msgInfo);
254  void nativeSerializeTo (void* nativeMessage);
255 };
256 
257 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const TESApproveBroadcast&);
258 
259 }
260 }
261 }
SInt32 marketSegmentId
The product identifier uniquely identifies a Eurex product.
UInt64 transactTime
Timestamp of the match event (trade).
CustOrderHandlingInst::Enum custOrderHandlingInst
Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier...
std::string partyIdTakeUpTradingFirm
Indicates the name of a member institution to which a give-up is designated.
std::vector< TrdInstrmntLegGrpElem > trdInstrmntLegGrp
Trd Instrmnt Leg Group.
Enum
Indicates whether this message is the last fragment (part) of a sequence of messages belonging to one...
Definition: Enumerations.h:661
std::vector< InstrumentEventGrpElem > instrumentEventGrp
Instrument Event Group.
Enum
Indicates a retransmission message.
Definition: Enumerations.h:71
UInt32 applSubId
Unique ID assigned by the Eurex system during broadcast subscription in order to link broadcasts to t...
std::string partyIdPositionAccount
Flex Account information.
std::string freeText1
First free-format text field for trader-specific or customer-related comments.
std::string tradeReportId
User defined transaction ID. Part of the TES response and TES broadcast.
PartyIdSettlementLocation::Enum partyIdSettlementLocation
Settlement institution.
UInt32 autoApprovalRuleId
Auto Approval rule id - only in case of erroneous Auto Approval processing.
TradePublishIndicator::Enum tradePublishIndicator
Indicates if a trade should be reported via the market reporting service.
std::string freeText3
Third free-format text field for trader-specific or customer-related comments.
Enum
Side of the order.
MessageEventSource::Enum messageEventSource
Receiver of a message.
ApplId::Enum applId
Identifier for subscription and retransmission of an ETI data stream.
TrdRptStatus::Enum trdRptStatus
SRQS deal status.
unsigned long long UInt64
Definition: Defines.h:47
UInt32 underlyingSettlementDate
Date the underlying instrument will settle.
Enum
Indicates if a trade should be reported via the market reporting service.
std::string partyEnteringTrader
The entering user.
TradeReportType::Enum tradeReportType
Identifies the type of trade notification.
UInt32 packageId
Identifier for a Trade Entry Service trade, i.e TES trade ID.
SInt64 securityId
The instrument identifier uniquely identifies an instrument in the core system.
Enum
Field is used for Eurex position management purposes and indicates whether the order is submitted to ...
signed int SInt32
Definition: Defines.h:42
Enum
This field qualifies an instrument type on Eurex.
Enum
Indicates if a trade should be reported via the market reporting service.
PartyIdEnteringFirm::Enum partyIdEnteringFirm
Entering Business Unit.
Enum
Status of an allocation in a Trade Entry Service trade.
std::string partyIdLocationId
Country code. Valid characters: 0x01-0x7E.
UInt32 negotiationId
ID of a SRQS negotiation.
UInt32 tesExecId
System transaction identifier for a Trade Entry Service transaction.
Message base class.
Definition: Message.h:33
TradeAllocStatus::Enum tradeAllocStatus
Status of an allocation in a Trade Entry Service trade.
std::string underlyingSecurityDesc
Description of the Underlying security.
std::string rootPartyExecutingTrader
Owning User Short Name.
std::string underlyingCurrency
Underlying security&#39;s currency.
UInt32 tesEnrichmentRuleId
Enrichment Rule ID for TES trades (to be used only in case of Auto Approval).
Enum
Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier...
Definition: Enumerations.h:271
SInt64 underlyingPx
Underlying price associate with a derivative instrument.
TrdType::Enum trdType
Indicates if a trade should be reported via the market reporting service.
SInt64 relatedPx
Price of the related instrument.
std::string account
Account to book trades and keep positions on.
PositionEffect::Enum positionEffect
Field is used for Eurex position management purposes and indicates whether the order is submitted to ...
SInt64 allocQty
Quantity of the particular trade side in the TES trade.
unsigned int UInt32
Definition: Defines.h:46
signed long long SInt64
Definition: Defines.h:43
UInt32 allocId
Unique identifier for a TES Trade side.
ProductComplex::Enum productComplex
This field qualifies an instrument type on Eurex.
std::string underlyingIssuer
The issuer or name of the underlying security.
std::string partyIdOrderOriginationFirm
Partner identification at the Korea Exchange is required for orders in KRX products.
UInt32 underlyingMaturityDate
Underlying security&#39;s maturity date.
ApplResendFlag::Enum applResendFlag
Indicates a retransmission message.
std::string underlyingSecurityId
Underlying security&#39;s ID.
Enum
Identifier for subscription and retransmission of an ETI data stream.
Definition: Enumerations.h:34
UInt32 relatedTradeId
Identifier of a related trade.
std::string partyExecutingFirm
Owning business unit name.
std::string rootPartyExecutingFirm
Participant Short Name.
SInt64 relatedTradeQuantity
Quantity of the related trade.
std::string complianceText
This field is used to provide additional regulatory information (according to respective rules and re...
UInt64 transBkdTime
Trade Closure Time, the time when an Off-Book trade was concluded outside the Eurex System...
std::ostream & operator<<(std::ostream &, const ConnectionStateChange &)
Make it printable to formatted C++ I/O streams.
std::string partyExecutingTrader
Owning user name.
LastFragment::Enum lastFragment
Indicates whether this message is the last fragment (part) of a sequence of messages belonging to one...
TradingCapacity::Enum tradingCapacity
This field designates if the trader is acting in the capacity of agent, trading for its own account o...
HedgeType::Enum hedgeType
Hedging method.
SInt64 relatedSecurityId
Instrument identifier of the originating Eurex strategy.
std::vector< InstrumentAttributeGrpElem > instrumentAttributeGrp
Instrument Attribute Group.
std::string partyIdBeneficiary
Mandatory final KRX beneficiary account required for orders in KRX products.
Enum
This field designates if the trader is acting in the capacity of agent, trading for its own account o...
std::string freeText2
Second free-format text field for trader-specific or customer-related comments.
Enum
Identifies the type of trade notification.
unsigned short UInt16
Definition: Defines.h:45
std::vector< UnderlyingStipGrpElem > underlyingStipGrp
Underlying Stip Group.
SInt32 relatedMarketSegmentId
Identifies a related product.
SInt64 relatedClosePrice
User defined index price.
UInt64 applSeqNum
Message sequence number assigned to a non-order related Eurex ETI data stream.
UInt16 partitionId
Is required to define the scope of a Retransmission Request.