OnixS Eurex ETI Handler C++ library  9.22.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
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"
29 
30 #include <iosfwd>
31 #include <string>
32 #include <vector>
33 
34 namespace OnixS { namespace Eurex { namespace Trading {
35 
36 /// TES Approve Broadcast Message.
37 class ONIXS_EUREX_ETI_EXPORT TESApproveBroadcast : public Message
38 {
39 public:
40  /// Initialize default instance.
42 
43  /// Message sequence number assigned to a non-order related Eurex ETI data stream.
45 
46  /// Unique ID assigned by the Eurex system during broadcast subscription in order to link broadcasts to the related
47  /// 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
60  /// transaction.
62 
63  /// The instrument identifier uniquely identifies an instrument in the core system.
65 
66  /// Price of this leg fill.
68 
69  /// Quantity of the particular trade side in the TES trade.
71 
72  /// Timestamp of the match event (trade).
74 
75  /// Underlying price associate with a derivative instrument.
77 
78  /// Trade Closure Time, the time when an Off-Book trade was concluded outside the Eurex System.
80 
81  /// User defined index price.
83 
84  /// Quantity of the related trade.
86 
87  /// Instrument identifier of the originating Eurex strategy.
89 
90  /// Price of the related instrument.
92 
93  /// Nominal value.
95 
96  /// The product identifier uniquely identifies a Eurex product.
98 
99  /// Identifier for a Trade Entry Service trade, i.e TES trade ID.
101 
102  /// System transaction identifier for a Trade Entry Service transaction.
104 
105  /// Unique identifier for a TES Trade side.
107 
108  /// Date the underlying instrument will settle.
110 
111  /// Underlying security's maturity date.
113 
114  /// Identifier of a related trade.
116 
117  /// Identifies a related product.
119 
120  /// ID of a SRQS negotiation.
122 
123  /// Enrichment Rule ID for TES trades (to be used only in case of Auto Approval).
125 
126  /// Auto Approval rule id - only in case of erroneous Auto Approval processing.
128 
129  /// Indicates if a trade should be reported via the market reporting service.
131 
132  /// Side of the order.
134 
135  /// Indicates if a trade should be reported via the market reporting service.
137 
138  /// This field qualifies an instrument type on Eurex.
140 
141  /// Identifies the type of trade notification.
143 
144  /// SRQS deal status.
146 
147  /// This field designates if the trader is acting in the capacity of agent, trading for its own account or acting as
148  /// a market maker.
150 
151  /// Settlement institution.
153 
154  /// Status of an allocation in a Trade Entry Service trade.
156 
157  /// Hedging method.
159 
160  /// Receiver of a message.
162 
163  /// User defined transaction ID. Part of the TES response and TES broadcast.
164  std::string tradeReportId;
165 
166  /// Owning business unit name.
167  std::string partyExecutingFirm;
168 
169  /// Owning user name.
170  std::string partyExecutingTrader;
171 
172  /// Entering Business Unit.
174 
175  /// The entering user.
176  std::string partyEnteringTrader;
177 
178  /// Field is used for Eurex position management purposes and indicates whether the order is submitted to open or
179  /// close a position.
181 
182  /// Participant Short Name.
184 
185  /// Owning User Short Name.
187 
188  /// First free-format text field for trader-specific or customer-related comments.
189  std::string freeText1;
190 
191  /// Second free-format text field for trader-specific or customer-related comments.
192  std::string freeText2;
193 
194  /// Third free-format text field for trader-specific or customer-related comments.
195  std::string freeText3;
196 
197  /// Indicates the name of a member institution to which a give-up is designated.
199 
200  /// Account to book trades and keep positions on.
201  std::string account;
202 
203  /// Flex Account information.
205 
206  /// Partner identification at the Korea Exchange is required for orders in KRX products.
208 
209  /// Mandatory final KRX beneficiary account required for orders in KRX products.
210  std::string partyIdBeneficiary;
211 
212  /// Country code. Valid characters: 0x01-0x7E.
213  std::string partyIdLocationId;
214 
215  /// Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier. The field is for
216  /// participant use only. Valid characters: 0x20, 0x22-0x7B, 0x7D, 0x7E.
218 
219  /// This field is used to provide additional regulatory information (according to respective rules and regs,
220  /// circulars and bilateral coordination between participant and Trading Surveillance Office).
221  std::string complianceText;
222 
223  /// Underlying security's ID.
224  std::string underlyingSecurityId;
225 
226  /// Description of the Underlying security.
228 
229  /// Underlying security's currency.
230  std::string underlyingCurrency;
231 
232  /// The issuer or name of the underlying security.
233  std::string underlyingIssuer;
234 
235  /// Text.
236  std::string varText;
237 
238  /// Trd Instrmnt Leg Group.
239  std::vector<TrdInstrmntLegGrpElem> trdInstrmntLegGrp;
240 
241  /// Instrument Event Group.
242  std::vector<InstrumentEventGrpElem> instrumentEventGrp;
243 
244  /// Instrument Attribute Group.
245  std::vector<InstrumentAttributeGrpElem> instrumentAttributeGrp;
246 
247  /// Underlying Stip Group.
248  std::vector<UnderlyingStipGrpElem> underlyingStipGrp;
249 
250  /// Returns template ID.
251  TemplateId::Enum templateId() const;
252 
253  /// Returns string representation.
254  std::string toString() const;
255 
256 private:
257  friend class Serializer;
258  TESApproveBroadcast(const void* data, size_t dataSize, MessageInfo& msgInfo);
259  void nativeSerializeTo(void* nativeMessage);
260 };
261 
262 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const TESApproveBroadcast&);
263 
264 }}}
SInt32 marketSegmentId
The product identifier uniquely identifies a Eurex product.
UInt64 transactTime
Timestamp of the match event (trade).
CustOrderHandlingInst::Enum custOrderHandlingInst
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.
std::vector< InstrumentEventGrpElem > instrumentEventGrp
Instrument Event Group.
Enum
Indicates a retransmission message.
Definition: Enumerations.h:76
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:46
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.
signed int SInt32
Definition: Defines.h:41
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:32
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).
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.
SInt64 allocQty
Quantity of the particular trade side in the TES trade.
unsigned int UInt32
Definition: Defines.h:45
signed long long SInt64
Definition: Defines.h:42
UInt32 allocId
Unique identifier for a TES Trade side.
std::ostream & operator<<(std::ostream &, ConnectionState::Enum)
Make it printable using C++ I/O streams.
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:33
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.
UInt64 transBkdTime
Trade Closure Time, the time when an Off-Book trade was concluded outside the Eurex System...
std::string partyExecutingTrader
Owning user name.
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.
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:44
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.