OnixS Eurex ETI Handler C++ library  9.19.0
API documentation
SRQSCreateDealNotification.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"
27 
28 #include <iosfwd>
29 #include <string>
30 #include <vector>
31 
32 namespace OnixS {
33 namespace Eurex {
34 namespace Trading {
35 
36 /// Order Book Item Group Element.
37 class ONIXS_EUREX_ETI_EXPORT OrderBookItemGrpElem
38 {
39 public:
40  /// Initialize default instance.
42 
43  /// The instrument identifier uniquely identifies an instrument in the core system.
45 
46  /// On-book trading best bid price.
48 
49  /// On-book trading best bid quantity.
51 
52  /// On-book trading best offer price.
54 
55  /// On-book trading best ask quantity.
57 
58  /// Type of market data.
60 
61  /// Sub-type (qualifier) of market data.
63 
64  /// Returns string representation.
65  std::string toString () const;
66 
67 private:
68  friend class Serializer;
69  OrderBookItemGrpElem (const void* data);
70 };
71 
72 ONIXS_EUREX_ETI_EXPORT std::ostream& operator << (std::ostream&, const OrderBookItemGrpElem&);
73 
74 /// SRQS Target Party Trd Group Element.
75 class ONIXS_EUREX_ETI_EXPORT SRQSTargetPartyTrdGrpElem
76 {
77 public:
78  /// Initialize default instance.
80 
81  /// Fill quantity for the original Eurex strategy.
83 
84  /// Customer defined mass quote identifier.
86 
87  /// Owning User ID.
89 
90  /// Name of the target business unit.
92 
93  /// Name of the target trader name.
95 
96  /// Name of target user/trader.
98 
99  /// Returns string representation.
100  std::string toString () const;
101 
102 private:
103  friend class Serializer;
104  SRQSTargetPartyTrdGrpElem (const void* data);
105 };
106 
107 ONIXS_EUREX_ETI_EXPORT std::ostream& operator << (std::ostream&, const SRQSTargetPartyTrdGrpElem&);
108 
109 /// SRQS Create Deal Notification Message.
110 class ONIXS_EUREX_ETI_EXPORT SRQSCreateDealNotification : public Message
111 {
112 public:
113  /// Initialize default instance.
115 
116  /// Message sequence number assigned to a non-order related Eurex ETI data stream.
118 
119  /// Unique ID assigned by the Eurex system during broadcast subscription in order to link broadcasts to the related subscription.
121 
122  /// Indicates a retransmission message.
124 
125  /// Identifier for subscription and retransmission of an ETI data stream.
127 
128  /// Indicates whether this message is the last fragment (part) of a sequence of messages belonging to one dedicated transaction.
130 
131  /// Timestamp of the match event (trade).
133 
134  /// Price of this leg fill.
136 
137  /// Quantity executed in this leg fill.
139 
140  /// The instrument identifier uniquely identifies an instrument in the core system.
142 
143  /// Time a message expires.
145 
146  /// Underlying price associate with a derivative instrument.
148 
149  /// The underlying delta of a Vola-Strategy.
151 
152  /// The effective underlying delta of a Vola-Strategy.
154 
155  /// Nominal value.
157 
158  /// Value of stipulation.
160 
161  /// ID of a SRQS negotiation.
163 
164  /// Uniquely identifies all order leg allocations referring to the same matching event, simple instrument and price.
166 
167  /// Original trade identifier in case of trade reversals.
169 
170  /// SRQS deal status.
172 
173  /// Identifies the type of trade notification.
175 
176  /// Receiver of a message.
178 
179  /// Side of the order.
181 
182  /// This field designates if the trader is acting in the capacity of agent, trading for its own account or acting as a market maker.
184 
185  /// Indicates if a trade should be reported via the market reporting service.
187 
188  /// Indication for the hedge transaction.
190 
191  /// Participant Short Name.
193 
194  /// Owning User Short Name.
196 
197  /// Entering trader name of the requester.
199 
200  /// User defined deal ID.
201  std::string firmTradeId;
202 
203  /// User defined ID of a SRQS negotiation.
204  std::string firmNegotiationId;
205 
206  /// First free-format text field for trader-specific or customer-related comments.
207  std::string freeText1;
208 
209  /// Second free-format text field for trader-specific or customer-related comments.
210  std::string freeText2;
211 
212  /// Third free-format text field for trader-specific or customer-related comments.
213  std::string freeText3;
214 
215  /// Text field.
216  std::string freeText5;
217 
218  /// Field is used for Eurex position management purposes and indicates whether the order is submitted to open or close a position.
220 
221  /// Account to book trades and keep positions on.
222  std::string account;
223 
224  /// Mandatory final KRX beneficiary account required for orders in KRX products.
225  std::string partyIdBeneficiary;
226 
227  /// 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.
229 
230  /// Partner identification at the Korea Exchange is required for orders in KRX products.
232 
233  /// Flex Account information.
235 
236  /// Country code. Valid characters: 0x01-0x7E.
237  std::string partyIdLocationId;
238 
239  /// 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).
240  std::string complianceText;
241 
242  /// Indicates the name of a member institution to which a give-up is designated.
244 
245  /// Order Book Item Group.
246  std::vector<OrderBookItemGrpElem> orderBookItemGrp;
247 
248  /// SRQS Target Party Trd Group.
249  std::vector<SRQSTargetPartyTrdGrpElem> sRQSTargetPartyTrdGrp;
250 
251  /// Returns template ID.
252  TemplateId::Enum templateId () const;
253 
254  /// Returns string representation.
255  std::string toString () const;
256 
257 private:
258  friend class Serializer;
259  SRQSCreateDealNotification (const void* data, size_t dataSize, MessageInfo& msgInfo);
260  void nativeSerializeTo (void* nativeMessage);
261 };
262 
263 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const SRQSCreateDealNotification&);
264 
265 }
266 }
267 }
HedgingInstruction::Enum hedgingInstruction
Indication for the hedge transaction.
std::string freeText3
Third free-format text field for trader-specific or customer-related comments.
ApplResendFlag::Enum applResendFlag
Indicates a retransmission message.
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
Enum
Indication for the hedge transaction.
Definition: Enumerations.h:568
SInt64 bestOfferSize
On-book trading best ask quantity.
Enum
Side of the order.
std::string targetPartyExecutingFirm
Name of the target business unit.
unsigned long long UInt64
Definition: Defines.h:47
UInt64 applSeqNum
Message sequence number assigned to a non-order related Eurex ETI data stream.
Enum
Sub-type (qualifier) of market data.
Definition: Enumerations.h:829
MDSubBookType::Enum mdSubBookType
Sub-type (qualifier) of market data.
Enum
Field is used for Eurex position management purposes and indicates whether the order is submitted to ...
SInt64 bestBidPx
On-book trading best bid price.
Enum
Indicates if a trade should be reported via the market reporting service.
std::string freeText1
First free-format text field for trader-specific or customer-related comments.
std::string partyIdPositionAccount
Flex Account information.
TradingCapacity::Enum tradingCapacity
This field designates if the trader is acting in the capacity of agent, trading for its own account o...
std::string partyIdTakeUpTradingFirm
Indicates the name of a member institution to which a give-up is designated.
SInt64 sideLastQty
Fill quantity for the original Eurex strategy.
std::string targetPartyEnteringTrader
Name of target user/trader.
std::string freeText2
Second free-format text field for trader-specific or customer-related comments.
Message base class.
Definition: Message.h:33
SInt64 underlyingEffectiveDeltaPercentage
The effective underlying delta of a Vola-Strategy.
UInt32 tradeId
Uniquely identifies all order leg allocations referring to the same matching event, simple instrument and price.
UInt64 transactTime
Timestamp of the match event (trade).
std::string complianceText
This field is used to provide additional regulatory information (according to respective rules and re...
UInt64 quoteId
Customer defined mass quote identifier.
TradePublishIndicator::Enum tradePublishIndicator
Indicates if a trade should be reported via the market reporting service.
Enum
Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier...
Definition: Enumerations.h:271
TradeReportType::Enum tradeReportType
Identifies the type of trade notification.
std::string firmNegotiationId
User defined ID of a SRQS negotiation.
unsigned int UInt32
Definition: Defines.h:46
SInt64 underlyingDeltaPercentage
The underlying delta of a Vola-Strategy.
UInt32 origTradeId
Original trade identifier in case of trade reversals.
signed long long SInt64
Definition: Defines.h:43
LastFragment::Enum lastFragment
Indicates whether this message is the last fragment (part) of a sequence of messages belonging to one...
CustOrderHandlingInst::Enum custOrderHandlingInst
Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier...
std::string targetPartyExecutingTrader
Name of the target trader name.
std::string rootPartyExecutingFirm
Participant Short Name.
std::string partyIdOrderOriginationFirm
Partner identification at the Korea Exchange is required for orders in KRX products.
SInt64 securityId
The instrument identifier uniquely identifies an instrument in the core system.
SInt64 bestBidSize
On-book trading best bid quantity.
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
std::string partyIdLocationId
Country code. Valid characters: 0x01-0x7E.
ApplId::Enum applId
Identifier for subscription and retransmission of an ETI data stream.
std::vector< SRQSTargetPartyTrdGrpElem > sRQSTargetPartyTrdGrp
SRQS Target Party Trd Group.
SInt64 underlyingPx
Underlying price associate with a derivative instrument.
SInt64 lastQty
Quantity executed in this leg fill.
std::ostream & operator<<(std::ostream &, const ConnectionStateChange &)
Make it printable to formatted C++ I/O streams.
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...
MDBookType::Enum mdBookType
Type of market data.
Enum
Identifies the type of trade notification.
PositionEffect::Enum positionEffect
Field is used for Eurex position management purposes and indicates whether the order is submitted to ...
MessageEventSource::Enum messageEventSource
Receiver of a message.
std::vector< OrderBookItemGrpElem > orderBookItemGrp
Order Book Item Group.
SInt64 bestOfferPx
On-book trading best offer price.
SInt64 securityId
The instrument identifier uniquely identifies an instrument in the core system.
std::string rootPartyEnteringTrader
Entering trader name of the requester.
UInt32 applSubId
Unique ID assigned by the Eurex system during broadcast subscription in order to link broadcasts to t...
std::string rootPartyExecutingTrader
Owning User Short Name.