OnixS Eurex ETI Handler C++ library  9.19.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 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 /// Side Alloc Group Element.
37 class ONIXS_EUREX_ETI_EXPORT SideAllocGrpElem
38 {
39 public:
40  /// Initialize default instance.
42 
43  /// Quantity of the particular trade side in the TES trade.
45 
46  /// Unique identifier for a TES trade side.
48 
49  /// Enrichment Rule ID for TES trades (to be used only in case of Auto Approval).
51 
52  /// Side of the order.
54 
55  /// Owning business unit name.
56  std::string partyExecutingFirm;
57 
58  /// Owning user name.
59  std::string partyExecutingTrader;
60 
61  /// Returns string representation.
62  std::string toString () const;
63 
64 private:
65  friend class Serializer;
66  SideAllocGrpElem (const void* data);
67 };
68 
69 ONIXS_EUREX_ETI_EXPORT std::ostream& operator << (std::ostream&, const SideAllocGrpElem&);
70 
71 /// Trd Instrmnt Leg Group Element.
72 class ONIXS_EUREX_ETI_EXPORT TrdInstrmntLegGrpElem
73 {
74 public:
75  /// Initialize default instance.
77 
78  /// Instrument identifiier of the leg security.
80 
81  /// Strategy leg underlying price (only applicable for futures legs).
83 
84  /// Quantity for leg of a multileg.
86 
87  /// Returns string representation.
88  std::string toString () const;
89 
90 private:
91  friend class Serializer;
92  TrdInstrmntLegGrpElem (const void* data);
93 };
94 
95 ONIXS_EUREX_ETI_EXPORT std::ostream& operator << (std::ostream&, const TrdInstrmntLegGrpElem&);
96 
97 /// Instrument Event Group Element.
98 class ONIXS_EUREX_ETI_EXPORT InstrumentEventGrpElem
99 {
100 public:
101  /// Initialize default instance.
103 
104  /// Date of event.
106 
107  /// Code to represent the type of event.
109 
110  /// Returns string representation.
111  std::string toString () const;
112 
113 private:
114  friend class Serializer;
115  InstrumentEventGrpElem (const void* data);
116 };
117 
118 ONIXS_EUREX_ETI_EXPORT std::ostream& operator << (std::ostream&, const InstrumentEventGrpElem&);
119 
120 /// Instrument Attribute Group Element.
121 class ONIXS_EUREX_ETI_EXPORT InstrumentAttributeGrpElem
122 {
123 public:
124  /// Initialize default instance.
126 
127  /// Code to represent the type of instrument attribute.
129 
130  /// Attribute value appropriate to the InstrAttribType field.
131  std::string instrAttribValue;
132 
133  /// Returns string representation.
134  std::string toString () const;
135 
136 private:
137  friend class Serializer;
138  InstrumentAttributeGrpElem (const void* data);
139 };
140 
141 ONIXS_EUREX_ETI_EXPORT std::ostream& operator << (std::ostream&, const InstrumentAttributeGrpElem&);
142 
143 /// Underlying Stip Group Element.
144 class ONIXS_EUREX_ETI_EXPORT UnderlyingStipGrpElem
145 {
146 public:
147  /// Initialize default instance.
149 
150  /// Value of stipulation. In case of cupon frequency, fill the field with cupon frequency value.
151  std::string underlyingStipValue;
152 
153  /// Type of stipulation, e.g. to denote coupon frequency.
154  std::string underlyingStipType;
155 
156  /// Returns string representation.
157  std::string toString () const;
158 
159 private:
160  friend class Serializer;
161  UnderlyingStipGrpElem (const void* data);
162 };
163 
164 ONIXS_EUREX_ETI_EXPORT std::ostream& operator << (std::ostream&, const UnderlyingStipGrpElem&);
165 
166 /// Enter TES Trade Request Message.
167 class ONIXS_EUREX_ETI_EXPORT EnterTESTradeRequest : public Message
168 {
169 public:
170  /// Initialize default instance.
172 
173  /// User ID.
175 
176  /// The instrument identifier uniquely identifies an instrument in the core system.
178 
179  /// Price of this leg fill.
181 
182  /// Trade Closure Time, the time when an Off-Book trade was concluded outside the Eurex System.
184 
185  /// Underlying price associate with a derivative instrument.
187 
188  /// User defined index price.
190 
191  /// Quantity of the related trade.
193 
194  /// Instrument identifier of the originating Eurex strategy.
196 
197  /// Price of the related instrument.
199 
200  /// Nominal value.
202 
203  /// The product identifier uniquely identifies a Eurex product.
205 
206  /// Date the underlying instrument will settle.
208 
209  /// Underlying security's maturity date.
211 
212  /// Identifier of a related trade.
214 
215  /// Identifies a related product.
217 
218  /// Indicates if a trade should be reported via the market reporting service.
220 
221  /// This field qualifies an instrument type on Eurex.
223 
224  /// Identifies the type of trade notification.
226 
227  /// Indicates if a trade should be reported via the market reporting service.
229 
230  /// Settlement institution.
232 
233  /// Hedging method.
235 
236  /// Swap clearer for EFS Trades only.
238 
239  /// User defined text field.
240  std::string tradeReportText;
241 
242  /// User defined transaction ID. Part of the TES response and TES broadcast.
243  std::string tradeReportId;
244 
245  /// Underlying security's ID.
246  std::string underlyingSecurityId;
247 
248  /// Description of the Underlying security.
250 
251  /// Underlying security's currency.
252  std::string underlyingCurrency;
253 
254  /// The issuer or name of the underlying security.
255  std::string underlyingIssuer;
256 
257  /// Side Alloc Group.
258  std::vector<SideAllocGrpElem> sideAllocGrp;
259 
260  /// Trd Instrmnt Leg Group.
261  std::vector<TrdInstrmntLegGrpElem> trdInstrmntLegGrp;
262 
263  /// Instrument Event Group.
264  std::vector<InstrumentEventGrpElem> instrumentEventGrp;
265 
266  /// Instrument Attribute Group.
267  std::vector<InstrumentAttributeGrpElem> instrumentAttributeGrp;
268 
269  /// Underlying Stip Group.
270  std::vector<UnderlyingStipGrpElem> underlyingStipGrp;
271 
272  /// Returns template ID.
273  TemplateId::Enum templateId () const;
274 
275  /// Returns string representation.
276  std::string toString () const;
277 
278 private:
279  friend class Serializer;
280  EnterTESTradeRequest (const void* data, size_t dataSize, MessageInfo& msgInfo);
281  void nativeSerializeTo (void* nativeMessage);
282 };
283 
284 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const EnterTESTradeRequest&);
285 
286 }
287 }
288 }
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:47
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:42
Enum
Code to represent the type of instrument attribute.
Definition: Enumerations.h:627
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:33
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:46
signed long long SInt64
Definition: Defines.h:43
SInt64 relatedSecurityId
Instrument identifier of the originating Eurex strategy.
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:376
std::string partyExecutingTrader
Owning user name.
SInt64 legPrice
Strategy leg underlying price (only applicable for futures legs).
std::ostream & operator<<(std::ostream &, const ConnectionStateChange &)
Make it printable to formatted C++ I/O streams.
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.