OnixS Eurex ETI Handler C++ library  9.19.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 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 /// Basket Side Alloc Ext B C Group Element.
38 class ONIXS_EUREX_ETI_EXPORT BasketSideAllocExtBCGrpElem
39 {
40 public:
41  /// Initialize default instance.
43 
44  /// Quantity of the particular trade side in the TES trade.
46 
47  /// The instrument identifier uniquely identifies an instrument in the core system.
49 
50  /// Price of this leg fill.
52 
53  /// Trade Closure Time, the time when an Off-Book trade was concluded outside the Eurex System.
55 
56  /// User defined index price.
58 
59  /// Identifier for a Trade Entry Service trade, i.e TES trade ID.
61 
62  /// Product ID.
64 
65  /// Unique identifier for a TES Trade side.
67 
68  /// Sub-type of a trade type.
70 
71  /// Party sub-type.
73 
74  /// Side of the order.
76 
77  /// Field is used for Eurex position management purposes and indicates whether the order is submitted to open or 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 a market maker.
85 
86  /// Status of an allocation in a Trade Entry Service trade.
88 
89  /// This field qualifies an instrument type on Eurex.
91 
92  /// Indicates if a trade should be reported via the market reporting service.
94 
95  /// Owning business unit name.
96  std::string partyExecutingFirm;
97 
98  /// Owning user name.
99  std::string partyExecutingTrader;
100 
101  /// Account to book trades and keep positions on.
102  std::string account;
103 
104  /// First free-format text field for trader-specific or customer-related comments.
105  std::string freeText1;
106 
107  /// Second free-format text field for trader-specific or customer-related comments.
108  std::string freeText2;
109 
110  /// Third free-format text field for trader-specific or customer-related comments.
111  std::string freeText3;
112 
113  /// Indicates the name of a member institution to which a give-up is designated.
115 
116  /// Partner identification at the Korea Exchange is required for orders in KRX products.
118 
119  /// Mandatory final KRX beneficiary account required for orders in KRX products.
120  std::string partyIdBeneficiary;
121 
122  /// Flex Account information.
124 
125  /// Country code. Valid characters: 0x01-0x7E.
126  std::string partyIdLocationId;
127 
128  /// 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.
130 
131  /// 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).
132  std::string complianceText;
133 
134  /// Returns string representation.
135  std::string toString () const;
136 
137 private:
138  friend class Serializer;
139  BasketSideAllocExtBCGrpElem (const void* data);
140 };
141 
142 ONIXS_EUREX_ETI_EXPORT std::ostream& operator << (std::ostream&, const BasketSideAllocExtBCGrpElem&);
143 
144 /// Basket Approve Broadcast Message.
145 class ONIXS_EUREX_ETI_EXPORT BasketApproveBroadcast : public Message
146 {
147 public:
148  /// Initialize default instance.
150 
151  /// Message sequence number assigned to a non-order related Eurex ETI data stream.
153 
154  /// Unique ID assigned by the Eurex system during broadcast subscription in order to link broadcasts to the related subscription.
156 
157  /// Is required to define the scope of a Retransmission Request.
159 
160  /// Indicates a retransmission message.
162 
163  /// Identifier for subscription and retransmission of an ETI data stream.
165 
166  /// Indicates whether this message is the last fragment (part) of a sequence of messages belonging to one dedicated transaction.
168 
169  /// System defined Basket ID.
171 
172  /// Timestamp of the match event (trade).
174 
175  /// System generated transaction ID for a Basket transaction.
177 
178  /// The product identifier uniquely identifies a Eurex product.
180 
181  /// ID of the Basket profile.
183 
184  /// Indicates if a trade should be reported via the market reporting service.
186 
187  /// Identifies the type of trade notification.
189 
190  /// Basket operation.
192 
193  /// Receiver of a message.
195 
196  /// Entering Business Unit.
198 
199  /// The entering user.
200  std::string partyEnteringTrader;
201 
202  /// User defined text message field.
204 
205  /// User defined transaction ID. Part of the TES response and TES broadcast.
206  std::string tradeReportId;
207 
208  /// Basket Root Party Group.
209  std::vector<BasketRootPartyGrpElem> basketRootPartyGrp;
210 
211  /// Basket Side Alloc Ext B C Group.
212  std::vector<BasketSideAllocExtBCGrpElem> basketSideAllocExtBCGrp;
213 
214  /// Returns template ID.
215  TemplateId::Enum templateId () const;
216 
217  /// Returns string representation.
218  std::string toString () const;
219 
220 private:
221  friend class Serializer;
222  BasketApproveBroadcast (const void* data, size_t dataSize, MessageInfo& msgInfo);
223  void nativeSerializeTo (void* nativeMessage);
224 };
225 
226 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const BasketApproveBroadcast&);
227 
228 }
229 }
230 }
BasketTradeReportType::Enum basketTradeReportType
Basket operation.
EffectOnBasket::Enum effectOnBasket
Transaction effect on a basket.
Enum
Indicates whether this message is the last fragment (part) of a sequence of messages belonging to one...
Definition: Enumerations.h:661
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...
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:47
PositionEffect::Enum positionEffect
Field is used for Eurex position management purposes and indicates whether the order is submitted to ...
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.
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.
UInt64 applSeqNum
Message sequence number assigned to a non-order related Eurex ETI data stream.
CustOrderHandlingInst::Enum custOrderHandlingInst
Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier...
Enum
Indicates if a trade should be reported via the market reporting service.
std::string complianceText
This field is used to provide additional regulatory information (according to respective rules and re...
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:33
std::string freeText1
First free-format text field for trader-specific or customer-related comments.
std::string partyExecutingFirm
Owning business unit name.
Enum
Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier...
Definition: Enumerations.h:271
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:46
MessageEventSource::Enum messageEventSource
Receiver of a message.
signed long long SInt64
Definition: Defines.h:43
Enum
Transaction effect on a basket.
Definition: Enumerations.h:313
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:34
PartySubIdType::Enum partySubIdType
Party sub-type.
UInt64 transactTime
Timestamp of the match event (trade).
SInt64 allocQty
Quantity of the particular trade side in the TES trade.
Enum
Sub-type of a trade type.
std::ostream & operator<<(std::ostream &, const ConnectionStateChange &)
Make it printable to formatted C++ I/O streams.
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.
TradingCapacity::Enum tradingCapacity
This field designates if the trader is acting in the capacity of agent, trading for its own account o...
Enum
This field designates if the trader is acting in the capacity of agent, trading for its own account o...
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:45
Basket Side Alloc Ext B C Group Element.
LastFragment::Enum lastFragment
Indicates whether this message is the last fragment (part) of a sequence of messages belonging to one...
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.