OnixS Eurex ETI Handler C++ library  9.19.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 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"
27 
28 #include <iosfwd>
29 #include <string>
30 #include <vector>
31 
32 namespace OnixS {
33 namespace Eurex {
34 namespace Trading {
35 
36 /// SRQS Hit Quote Group Element.
37 class ONIXS_EUREX_ETI_EXPORT SRQSHitQuoteGrpElem
38 {
39 public:
40  /// Initialize default instance.
42 
43  /// Total Order Quantity.
45 
46  /// Customer defined mass quote identifier.
48 
49  /// Side of the order.
51 
52  /// Returns string representation.
53  std::string toString () const;
54 
55 private:
56  friend class Serializer;
57  SRQSHitQuoteGrpElem (const void* data);
58 };
59 
60 ONIXS_EUREX_ETI_EXPORT std::ostream& operator << (std::ostream&, const SRQSHitQuoteGrpElem&);
61 
62 /// SRQS Hit Quote Request Message.
63 class ONIXS_EUREX_ETI_EXPORT SRQSHitQuoteRequest : public Message
64 {
65 public:
66  /// Initialize default instance.
68 
69  /// User ID.
71 
72  /// Time until a message is valid.
74 
75  /// Nominal value.
77 
78  /// Value of stipulation.
80 
81  /// Client Identifier field (ESMA Field 3 (Section A)) used to identify the client of an order for agent account of 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 algorithm within the member or participant of the Trading Venue who is responsible for the investment decision.
86 
87  /// Executing Trader data Field (ESMA Field 5 (Section A)) used to identify the person or algorithm within the member or participant of the trading venue who is responsible for the execution of the transaction resulting from the order.
89 
90  /// The product identifier uniquely identifies a Eurex product.
92 
93  /// ID of a SRQS negotiation.
95 
96  /// Order attribute liquidity provision.
98 
99  /// Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos.
101 
102  /// Party ID investment decision maker qualifier.
104 
105  /// This field designates if the trader is acting in the capacity of agent, trading for its own account or acting as a market maker.
107 
108  /// Indicates if a trade should be reported via the market reporting service.
110 
111  /// Order origination, MiFID field - to indicate order received from a direct access or sponsored access customer.
113 
114  /// Indication for the hedge transaction.
116 
117  /// Owning business unit name.
118  std::string partyExecutingFirm;
119 
120  /// Owning user name.
121  std::string partyExecutingTrader;
122 
123  /// User defined deal ID.
124  std::string firmTradeId;
125 
126  /// First free-format text field for trader-specific or customer-related comments.
127  std::string freeText1;
128 
129  /// Second free-format text field for trader-specific or customer-related comments.
130  std::string freeText2;
131 
132  /// Third free-format text field for trader-specific or customer-related comments.
133  std::string freeText3;
134 
135  /// Text field.
136  std::string freeText5;
137 
138  /// Field is used for Eurex position management purposes and indicates whether the order is submitted to open or close a position.
140 
141  /// Account to book trades and keep positions on.
142  std::string account;
143 
144  /// Mandatory final KRX beneficiary account required for orders in KRX products.
145  std::string partyIdBeneficiary;
146 
147  /// 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.
149 
150  /// Partner identification at the Korea Exchange is required for orders in KRX products.
152 
153  /// Flex Account information.
155 
156  /// Country code. Valid characters: 0x01-0x7E.
157  std::string partyIdLocationId;
158 
159  /// 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).
160  std::string complianceText;
161 
162  /// Indicates the name of a member institution to which a give-up is designated.
164 
165  /// End client identifier.
167 
168  /// SRQS Hit Quote Group.
169  std::vector<SRQSHitQuoteGrpElem> sRQSHitQuoteGrp;
170 
171  /// Returns template ID.
172  TemplateId::Enum templateId () const;
173 
174  /// Returns string representation.
175  std::string toString () const;
176 
177 private:
178  friend class Serializer;
179  SRQSHitQuoteRequest (const void* data, size_t dataSize, MessageInfo& msgInfo);
180  void nativeSerializeTo (void* nativeMessage);
181 };
182 
183 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const SRQSHitQuoteRequest&);
184 
185 }
186 }
187 }
Enum
Party ID investment decision maker qualifier.
std::string partyIdPositionAccount
Flex Account information.
Enum
Indication for the hedge transaction.
Definition: Enumerations.h:568
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:47
UInt64 partyIdClientId
Client Identifier field (ESMA Field 3 (Section A)) used to identify the client of an order for agent ...
std::string freeText3
Third free-format text field for trader-specific or customer-related comments.
std::string partyExecutingTrader
Owning user name.
Enum
Field is used for Eurex position management purposes and indicates whether the order is submitted to ...
signed int SInt32
Definition: Defines.h:42
Enum
Indicates if a trade should be reported via the market reporting service.
UInt64 executingTrader
Executing Trader data Field (ESMA Field 5 (Section A)) used to identify the person or algorithm withi...
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:33
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.
Enum
Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier...
Definition: Enumerations.h:271
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:46
std::string partyIdTakeUpTradingFirm
Indicates the name of a member institution to which a give-up is designated.
signed long long SInt64
Definition: Defines.h:43
UInt64 partyIdInvestmentDecisionMaker
Investment decision within firm (ESMA Field 4 (Section A)) is the code used to identify the person or...
CustOrderHandlingInst::Enum custOrderHandlingInst
Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier...
TradingCapacity::Enum tradingCapacity
This field designates if the trader is acting in the capacity of agent, trading for its own account o...
PositionEffect::Enum positionEffect
Field is used for Eurex position management purposes and indicates whether the order is submitted to ...
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::ostream & operator<<(std::ostream &, const ConnectionStateChange &)
Make it printable to formatted C++ I/O streams.
std::string partyIdOrderOriginationFirm
Partner identification at the Korea Exchange is required for orders in KRX products.
Enum
This field designates if the trader is acting in the capacity of agent, trading for its own account o...
std::string freeText2
Second free-format text field for trader-specific or customer-related comments.
std::string complianceText
This field is used to provide additional regulatory information (according to respective rules and re...
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:473
SRQS Hit Quote Request Message.
std::string account
Account to book trades and keep positions on.