OnixS Eurex ETI Handler C++ library  9.22.0
API documentation
SRQSOpenNegotiationNotification.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 /// Quot Req Legs Group Element.
36 class ONIXS_EUREX_ETI_EXPORT QuotReqLegsGrpElem
37 {
38 public:
39  /// Initialize default instance.
41 
42  /// Instrument identifiier of the leg security.
44 
45  /// The ratio of quantity for this individual leg relative to the entire multileg security.
47 
48  /// Product identifiier of the leg security.
50 
51  /// Indicates type of leg.
53 
54  /// The side of the individual leg of a strategy.
56 
57  /// Returns string representation.
58  std::string toString() const;
59 
60 private:
61  friend class Serializer;
62  QuotReqLegsGrpElem(const void* data);
63 };
64 
65 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const QuotReqLegsGrpElem&);
66 
67 /// SRQS Open Negotiation Notification Message.
68 class ONIXS_EUREX_ETI_EXPORT SRQSOpenNegotiationNotification : public Message
69 {
70 public:
71  /// Initialize default instance.
73 
74  /// Message sequence number assigned to a non-order related Eurex ETI data stream.
76 
77  /// Unique ID assigned by the Eurex system during broadcast subscription in order to link broadcasts to the related
78  /// subscription.
80 
81  /// Indicates a retransmission message.
83 
84  /// Identifier for subscription and retransmission of an ETI data stream.
86 
87  /// Indicates whether this message is the last fragment (part) of a sequence of messages belonging to one dedicated
88  /// transaction.
90 
91  /// Timestamp of the match event (trade).
93 
94  /// Start time of SRQS negotiation.
96 
97  /// The instrument identifier uniquely identifies an instrument in the core system.
99 
100  /// Bid price/rate.
102 
103  /// Offer price/rate.
105 
106  /// Remaining quantity of an order.
108 
109  /// Quantity executed in this leg fill.
111 
112  /// Price of this leg fill.
114 
115  /// Underlying reference price for an option (for option strategies).
117 
118  /// The underlying delta of a Vola-Strategy.
120 
121  /// Time a message expires.
123 
124  /// Ratio indicating amount of Trades to RFQ requested.
126 
127  /// Ratio of Trades to Quotes.
129 
130  /// ID of a SRQS negotiation.
132 
133  /// The product identifier uniquely identifies a Eurex product.
135 
136  /// This field indicates the type of a Eurex futures spread, Eurex option combination or Eurex Strategy.
138 
139  /// Total number of Respondents in a SRQS event.
141 
142  /// Ranking position of Ratio of Trades to Quotes.
144 
145  /// Quote type.
147 
148  /// Sub-type or qualifier of QuoteType.
150 
151  /// Side of the order.
153 
154  /// This field qualifies an instrument type on Eurex.
156 
157  /// Specifies the type of respondents requested.
159 
160  /// Trade Aggregation Identifier.
162 
163  /// Status of the quote.
165 
166  /// Owning business unit name.
167  std::string partyExecutingFirm;
168 
169  /// Owning user name.
170  std::string partyExecutingTrader;
171 
172  /// The entering user.
173  std::string partyEnteringTrader;
174 
175  /// Name of the target business unit.
177 
178  /// Name of the target trader name.
180 
181  /// User defined ID of a SRQS negotiation.
182  std::string firmNegotiationId;
183 
184  /// Text field.
185  std::string freeText5;
186 
187  /// Buy-side user information.
189 
190  /// Charge ID of Third Party Platform.
191  std::string chargeId;
192 
193  /// Quot Req Legs Group.
194  std::vector<QuotReqLegsGrpElem> quotReqLegsGrp;
195 
196  /// Returns template ID.
197  TemplateId::Enum templateId() const;
198 
199  /// Returns string representation.
200  std::string toString() const;
201 
202 private:
203  friend class Serializer;
204  SRQSOpenNegotiationNotification(const void* data, size_t dataSize, MessageInfo& msgInfo);
205  void nativeSerializeTo(void* nativeMessage);
206 };
207 
208 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const SRQSOpenNegotiationNotification&);
209 
210 }}}
SInt64 legSecurityId
Instrument identifiier of the leg security.
SInt32 legSymbol
Product identifiier of the leg security.
Enum
Indicates a retransmission message.
Definition: Enumerations.h:76
Enum
Side of the order.
std::string targetPartyExecutingFirm
Name of the target business unit.
UInt64 applSeqNum
Message sequence number assigned to a non-order related Eurex ETI data stream.
unsigned long long UInt64
Definition: Defines.h:46
Enum
Specifies the type of respondents requested.
Enum
The side of the individual leg of a strategy.
Definition: Enumerations.h:925
UInt16 tradeToQuoteRatioPosition
Ranking position of Ratio of Trades to Quotes.
signed int SInt32
Definition: Defines.h:41
Enum
This field qualifies an instrument type on Eurex.
std::vector< QuotReqLegsGrpElem > quotReqLegsGrp
Quot Req Legs Group.
SInt64 quoteRefPrice
Underlying reference price for an option (for option strategies).
SInt64 securityId
The instrument identifier uniquely identifies an instrument in the core system.
Message base class.
Definition: Message.h:32
SInt32 securitySubType
This field indicates the type of a Eurex futures spread, Eurex option combination or Eurex Strategy...
LegSide::Enum legSide
The side of the individual leg of a strategy.
ApplResendFlag::Enum applResendFlag
Indicates a retransmission message.
RespondentType::Enum respondentType
Specifies the type of respondents requested.
SInt64 underlyingDeltaPercentage
The underlying delta of a Vola-Strategy.
ProductComplex::Enum productComplex
This field qualifies an instrument type on Eurex.
unsigned int UInt32
Definition: Defines.h:45
signed long long SInt64
Definition: Defines.h:42
std::ostream & operator<<(std::ostream &, ConnectionState::Enum)
Make it printable using C++ I/O streams.
UInt32 numberOfRespondents
Total number of Respondents in a SRQS event.
std::string targetPartyExecutingTrader
Name of the target trader name.
SInt64 tradeToRequestRatio
Ratio indicating amount of Trades to RFQ requested.
LegSecurityType::Enum legSecurityType
Indicates type of leg.
UInt32 legRatioQty
The ratio of quantity for this individual leg relative to the entire multileg security.
Enum
Identifier for subscription and retransmission of an ETI data stream.
Definition: Enumerations.h:33
SInt32 marketSegmentId
The product identifier uniquely identifies a Eurex product.
ApplId::Enum applId
Identifier for subscription and retransmission of an ETI data stream.
TradeAggregationTransType::Enum tradeAggregationTransType
Trade Aggregation Identifier.
std::string firmNegotiationId
User defined ID of a SRQS negotiation.
unsigned short UInt16
Definition: Defines.h:44
Enum
Sub-type or qualifier of QuoteType.
QuoteSubType::Enum quoteSubType
Sub-type or qualifier of QuoteType.