OnixS Eurex ETI Handler C++ library  9.21.0
API documentation
SRQSDealNotification.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 /// SRQS Deal Notification Message.
37 class ONIXS_EUREX_ETI_EXPORT SRQSDealNotification : public Message
38 {
39 public:
40  /// Initialize default instance.
42 
43  /// Message sequence number assigned to a non-order related Eurex ETI data stream.
45 
46  /// Unique ID assigned by the Eurex system during broadcast subscription in order to link broadcasts to the related
47  /// subscription.
49 
50  /// Indicates a retransmission message.
52 
53  /// Identifier for subscription and retransmission of an ETI data stream.
55 
56  /// Indicates whether this message is the last fragment (part) of a sequence of messages belonging to one dedicated
57  /// transaction.
59 
60  /// Timestamp of the match event (trade).
62 
63  /// Value of stipulation.
65 
66  /// Underlying price associate with a derivative instrument.
68 
69  /// Price of this leg fill.
71 
72  /// Quantity executed in this leg fill.
74 
75  /// ID of a SRQS negotiation.
77 
78  /// Uniquely identifies all order leg allocations referring to the same matching event, simple instrument and price.
80 
81  /// Party type initiating SRQS deal deletion.
83 
84  /// SRQS deal status.
86 
87  /// Trade request transaction type.
89 
90  /// Receiver of a message.
92 
93  /// This field designates if the trader is acting in the capacity of agent, trading for its own account or acting as
94  /// a market maker.
96 
97  /// Participant Short Name.
99 
100  /// Owning User Short Name.
102 
103  /// Entering trader name of the requester.
105 
106  /// User defined deal ID.
107  std::string firmTradeId;
108 
109  /// User defined ID of a SRQS negotiation.
110  std::string firmNegotiationId;
111 
112  /// First free-format text field for trader-specific or customer-related comments.
113  std::string freeText1;
114 
115  /// Second free-format text field for trader-specific or customer-related comments.
116  std::string freeText2;
117 
118  /// Third free-format text field for trader-specific or customer-related comments.
119  std::string freeText3;
120 
121  /// Text field.
122  std::string freeText5;
123 
124  /// Field is used for Eurex position management purposes and indicates whether the order is submitted to open or
125  /// close a position.
127 
128  /// Account to book trades and keep positions on.
129  std::string account;
130 
131  /// Mandatory final KRX beneficiary account required for orders in KRX products.
132  std::string partyIdBeneficiary;
133 
134  /// Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier. The field is for
135  /// participant use only. Valid characters: 0x20, 0x22-0x7B, 0x7D, 0x7E.
137 
138  /// Partner identification at the Korea Exchange is required for orders in KRX products.
140 
141  /// Flex Account information.
143 
144  /// Country code. Valid characters: 0x01-0x7E.
145  std::string partyIdLocationId;
146 
147  /// This field is used to provide additional regulatory information (according to respective rules and regs,
148  /// circulars and bilateral coordination between participant and Trading Surveillance Office).
149  std::string complianceText;
150 
151  /// Indicates the name of a member institution to which a give-up is designated.
153 
154  /// SRQS Target Party Trd Group.
155  std::vector<SRQSTargetPartyTrdGrpElem> sRQSTargetPartyTrdGrp;
156 
157  /// Returns template ID.
158  TemplateId::Enum templateId() const;
159 
160  /// Returns string representation.
161  std::string toString() const;
162 
163 private:
164  friend class Serializer;
165  SRQSDealNotification(const void* data, size_t dataSize, MessageInfo& msgInfo);
166  void nativeSerializeTo(void* nativeMessage);
167 };
168 
169 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const SRQSDealNotification&);
170 
171 }}} // namespace OnixS::Eurex::Trading
SInt64 underlyingPx
Underlying price associate with a derivative instrument.
Enum
Indicates a retransmission message.
Definition: Enumerations.h:76
RequestingPartySubIdType::Enum requestingPartySubIdType
Party type initiating SRQS deal deletion.
std::string partyIdPositionAccount
Flex Account information.
std::string rootPartyExecutingFirm
Participant Short Name.
unsigned long long UInt64
Definition: Defines.h:46
ApplResendFlag::Enum applResendFlag
Indicates a retransmission message.
std::string freeText3
Third free-format text field for trader-specific or customer-related comments.
std::string partyIdBeneficiary
Mandatory final KRX beneficiary account required for orders in KRX products.
ApplId::Enum applId
Identifier for subscription and retransmission of an ETI data stream.
std::string partyIdLocationId
Country code. Valid characters: 0x01-0x7E.
std::vector< SRQSTargetPartyTrdGrpElem > sRQSTargetPartyTrdGrp
SRQS Target Party Trd Group.
UInt32 tradeId
Uniquely identifies all order leg allocations referring to the same matching event, simple instrument and price.
Message base class.
Definition: Message.h:32
SInt64 underlyingPriceStipValue
Value of stipulation.
Enum
Party type initiating SRQS deal deletion.
std::string partyIdTakeUpTradingFirm
Indicates the name of a member institution to which a give-up is designated.
std::string rootPartyEnteringTrader
Entering trader name of the requester.
std::string firmNegotiationId
User defined ID of a SRQS negotiation.
std::string freeText1
First free-format text field for trader-specific or customer-related comments.
TrdRptStatus::Enum trdRptStatus
SRQS deal status.
std::string firmTradeId
User defined deal ID.
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.
UInt64 applSeqNum
Message sequence number assigned to a non-order related Eurex ETI data stream.
std::string rootPartyExecutingTrader
Owning User Short Name.
TradeRequestResult::Enum tradeRequestResult
Trade request transaction type.
Enum
Identifier for subscription and retransmission of an ETI data stream.
Definition: Enumerations.h:33
SInt64 lastQty
Quantity executed in this leg fill.
Enum
Trade request transaction type.
std::string account
Account to book trades and keep positions on.
UInt64 transactTime
Timestamp of the match event (trade).
std::string partyIdOrderOriginationFirm
Partner identification at the Korea Exchange is required for orders in KRX products.
UInt32 negotiationId
ID of a SRQS negotiation.
MessageEventSource::Enum messageEventSource
Receiver of a message.
std::string freeText2
Second free-format text field for trader-specific or customer-related comments.