OnixS Eurex ETI Handler C++ library  9.21.0
API documentation
BasketApproveBroadcast.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 /// Basket Side Alloc Ext B C Group Element.
37 class ONIXS_EUREX_ETI_EXPORT BasketSideAllocExtBCGrpElem
38 {
39 public:
40  /// Initialize default instance.
42 
43  /// Quantity of the particular trade side in the TES trade.
45 
46  /// The instrument identifier uniquely identifies an instrument in the core system.
48 
49  /// Price of this leg fill.
51 
52  /// Trade Closure Time, the time when an Off-Book trade was concluded outside the Eurex System.
54 
55  /// User defined index price.
57 
58  /// Identifier for a Trade Entry Service trade, i.e TES trade ID.
60 
61  /// Product ID.
63 
64  /// Unique identifier for a TES Trade side.
66 
67  /// Sub-type of a trade type.
69 
70  /// Party sub-type.
72 
73  /// Side of the order.
75 
76  /// Field is used for Eurex position management purposes and indicates whether the order is submitted to open or
77  /// close a position.
79 
80  /// Transaction effect on a basket.
82 
83  /// This field designates if the trader is acting in the capacity of agent, trading for its own account or acting as
84  /// a market maker.
86 
87  /// Status of an allocation in a Trade Entry Service trade.
89 
90  /// This field qualifies an instrument type on Eurex.
92 
93  /// Indicates if a trade should be reported via the market reporting service.
95 
96  /// Owning business unit name.
97  std::string partyExecutingFirm;
98 
99  /// Owning user name.
100  std::string partyExecutingTrader;
101 
102  /// Account to book trades and keep positions on.
103  std::string account;
104 
105  /// First free-format text field for trader-specific or customer-related comments.
106  std::string freeText1;
107 
108  /// Second free-format text field for trader-specific or customer-related comments.
109  std::string freeText2;
110 
111  /// Third free-format text field for trader-specific or customer-related comments.
112  std::string freeText3;
113 
114  /// Indicates the name of a member institution to which a give-up is designated.
116 
117  /// Partner identification at the Korea Exchange is required for orders in KRX products.
119 
120  /// Mandatory final KRX beneficiary account required for orders in KRX products.
121  std::string partyIdBeneficiary;
122 
123  /// Flex Account information.
125 
126  /// Country code. Valid characters: 0x01-0x7E.
127  std::string partyIdLocationId;
128 
129  /// Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier. The field is for
130  /// participant use only. Valid characters: 0x20, 0x22-0x7B, 0x7D, 0x7E.
132 
133  /// This field is used to provide additional regulatory information (according to respective rules and regs,
134  /// circulars and bilateral coordination between participant and Trading Surveillance Office).
135  std::string complianceText;
136 
137  /// Returns string representation.
138  std::string toString() const;
139 
140 private:
141  friend class Serializer;
142  BasketSideAllocExtBCGrpElem(const void* data);
143 };
144 
145 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const BasketSideAllocExtBCGrpElem&);
146 
147 /// Basket Approve Broadcast Message.
148 class ONIXS_EUREX_ETI_EXPORT BasketApproveBroadcast : public Message
149 {
150 public:
151  /// Initialize default instance.
153 
154  /// Message sequence number assigned to a non-order related Eurex ETI data stream.
156 
157  /// Unique ID assigned by the Eurex system during broadcast subscription in order to link broadcasts to the related
158  /// subscription.
160 
161  /// Is required to define the scope of a Retransmission Request.
163 
164  /// Indicates a retransmission message.
166 
167  /// Identifier for subscription and retransmission of an ETI data stream.
169 
170  /// Indicates whether this message is the last fragment (part) of a sequence of messages belonging to one dedicated
171  /// transaction.
173 
174  /// System defined Basket ID.
176 
177  /// System defined Original Basket ID.
179 
180  /// Timestamp of the match event (trade).
182 
183  /// System generated transaction ID for a Basket transaction.
185 
186  /// The product identifier uniquely identifies a Eurex product.
188 
189  /// ID of the Basket profile.
191 
192  /// Indicates if a trade should be reported via the market reporting service.
194 
195  /// Identifies the type of trade notification.
197 
198  /// Basket operation.
200 
201  /// Indicates whether the counterparties have the right for early termination.
203 
204  /// Receiver of a message.
206 
207  /// Entering Business Unit.
209 
210  /// The entering user.
211  std::string partyEnteringTrader;
212 
213  /// User defined text message field.
215 
216  /// User defined transaction ID. Part of the TES response and TES broadcast.
217  std::string tradeReportId;
218 
219  /// Basket Root Party Group.
220  std::vector<BasketRootPartyGrpElem> basketRootPartyGrp;
221 
222  /// Basket Side Alloc Ext B C Group.
223  std::vector<BasketSideAllocExtBCGrpElem> basketSideAllocExtBCGrp;
224 
225  /// Returns template ID.
226  TemplateId::Enum templateId() const;
227 
228  /// Returns string representation.
229  std::string toString() const;
230 
231 private:
232  friend class Serializer;
233  BasketApproveBroadcast(const void* data, size_t dataSize, MessageInfo& msgInfo);
234  void nativeSerializeTo(void* nativeMessage);
235 };
236 
237 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const BasketApproveBroadcast&);
238 
239 }}} // namespace OnixS::Eurex::Trading
BasketTradeReportType::Enum basketTradeReportType
Basket operation.
EffectOnBasket::Enum effectOnBasket
Transaction effect on a basket.
Enum
Indicates a retransmission message.
Definition: Enumerations.h:76
SInt64 securityId
The instrument identifier uniquely identifies an instrument in the core system.
UInt32 basketExecId
System generated transaction ID for a Basket transaction.
UInt64 basketTrdMatchId
System defined Basket ID.
TradeReportType::Enum tradeReportType
Identifies the type of trade notification.
Enum
Side of the order.
unsigned long long UInt64
Definition: Defines.h:46
Enum
Indicates if a trade should be reported via the market reporting service.
ProductComplex::Enum productComplex
This field qualifies an instrument type on Eurex.
SideTrdSubTyp::Enum sideTrdSubTyp
Sub-type of a trade type.
signed int SInt32
Definition: Defines.h:41
Enum
This field qualifies an instrument type on Eurex.
UInt64 applSeqNum
Message sequence number assigned to a non-order related Eurex ETI data stream.
OptionalEarlyTerminationIndicator::Enum optionalEarlyTerminationIndicator
Indicates whether the counterparties have the right for early termination.
Enum
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.
std::string partyIdTakeUpTradingFirm
Indicates the name of a member institution to which a give-up is designated.
UInt64 transBkdTime
Trade Closure Time, the time when an Off-Book trade was concluded outside the Eurex System...
Enum
Status of an allocation in a Trade Entry Service trade.
std::string freeText2
Second free-format text field for trader-specific or customer-related comments.
ApplResendFlag::Enum applResendFlag
Indicates a retransmission message.
Message base class.
Definition: Message.h:32
std::string freeText1
First free-format text field for trader-specific or customer-related comments.
std::string partyExecutingFirm
Owning business unit name.
std::vector< BasketSideAllocExtBCGrpElem > basketSideAllocExtBCGrp
Basket Side Alloc Ext B C Group.
std::string tradeReportId
User defined transaction ID. Part of the TES response and TES broadcast.
std::string partyIdPositionAccount
Flex Account information.
std::string partyIdBeneficiary
Mandatory final KRX beneficiary account required for orders in KRX products.
unsigned int UInt32
Definition: Defines.h:45
MessageEventSource::Enum messageEventSource
Receiver of a message.
signed long long SInt64
Definition: Defines.h:42
Enum
Transaction effect on a basket.
Definition: Enumerations.h:367
std::ostream & operator<<(std::ostream &, ConnectionState::Enum)
Make it printable using C++ I/O streams.
std::vector< BasketRootPartyGrpElem > basketRootPartyGrp
Basket Root Party Group.
ApplId::Enum applId
Identifier for subscription and retransmission of an ETI data stream.
SInt32 marketSegmentId
The product identifier uniquely identifies a Eurex product.
std::string account
Account to book trades and keep positions on.
Enum
Identifier for subscription and retransmission of an ETI data stream.
Definition: Enumerations.h:33
PartySubIdType::Enum partySubIdType
Party sub-type.
UInt64 transactTime
Timestamp of the match event (trade).
Enum
Indicates whether the counterparties have the right for early termination.
UInt64 origBasketTrdMatchId
System defined Original Basket ID.
SInt64 allocQty
Quantity of the particular trade side in the TES trade.
Enum
Sub-type of a trade type.
TradeAllocStatus::Enum tradeAllocStatus
Status of an allocation in a Trade Entry Service trade.
TrdType::Enum trdType
Indicates if a trade should be reported via the market reporting service.
UInt32 allocId
Unique identifier for a TES Trade side.
std::string partyIdOrderOriginationFirm
Partner identification at the Korea Exchange is required for orders in KRX products.
Enum
Identifies the type of trade notification.
unsigned short UInt16
Definition: Defines.h:44
Basket Side Alloc Ext B C Group Element.
PartyIdEnteringFirm::Enum partyIdEnteringFirm
Entering Business Unit.
std::string basketTradeReportText
User defined text message field.
UInt32 basketProfileId
ID of the Basket profile.
std::string partyIdLocationId
Country code. Valid characters: 0x01-0x7E.
UInt32 packageId
Identifier for a Trade Entry Service trade, i.e TES trade ID.
UInt16 partitionId
Is required to define the scope of a Retransmission Request.
TradePublishIndicator::Enum tradePublishIndicator
Indicates if a trade should be reported via the market reporting service.