OnixS Eurex ETI Handler C++ library  9.21.0
API documentation
EnterTESTradeRequest.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 /// Side Alloc Group Element.
36 class ONIXS_EUREX_ETI_EXPORT SideAllocGrpElem
37 {
38 public:
39  /// Initialize default instance.
41 
42  /// Quantity of the particular trade side in the TES trade.
44 
45  /// Unique identifier for a TES trade side.
47 
48  /// Enrichment Rule ID for TES trades (to be used only in case of Auto Approval).
50 
51  /// Side of the order.
53 
54  /// Owning business unit name.
55  std::string partyExecutingFirm;
56 
57  /// Owning user name.
58  std::string partyExecutingTrader;
59 
60  /// Returns string representation.
61  std::string toString() const;
62 
63 private:
64  friend class Serializer;
65  SideAllocGrpElem(const void* data);
66 };
67 
68 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const SideAllocGrpElem&);
69 
70 /// Trd Instrmnt Leg Group Element.
71 class ONIXS_EUREX_ETI_EXPORT TrdInstrmntLegGrpElem
72 {
73 public:
74  /// Initialize default instance.
76 
77  /// Instrument identifiier of the leg security.
79 
80  /// Strategy leg underlying price (only applicable for futures legs).
82 
83  /// Quantity for leg of a multileg.
85 
86  /// Returns string representation.
87  std::string toString() const;
88 
89 private:
90  friend class Serializer;
91  TrdInstrmntLegGrpElem(const void* data);
92 };
93 
94 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const TrdInstrmntLegGrpElem&);
95 
96 /// Instrument Event Group Element.
97 class ONIXS_EUREX_ETI_EXPORT InstrumentEventGrpElem
98 {
99 public:
100  /// Initialize default instance.
102 
103  /// Date of event.
105 
106  /// Code to represent the type of event.
108 
109  /// Returns string representation.
110  std::string toString() const;
111 
112 private:
113  friend class Serializer;
114  InstrumentEventGrpElem(const void* data);
115 };
116 
117 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const InstrumentEventGrpElem&);
118 
119 /// Instrument Attribute Group Element.
120 class ONIXS_EUREX_ETI_EXPORT InstrumentAttributeGrpElem
121 {
122 public:
123  /// Initialize default instance.
125 
126  /// Code to represent the type of instrument attribute.
128 
129  /// Attribute value appropriate to the InstrAttribType field.
130  std::string instrAttribValue;
131 
132  /// Returns string representation.
133  std::string toString() const;
134 
135 private:
136  friend class Serializer;
137  InstrumentAttributeGrpElem(const void* data);
138 };
139 
140 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const InstrumentAttributeGrpElem&);
141 
142 /// Underlying Stip Group Element.
143 class ONIXS_EUREX_ETI_EXPORT UnderlyingStipGrpElem
144 {
145 public:
146  /// Initialize default instance.
148 
149  /// Value of stipulation. In case of cupon frequency, fill the field with cupon frequency value.
150  std::string underlyingStipValue;
151 
152  /// Type of stipulation, e.g. to denote coupon frequency.
153  std::string underlyingStipType;
154 
155  /// Returns string representation.
156  std::string toString() const;
157 
158 private:
159  friend class Serializer;
160  UnderlyingStipGrpElem(const void* data);
161 };
162 
163 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const UnderlyingStipGrpElem&);
164 
165 /// Enter TES Trade Request Message.
166 class ONIXS_EUREX_ETI_EXPORT EnterTESTradeRequest : public Message
167 {
168 public:
169  /// Initialize default instance.
171 
172  /// User ID.
174 
175  /// The instrument identifier uniquely identifies an instrument in the core system.
177 
178  /// Price of this leg fill.
180 
181  /// Trade Closure Time, the time when an Off-Book trade was concluded outside the Eurex System.
183 
184  /// Underlying price associate with a derivative instrument.
186 
187  /// User defined index price.
189 
190  /// Quantity of the related trade.
192 
193  /// Instrument identifier of the originating Eurex strategy.
195 
196  /// Price of the related instrument.
198 
199  /// Nominal value.
201 
202  /// The product identifier uniquely identifies a Eurex product.
204 
205  /// Date the underlying instrument will settle.
207 
208  /// Underlying security's maturity date.
210 
211  /// Identifier of a related trade.
213 
214  /// Identifies a related product.
216 
217  /// Indicates if a trade should be reported via the market reporting service.
219 
220  /// This field qualifies an instrument type on Eurex.
222 
223  /// Identifies the type of trade notification.
225 
226  /// Indicates if a trade should be reported via the market reporting service.
228 
229  /// Settlement institution.
231 
232  /// Hedging method.
234 
235  /// Swap clearer for EFS Trades only.
237 
238  /// User defined text field.
239  std::string tradeReportText;
240 
241  /// User defined transaction ID. Part of the TES response and TES broadcast.
242  std::string tradeReportId;
243 
244  /// Underlying security's ID.
245  std::string underlyingSecurityId;
246 
247  /// Description of the Underlying security.
249 
250  /// Underlying security's currency.
251  std::string underlyingCurrency;
252 
253  /// The issuer or name of the underlying security.
254  std::string underlyingIssuer;
255 
256  /// Side Alloc Group.
257  std::vector<SideAllocGrpElem> sideAllocGrp;
258 
259  /// Trd Instrmnt Leg Group.
260  std::vector<TrdInstrmntLegGrpElem> trdInstrmntLegGrp;
261 
262  /// Instrument Event Group.
263  std::vector<InstrumentEventGrpElem> instrumentEventGrp;
264 
265  /// Instrument Attribute Group.
266  std::vector<InstrumentAttributeGrpElem> instrumentAttributeGrp;
267 
268  /// Underlying Stip Group.
269  std::vector<UnderlyingStipGrpElem> underlyingStipGrp;
270 
271  /// Returns template ID.
272  TemplateId::Enum templateId() const;
273 
274  /// Returns string representation.
275  std::string toString() const;
276 
277 private:
278  friend class Serializer;
279  EnterTESTradeRequest(const void* data, size_t dataSize, MessageInfo& msgInfo);
280  void nativeSerializeTo(void* nativeMessage);
281 };
282 
283 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const EnterTESTradeRequest&);
284 
285 }}} // namespace OnixS::Eurex::Trading
std::string tradeReportText
User defined text field.
std::vector< SideAllocGrpElem > sideAllocGrp
Side Alloc Group.
std::vector< UnderlyingStipGrpElem > underlyingStipGrp
Underlying Stip Group.
std::string underlyingSecurityId
Underlying security&#39;s ID.
std::string underlyingCurrency
Underlying security&#39;s currency.
Enum
Side of the order.
SInt64 relatedTradeQuantity
Quantity of the related trade.
SInt64 legQty
Quantity for leg of a multileg.
SInt64 relatedPx
Price of the related instrument.
SInt64 securityId
The instrument identifier uniquely identifies an instrument in the core system.
std::string underlyingStipType
Type of stipulation, e.g. to denote coupon frequency.
unsigned long long UInt64
Definition: Defines.h:46
Enum
Indicates if a trade should be reported via the market reporting service.
SInt64 underlyingPx
Underlying price associate with a derivative instrument.
SInt32 relatedMarketSegmentId
Identifies a related product.
std::string tradeReportId
User defined transaction ID. Part of the TES response and TES broadcast.
signed int SInt32
Definition: Defines.h:41
Enum
Code to represent the type of instrument attribute.
Definition: Enumerations.h:736
ProductComplex::Enum productComplex
This field qualifies an instrument type on Eurex.
Enum
This field qualifies an instrument type on Eurex.
UInt32 tesEnrichmentRuleId
Enrichment Rule ID for TES trades (to be used only in case of Auto Approval).
Enum
Swap clearer for EFS Trades only.
std::string instrAttribValue
Attribute value appropriate to the InstrAttribType field.
PartyIdSettlementLocation::Enum partyIdSettlementLocation
Settlement institution.
Enum
Indicates if a trade should be reported via the market reporting service.
TradeReportType::Enum tradeReportType
Identifies the type of trade notification.
Message base class.
Definition: Message.h:32
SInt64 legSecurityId
Instrument identifiier of the leg security.
std::string underlyingIssuer
The issuer or name of the underlying security.
UInt32 underlyingSettlementDate
Date the underlying instrument will settle.
unsigned int UInt32
Definition: Defines.h:45
signed long long SInt64
Definition: Defines.h:42
SInt64 relatedSecurityId
Instrument identifier of the originating Eurex strategy.
std::ostream & operator<<(std::ostream &, ConnectionState::Enum)
Make it printable using C++ I/O streams.
InstrAttribType::Enum instrAttribType
Code to represent the type of instrument attribute.
std::string partyExecutingFirm
Owning business unit name.
EventType::Enum eventType
Code to represent the type of event.
SInt32 marketSegmentId
The product identifier uniquely identifies a Eurex product.
SInt64 relatedClosePrice
User defined index price.
UInt32 relatedTradeId
Identifier of a related trade.
Enum
Code to represent the type of event.
Definition: Enumerations.h:442
std::string partyExecutingTrader
Owning user name.
SInt64 legPrice
Strategy leg underlying price (only applicable for futures legs).
TradePublishIndicator::Enum tradePublishIndicator
Indicates if a trade should be reported via the market reporting service.
UInt32 individualAllocId
Unique identifier for a TES trade side.
std::string underlyingSecurityDesc
Description of the Underlying security.
Enum
Identifies the type of trade notification.
TrdType::Enum trdType
Indicates if a trade should be reported via the market reporting service.
SInt64 allocQty
Quantity of the particular trade side in the TES trade.
SwapClearer::Enum swapClearer
Swap clearer for EFS Trades only.
std::vector< TrdInstrmntLegGrpElem > trdInstrmntLegGrp
Trd Instrmnt Leg Group.
std::string underlyingStipValue
Value of stipulation. In case of cupon frequency, fill the field with cupon frequency value...
std::vector< InstrumentEventGrpElem > instrumentEventGrp
Instrument Event Group.
UInt64 transBkdTime
Trade Closure Time, the time when an Off-Book trade was concluded outside the Eurex System...
UInt32 underlyingMaturityDate
Underlying security&#39;s maturity date.
std::vector< InstrumentAttributeGrpElem > instrumentAttributeGrp
Instrument Attribute Group.