OnixS Eurex ETI Handler C++ library  9.19.0
API documentation
ApproveBasketTradeRequest.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 /// Basket Side Alloc Ext Group Element.
37 class ONIXS_EUREX_ETI_EXPORT BasketSideAllocExtGrpElem
38 {
39 public:
40  /// Initialize default instance.
42 
43  /// Quantity of the particular trade side in the TES trade.
45 
46  /// 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.
48 
49  /// 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.
51 
52  /// 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.
54 
55  /// Identifier for a Trade Entry Service trade, i.e TES trade ID.
57 
58  /// Product ID.
60 
61  /// Unique identifier for a TES Trade side.
63 
64  /// Side of the order.
66 
67  /// Field is used for Eurex position management purposes and indicates whether the order is submitted to open or close a position.
69 
70  /// This field designates if the trader is acting in the capacity of agent, trading for its own account or acting as a market maker.
72 
73  /// Order attribute liquidity provision.
75 
76  /// Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos.
78 
79  /// Party ID investment decision maker qualifier.
81 
82  /// Order attribute risk reduction.
84 
85  /// Order origination, MiFID field - to indicate order received from a direct access or sponsored access customer.
87 
88  /// Owning business unit name.
89  std::string partyExecutingFirm;
90 
91  /// Owning user name.
92  std::string partyExecutingTrader;
93 
94  /// Account to book trades and keep positions on.
95  std::string account;
96 
97  /// First free-format text field for trader-specific or customer-related comments.
98  std::string freeText1;
99 
100  /// Second free-format text field for trader-specific or customer-related comments.
101  std::string freeText2;
102 
103  /// Third free-format text field for trader-specific or customer-related comments.
104  std::string freeText3;
105 
106  /// Indicates the name of a member institution to which a give-up is designated.
108 
109  /// Partner identification at the Korea Exchange is required for orders in KRX products.
111 
112  /// Mandatory final KRX beneficiary account required for orders in KRX products.
113  std::string partyIdBeneficiary;
114 
115  /// Flex Account information.
117 
118  /// Country code. Valid characters: 0x01-0x7E.
119  std::string partyIdLocationId;
120 
121  /// 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.
123 
124  /// 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).
125  std::string complianceText;
126 
127  /// Returns string representation.
128  std::string toString () const;
129 
130 private:
131  friend class Serializer;
132  BasketSideAllocExtGrpElem (const void* data);
133 };
134 
135 ONIXS_EUREX_ETI_EXPORT std::ostream& operator << (std::ostream&, const BasketSideAllocExtGrpElem&);
136 
137 /// Approve Basket Trade Request Message.
138 class ONIXS_EUREX_ETI_EXPORT ApproveBasketTradeRequest : public Message
139 {
140 public:
141  /// Initialize default instance.
143 
144  /// User ID.
146 
147  /// System defined Basket ID.
149 
150  /// System generated transaction ID for a Basket transaction.
152 
153  /// The product identifier uniquely identifies a Eurex product.
155 
156  /// RootParty sub-type.
158 
159  /// Indicates if a trade should be reported via the market reporting service.
161 
162  /// Identifies the type of trade notification.
164 
165  /// User defined text message field.
167 
168  /// User defined transaction ID. Part of the TES response and TES broadcast.
169  std::string tradeReportId;
170 
171  /// User defined Basket trade ID.
173 
174  /// Basket Side Alloc Ext Group.
175  std::vector<BasketSideAllocExtGrpElem> basketSideAllocExtGrp;
176 
177  /// Returns template ID.
178  TemplateId::Enum templateId () const;
179 
180  /// Returns string representation.
181  std::string toString () const;
182 
183 private:
184  friend class Serializer;
185  ApproveBasketTradeRequest (const void* data, size_t dataSize, MessageInfo& msgInfo);
186  void nativeSerializeTo (void* nativeMessage);
187 };
188 
189 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const ApproveBasketTradeRequest&);
190 
191 }
192 }
193 }
Enum
Party ID investment decision maker qualifier.
UInt32 packageId
Identifier for a Trade Entry Service trade, i.e TES trade ID.
std::string partyIdBeneficiary
Mandatory final KRX beneficiary account required for orders in KRX products.
std::vector< BasketSideAllocExtGrpElem > basketSideAllocExtGrp
Basket Side Alloc Ext Group.
std::string partyIdOrderOriginationFirm
Partner identification at the Korea Exchange is required for orders in KRX products.
CustOrderHandlingInst::Enum custOrderHandlingInst
Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier...
Enum
Side of the order.
unsigned long long UInt64
Definition: Defines.h:47
Enum
Indicates if a trade should be reported via the market reporting service.
std::string basketSideTradeReportId
User defined Basket trade ID.
std::string partyIdLocationId
Country code. Valid characters: 0x01-0x7E.
UInt32 basketExecId
System generated transaction ID for a Basket transaction.
PositionEffect::Enum positionEffect
Field is used for Eurex position management purposes and indicates whether the order is submitted to ...
Enum
Field is used for Eurex position management purposes and indicates whether the order is submitted to ...
signed int SInt32
Definition: Defines.h:42
std::string partyExecutingFirm
Owning business unit name.
TrdType::Enum trdType
Indicates if a trade should be reported via the market reporting service.
std::string complianceText
This field is used to provide additional regulatory information (according to respective rules and re...
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 freeText3
Third free-format text field for trader-specific or customer-related comments.
std::string partyIdPositionAccount
Flex Account information.
Enum
Identifies the source of an order, in accordance with the FIA guidelines for a rate Identifier...
Definition: Enumerations.h:271
PartyIdInvestmentDecisionMakerQualifier::Enum partyIdInvestmentDecisionMakerQualifier
Party ID investment decision maker qualifier.
unsigned int UInt32
Definition: Defines.h:46
signed long long SInt64
Definition: Defines.h:43
OrderAttributeLiquidityProvision::Enum orderAttributeLiquidityProvision
Order attribute liquidity provision.
UInt64 partyIdClientId
Client Identifier field (ESMA Field 3 (Section A)) used to identify the client of an order for agent ...
std::string basketTradeReportText
User defined text message field.
std::string account
Account to book trades and keep positions on.
OrderAttributeRiskReduction::Enum orderAttributeRiskReduction
Order attribute risk reduction.
std::string tradeReportId
User defined transaction ID. Part of the TES response and TES broadcast.
std::string freeText2
Second free-format text field for trader-specific or customer-related comments.
std::string partyIdTakeUpTradingFirm
Indicates the name of a member institution to which a give-up is designated.
std::ostream & operator<<(std::ostream &, const ConnectionStateChange &)
Make it printable to formatted C++ I/O streams.
OrderOrigination::Enum orderOrigination
Order origination, MiFID field - to indicate order received from a direct access or sponsored access ...
SInt64 allocQty
Quantity of the particular trade side in the TES trade.
UInt32 allocId
Unique identifier for a TES Trade side.
Enum
This field designates if the trader is acting in the capacity of agent, trading for its own account o...
Enum
Identifies the type of trade notification.
TradingCapacity::Enum tradingCapacity
This field designates if the trader is acting in the capacity of agent, trading for its own account o...
UInt64 partyIdInvestmentDecisionMaker
Investment decision within firm (ESMA Field 4 (Section A)) is the code used to identify the person or...
SInt32 marketSegmentId
The product identifier uniquely identifies a Eurex product.
ExecutingTraderQualifier::Enum executingTraderQualifier
Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos...
UInt64 executingTrader
Executing Trader data Field (ESMA Field 5 (Section A)) used to identify the person or algorithm withi...
RootPartySubIdType::Enum rootPartySubIdType
RootParty sub-type.
std::string freeText1
First free-format text field for trader-specific or customer-related comments.
Enum
Qualifier for field ExecutingTrader. It is required to distinguish between natural persons and Algos...
Definition: Enumerations.h:473
TradeReportType::Enum tradeReportType
Identifies the type of trade notification.