OnixS Eurex ETI Handler C++ library  9.19.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 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 /// SRQS Deal Notification Message.
38 class ONIXS_EUREX_ETI_EXPORT SRQSDealNotification : public Message
39 {
40 public:
41  /// Initialize default instance.
43 
44  /// Message sequence number assigned to a non-order related Eurex ETI data stream.
46 
47  /// Unique ID assigned by the Eurex system during broadcast subscription in order to link broadcasts to the related 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 transaction.
58 
59  /// Timestamp of the match event (trade).
61 
62  /// Value of stipulation.
64 
65  /// Underlying price associate with a derivative instrument.
67 
68  /// Price of this leg fill.
70 
71  /// Quantity executed in this leg fill.
73 
74  /// ID of a SRQS negotiation.
76 
77  /// Uniquely identifies all order leg allocations referring to the same matching event, simple instrument and price.
79 
80  /// Party type initiating SRQS deal deletion.
82 
83  /// SRQS deal status.
85 
86  /// Trade request transaction type.
88 
89  /// Receiver of a message.
91 
92  /// This field designates if the trader is acting in the capacity of agent, trading for its own account or acting as a market maker.
94 
95  /// Participant Short Name.
97 
98  /// Owning User Short Name.
100 
101  /// Entering trader name of the requester.
103 
104  /// User defined deal ID.
105  std::string firmTradeId;
106 
107  /// User defined ID of a SRQS negotiation.
108  std::string firmNegotiationId;
109 
110  /// First free-format text field for trader-specific or customer-related comments.
111  std::string freeText1;
112 
113  /// Second free-format text field for trader-specific or customer-related comments.
114  std::string freeText2;
115 
116  /// Third free-format text field for trader-specific or customer-related comments.
117  std::string freeText3;
118 
119  /// Text field.
120  std::string freeText5;
121 
122  /// Field is used for Eurex position management purposes and indicates whether the order is submitted to open or close a position.
124 
125  /// Account to book trades and keep positions on.
126  std::string account;
127 
128  /// Mandatory final KRX beneficiary account required for orders in KRX products.
129  std::string partyIdBeneficiary;
130 
131  /// 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.
133 
134  /// Partner identification at the Korea Exchange is required for orders in KRX products.
136 
137  /// Flex Account information.
139 
140  /// Country code. Valid characters: 0x01-0x7E.
141  std::string partyIdLocationId;
142 
143  /// 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).
144  std::string complianceText;
145 
146  /// Indicates the name of a member institution to which a give-up is designated.
148 
149  /// SRQS Target Party Trd Group.
150  std::vector<SRQSTargetPartyTrdGrpElem> sRQSTargetPartyTrdGrp;
151 
152  /// Returns template ID.
153  TemplateId::Enum templateId () const;
154 
155  /// Returns string representation.
156  std::string toString () const;
157 
158 private:
159  friend class Serializer;
160  SRQSDealNotification (const void* data, size_t dataSize, MessageInfo& msgInfo);
161  void nativeSerializeTo (void* nativeMessage);
162 };
163 
164 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const SRQSDealNotification&);
165 
166 }
167 }
168 }
SInt64 underlyingPx
Underlying price associate with a derivative instrument.
LastFragment::Enum lastFragment
Indicates whether this message is the last fragment (part) of a sequence of messages belonging to one...
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
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:47
ApplResendFlag::Enum applResendFlag
Indicates a retransmission message.
CustOrderHandlingInst::Enum custOrderHandlingInst
Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier...
UInt32 applSubId
Unique ID assigned by the Eurex system during broadcast subscription in order to link broadcasts to t...
std::string freeText3
Third free-format text field for trader-specific or customer-related comments.
Enum
Field is used for Eurex position management purposes and indicates whether the order is submitted to ...
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:33
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.
PositionEffect::Enum positionEffect
Field is used for Eurex position management purposes and indicates whether the order is submitted to ...
Enum
Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier...
Definition: Enumerations.h:271
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:46
signed long long SInt64
Definition: Defines.h:43
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.
TradingCapacity::Enum tradingCapacity
This field designates if the trader is acting in the capacity of agent, trading for its own account o...
Enum
Identifier for subscription and retransmission of an ETI data stream.
Definition: Enumerations.h:34
SInt64 lastQty
Quantity executed in this leg fill.
Enum
Trade request transaction type.
std::ostream & operator<<(std::ostream &, const ConnectionStateChange &)
Make it printable to formatted C++ I/O streams.
std::string account
Account to book trades and keep positions on.
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...
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.
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.