OnixS Eurex ETI Handler C++ library  9.21.0
API documentation
SRQSHitQuoteRequest.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 /// SRQS Hit Quote Group Element.
36 class ONIXS_EUREX_ETI_EXPORT SRQSHitQuoteGrpElem
37 {
38 public:
39  /// Initialize default instance.
41 
42  /// Total Order Quantity.
44 
45  /// Customer defined mass quote identifier.
47 
48  /// Side of the order.
50 
51  /// Returns string representation.
52  std::string toString() const;
53 
54 private:
55  friend class Serializer;
56  SRQSHitQuoteGrpElem(const void* data);
57 };
58 
59 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const SRQSHitQuoteGrpElem&);
60 
61 /// SRQS Hit Quote Request Message.
62 class ONIXS_EUREX_ETI_EXPORT SRQSHitQuoteRequest : public Message
63 {
64 public:
65  /// Initialize default instance.
67 
68  /// User ID.
70 
71  /// Time until a message is valid.
73 
74  /// Nominal value.
76 
77  /// Value of stipulation.
79 
80  /// Client Identifier field (ESMA Field 3 (Section A)) used to identify the client of an order for agent account of
81  /// the member or participant of the trading venue.
83 
84  /// Investment decision within firm (ESMA Field 4 (Section A)) is the code used to identify the person or the
85  /// algorithm within the member or participant of the Trading Venue who is responsible for the investment decision.
87 
88  /// Executing Trader data Field (ESMA Field 5 (Section A)) used to identify the person or algorithm within the
89  /// member or participant of the trading venue who is responsible for the execution of the transaction resulting
90  /// from the order.
92 
93  /// The product identifier uniquely identifies a Eurex product.
95 
96  /// ID of a SRQS negotiation.
98 
99  /// Order attribute liquidity provision.
101 
102  /// Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos.
104 
105  /// Party ID investment decision maker qualifier.
107 
108  /// This field designates if the trader is acting in the capacity of agent, trading for its own account or acting as
109  /// a market maker.
111 
112  /// Indicates if a trade should be reported via the market reporting service.
114 
115  /// Order origination, MiFID field - to indicate order received from a direct access or sponsored access customer.
117 
118  /// Indication for the hedge transaction.
120 
121  /// Owning business unit name.
122  std::string partyExecutingFirm;
123 
124  /// Owning user name.
125  std::string partyExecutingTrader;
126 
127  /// User defined deal ID.
128  std::string firmTradeId;
129 
130  /// First free-format text field for trader-specific or customer-related comments.
131  std::string freeText1;
132 
133  /// Second free-format text field for trader-specific or customer-related comments.
134  std::string freeText2;
135 
136  /// Third free-format text field for trader-specific or customer-related comments.
137  std::string freeText3;
138 
139  /// Text field.
140  std::string freeText5;
141 
142  /// Field is used for Eurex position management purposes and indicates whether the order is submitted to open or
143  /// close a position.
145 
146  /// Account to book trades and keep positions on.
147  std::string account;
148 
149  /// Mandatory final KRX beneficiary account required for orders in KRX products.
150  std::string partyIdBeneficiary;
151 
152  /// Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier. The field is for
153  /// participant use only. Valid characters: 0x20, 0x22-0x7B, 0x7D, 0x7E.
155 
156  /// Partner identification at the Korea Exchange is required for orders in KRX products.
158 
159  /// Flex Account information.
161 
162  /// Country code. Valid characters: 0x01-0x7E.
163  std::string partyIdLocationId;
164 
165  /// This field is used to provide additional regulatory information (according to respective rules and regs,
166  /// circulars and bilateral coordination between participant and Trading Surveillance Office).
167  std::string complianceText;
168 
169  /// Indicates the name of a member institution to which a give-up is designated.
171 
172  /// End client identifier.
174 
175  /// SRQS Hit Quote Group.
176  std::vector<SRQSHitQuoteGrpElem> sRQSHitQuoteGrp;
177 
178  /// Returns template ID.
179  TemplateId::Enum templateId() const;
180 
181  /// Returns string representation.
182  std::string toString() const;
183 
184 private:
185  friend class Serializer;
186  SRQSHitQuoteRequest(const void* data, size_t dataSize, MessageInfo& msgInfo);
187  void nativeSerializeTo(void* nativeMessage);
188 };
189 
190 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const SRQSHitQuoteRequest&);
191 
192 }}} // namespace OnixS::Eurex::Trading
Enum
Party ID investment decision maker qualifier.
std::string partyIdPositionAccount
Flex Account information.
Enum
Indication for the hedge transaction.
Definition: Enumerations.h:664
OrderAttributeLiquidityProvision::Enum orderAttributeLiquidityProvision
Order attribute liquidity provision.
ExecutingTraderQualifier::Enum executingTraderQualifier
Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos...
std::string partyIdBeneficiary
Mandatory final KRX beneficiary account required for orders in KRX products.
Enum
Side of the order.
std::string partyEndClientIdentification
End client identifier.
unsigned long long UInt64
Definition: Defines.h:46
std::string freeText3
Third free-format text field for trader-specific or customer-related comments.
std::string partyExecutingTrader
Owning user name.
signed int SInt32
Definition: Defines.h:41
Enum
Indicates if a trade should be reported via the market reporting service.
UInt32 negotiationId
ID of a SRQS negotiation.
SInt64 underlyingPriceStipValue
Value of stipulation.
std::vector< SRQSHitQuoteGrpElem > sRQSHitQuoteGrp
SRQS Hit Quote Group.
Message base class.
Definition: Message.h:32
Enum
Order origination, MiFID field - to indicate order received from a direct access or sponsored access ...
std::string freeText1
First free-format text field for trader-specific or customer-related comments.
SInt32 marketSegmentId
The product identifier uniquely identifies a Eurex product.
std::string partyExecutingFirm
Owning business unit name.
UInt64 quoteId
Customer defined mass quote identifier.
std::string firmTradeId
User defined deal ID.
unsigned int UInt32
Definition: Defines.h:45
std::string partyIdTakeUpTradingFirm
Indicates the name of a member institution to which a give-up is designated.
signed long long SInt64
Definition: Defines.h:42
std::ostream & operator<<(std::ostream &, ConnectionState::Enum)
Make it printable using C++ I/O streams.
CustOrderHandlingInst::Enum custOrderHandlingInst
std::string partyIdLocationId
Country code. Valid characters: 0x01-0x7E.
TradePublishIndicator::Enum tradePublishIndicator
Indicates if a trade should be reported via the market reporting service.
std::string partyIdOrderOriginationFirm
Partner identification at the Korea Exchange is required for orders in KRX products.
std::string freeText2
Second free-format text field for trader-specific or customer-related comments.
OrderOrigination::Enum orderOrigination
Order origination, MiFID field - to indicate order received from a direct access or sponsored access ...
UInt64 validUntilTime
Time until a message is valid.
PartyIdInvestmentDecisionMakerQualifier::Enum partyIdInvestmentDecisionMakerQualifier
Party ID investment decision maker qualifier.
HedgingInstruction::Enum hedgingInstruction
Indication for the hedge transaction.
Enum
Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos...
Definition: Enumerations.h:551
SRQS Hit Quote Request Message.
std::string account
Account to book trades and keep positions on.