OnixS Eurex ETI Handler C++ library  9.22.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
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"
28 
29 #include <iosfwd>
30 #include <string>
31 #include <vector>
32 
33 namespace OnixS { namespace Eurex { namespace Trading {
34 
35 /// Order Book Item Group Element.
36 class ONIXS_EUREX_ETI_EXPORT OrderBookItemGrpElem
37 {
38 public:
39  /// Initialize default instance.
41 
42  /// The instrument identifier uniquely identifies an instrument in the core system.
44 
45  /// On-book trading best bid price.
47 
48  /// On-book trading best bid quantity.
50 
51  /// On-book trading best offer price.
53 
54  /// On-book trading best ask quantity.
56 
57  /// Type of market data.
59 
60  /// Sub-type (qualifier) of market data.
62 
63  /// Returns string representation.
64  std::string toString() const;
65 
66 private:
67  friend class Serializer;
68  OrderBookItemGrpElem(const void* data);
69 };
70 
71 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const OrderBookItemGrpElem&);
72 
73 /// SRQS Target Party Trd Group Element.
74 class ONIXS_EUREX_ETI_EXPORT SRQSTargetPartyTrdGrpElem
75 {
76 public:
77  /// Initialize default instance.
79 
80  /// Fill quantity for the original Eurex strategy.
82 
83  /// Customer defined mass quote identifier.
85 
86  /// Owning User ID.
88 
89  /// Name of the target business unit.
91 
92  /// Name of the target trader name.
94 
95  /// Name of target user/trader.
97 
98  /// Returns string representation.
99  std::string toString() const;
100 
101 private:
102  friend class Serializer;
103  SRQSTargetPartyTrdGrpElem(const void* data);
104 };
105 
106 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const SRQSTargetPartyTrdGrpElem&);
107 
108 /// SRQS Create Deal Notification Message.
109 class ONIXS_EUREX_ETI_EXPORT SRQSCreateDealNotification : public Message
110 {
111 public:
112  /// Initialize default instance.
114 
115  /// Message sequence number assigned to a non-order related Eurex ETI data stream.
117 
118  /// Unique ID assigned by the Eurex system during broadcast subscription in order to link broadcasts to the related
119  /// 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
129  /// transaction.
131 
132  /// Timestamp of the match event (trade).
134 
135  /// Price of this leg fill.
137 
138  /// Quantity executed in this leg fill.
140 
141  /// The instrument identifier uniquely identifies an instrument in the core system.
143 
144  /// Time a message expires.
146 
147  /// Underlying price associate with a derivative instrument.
149 
150  /// The underlying delta of a Vola-Strategy.
152 
153  /// The effective underlying delta of a Vola-Strategy.
155 
156  /// Nominal value.
158 
159  /// Value of stipulation.
161 
162  /// ID of a SRQS negotiation.
164 
165  /// Uniquely identifies all order leg allocations referring to the same matching event, simple instrument and price.
167 
168  /// Original trade identifier in case of trade reversals.
170 
171  /// SRQS deal status.
173 
174  /// Identifies the type of trade notification.
176 
177  /// Receiver of a message.
179 
180  /// Side of the order.
182 
183  /// This field designates if the trader is acting in the capacity of agent, trading for its own account or acting as
184  /// a market maker.
186 
187  /// Indicates if a trade should be reported via the market reporting service.
189 
190  /// Indication for the hedge transaction.
192 
193  /// Participant Short Name.
195 
196  /// Owning User Short Name.
198 
199  /// Entering trader name of the requester.
201 
202  /// User defined deal ID.
203  std::string firmTradeId;
204 
205  /// User defined ID of a SRQS negotiation.
206  std::string firmNegotiationId;
207 
208  /// First free-format text field for trader-specific or customer-related comments.
209  std::string freeText1;
210 
211  /// Second free-format text field for trader-specific or customer-related comments.
212  std::string freeText2;
213 
214  /// Third free-format text field for trader-specific or customer-related comments.
215  std::string freeText3;
216 
217  /// Text field.
218  std::string freeText5;
219 
220  /// Field is used for Eurex position management purposes and indicates whether the order is submitted to open or
221  /// close a position.
223 
224  /// Account to book trades and keep positions on.
225  std::string account;
226 
227  /// Mandatory final KRX beneficiary account required for orders in KRX products.
228  std::string partyIdBeneficiary;
229 
230  /// Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier. The field is for
231  /// participant use only. Valid characters: 0x20, 0x22-0x7B, 0x7D, 0x7E.
233 
234  /// Partner identification at the Korea Exchange is required for orders in KRX products.
236 
237  /// Flex Account information.
239 
240  /// Country code. Valid characters: 0x01-0x7E.
241  std::string partyIdLocationId;
242 
243  /// This field is used to provide additional regulatory information (according to respective rules and regs,
244  /// circulars and bilateral coordination between participant and Trading Surveillance Office).
245  std::string complianceText;
246 
247  /// Indicates the name of a member institution to which a give-up is designated.
249 
250  /// Order Book Item Group.
251  std::vector<OrderBookItemGrpElem> orderBookItemGrp;
252 
253  /// SRQS Target Party Trd Group.
254  std::vector<SRQSTargetPartyTrdGrpElem> sRQSTargetPartyTrdGrp;
255 
256  /// Returns template ID.
257  TemplateId::Enum templateId() const;
258 
259  /// Returns string representation.
260  std::string toString() const;
261 
262 private:
263  friend class Serializer;
264  SRQSCreateDealNotification(const void* data, size_t dataSize, MessageInfo& msgInfo);
265  void nativeSerializeTo(void* nativeMessage);
266 };
267 
268 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const SRQSCreateDealNotification&);
269 
270 }}}
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 a retransmission message.
Definition: Enumerations.h:76
Enum
Indication for the hedge transaction.
Definition: Enumerations.h:664
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:46
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:979
MDSubBookType::Enum mdSubBookType
Sub-type (qualifier) of market data.
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.
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:32
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).
UInt64 quoteId
Customer defined mass quote identifier.
TradePublishIndicator::Enum tradePublishIndicator
Indicates if a trade should be reported via the market reporting service.
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:45
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:42
std::ostream & operator<<(std::ostream &, ConnectionState::Enum)
Make it printable using C++ I/O streams.
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:33
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::string partyIdBeneficiary
Mandatory final KRX beneficiary account required for orders in KRX products.
MDBookType::Enum mdBookType
Type of market data.
Enum
Identifies the type of trade notification.
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.
std::string rootPartyExecutingTrader
Owning User Short Name.