OnixS Eurex ETI Handler C++ library  9.10.1
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  /// Nominal value.
88 
89  /// Compression ID.
91 
92  /// The product identifier uniquely identifies a Eurex product.
94 
95  /// Identifier for a Trade Entry Service trade, i.e TES trade ID.
97 
98  /// System transaction identifier for a Trade Entry Service transaction.
100 
101  /// Unique identifier for a TES Trade side.
103 
104  /// Date the underlying instrument will settle.
106 
107  /// Underlying security's maturity date.
109 
110  /// Identifier of a related trade.
112 
113  /// Identifies a related product.
115 
116  /// ID of a SRQS negotiation.
118 
119  /// Enrichment Rule ID for TES trades (to be used only in case of Auto Approval).
121 
122  /// Auto Approval rule id - only in case of erroneous Auto Approval processing.
124 
125  /// Indicates if a trade should be reported via the market reporting service.
127 
128  /// Side of the order.
130 
131  /// Indicates if a trade should be reported via the market reporting service.
133 
134  /// This field qualifies an instrument type on Eurex.
136 
137  /// Identifies the type of trade notification.
139 
140  /// SRQS deal status.
142 
143  /// This field designates if the trader is acting in the capacity of agent, trading for its own account or acting as a market maker.
145 
146  /// Settlement institution.
148 
149  /// Status of an allocation in a Trade Entry Service trade.
151 
152  /// Hedging method.
154 
155  /// Receiver of a message.
157 
158  /// User defined transaction ID. Part of the TES response and TES broadcast.
159  std::string tradeReportId;
160 
161  /// Owning business unit name.
162  std::string partyExecutingFirm;
163 
164  /// Owning user name.
165  std::string partyExecutingTrader;
166 
167  /// Entering Business Unit.
169 
170  /// The entering user.
171  std::string partyEnteringTrader;
172 
173  /// Field is used for Eurex position management purposes and indicates whether the order is submitted to open or close a position.
175 
176  /// Participant Short Name.
178 
179  /// Owning User Short Name.
181 
182  /// First free-format text field for trader-specific or customer-related comments.
183  std::string freeText1;
184 
185  /// Second free-format text field for trader-specific or customer-related comments.
186  std::string freeText2;
187 
188  /// Third free-format text field for trader-specific or customer-related comments.
189  std::string freeText3;
190 
191  /// Indicates the name of a member institution to which a give-up is designated.
193 
194  /// Account to book trades and keep positions on.
195  std::string account;
196 
197  /// Flex Account information.
199 
200  /// Partner identification at the Korea Exchange is required for orders in KRX products.
202 
203  /// Mandatory final KRX beneficiary account required for orders in KRX products.
204  std::string partyIdBeneficiary;
205 
206  /// Country code. Valid characters: 0x01-0x7E.
207  std::string partyIdLocationId;
208 
209  /// 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.
211 
212  /// 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).
213  std::string complianceText;
214 
215  /// Underlying security's ID.
216  std::string underlyingSecurityId;
217 
218  /// Description of the Underlying security.
220 
221  /// Underlying security's currency.
222  std::string underlyingCurrency;
223 
224  /// The issuer or name of the underlying security.
225  std::string underlyingIssuer;
226 
227  /// Text.
228  std::string varText;
229 
230  /// Trd Instrmnt Leg Group.
231  std::vector<TrdInstrmntLegGrpElem> trdInstrmntLegGrp;
232 
233  /// Instrument Event Group.
234  std::vector<InstrumentEventGrpElem> instrumentEventGrp;
235 
236  /// Instrument Attribute Group.
237  std::vector<InstrumentAttributeGrpElem> instrumentAttributeGrp;
238 
239  /// Underlying Stip Group.
240  std::vector<UnderlyingStipGrpElem> underlyingStipGrp;
241 
242  /// Returns template ID.
243  TemplateId::Enum templateId () const;
244 
245  /// Returns string representation.
246  std::string toString () const;
247 
248 private:
249  friend class Serializer;
250  TESApproveBroadcast (const void* data, size_t dataSize, MessageInfo& msgInfo);
251  void nativeSerializeTo (void* nativeMessage);
252 };
253 
254 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const TESApproveBroadcast&);
255 
256 }
257 }
258 }
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::ostream & operator<<(std::ostream &, const ConnectionRetries &)
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:583
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:229
SInt64 underlyingPx
Underlying price associate with a derivative instrument.
TrdType::Enum trdType
Indicates if a trade should be reported via the market reporting service.
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::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.
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.