OnixS Eurex ETI Handler C++ library  9.22.0
API documentation
AmendBasketTradeRequest.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 /// Basket Root Party Group Element.
36 class ONIXS_EUREX_ETI_EXPORT BasketRootPartyGrpElem
37 {
38 public:
39  /// Initialize default instance.
41 
42  /// RootParty sub-type.
44 
45  /// The identifier of the member counterparty institution.
46  std::string rootPartyContraFirm;
47 
48  /// The identifier of the trader counterparty.
49  std::string rootPartyContraTrader;
50 
51  /// User defined Basket trade ID.
53 
54  /// Returns string representation.
55  std::string toString() const;
56 
57 private:
58  friend class Serializer;
59  BasketRootPartyGrpElem(const void* data);
60 };
61 
62 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const BasketRootPartyGrpElem&);
63 
64 /// Instrument Match Side Group Element.
65 class ONIXS_EUREX_ETI_EXPORT InstrmtMatchSideGrpElem
66 {
67 public:
68  /// Initialize default instance.
70 
71  /// The instrument identifier uniquely identifies an instrument in the core system.
73 
74  /// Price of this leg fill.
76 
77  /// Trade Closure Time, the time when an Off-Book trade was concluded outside the Eurex System.
79 
80  /// User defined index price.
82 
83  /// Final trade price.
85 
86  /// Identifier for a Trade Entry Service trade, i.e TES trade ID.
88 
89  /// Product ID.
91 
92  /// Sub-type of a trade type.
94 
95  /// This field qualifies an instrument type on Eurex.
97 
98  /// Indicates if a trade should be reported via the market reporting service.
100 
101  /// ID to map element of InstrmtMatchSideGrp and BasketSideAllocGrp.
103 
104  /// Transaction effect on a basket.
106 
107  /// User defined text field.
108  std::string tradeReportText;
109 
110  /// Returns string representation.
111  std::string toString() const;
112 
113 private:
114  friend class Serializer;
115  InstrmtMatchSideGrpElem(const void* data);
116 };
117 
118 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const InstrmtMatchSideGrpElem&);
119 
120 /// Basket Side Alloc Group Element.
121 class ONIXS_EUREX_ETI_EXPORT BasketSideAllocGrpElem
122 {
123 public:
124  /// Initialize default instance.
126 
127  /// Quantity of the particular trade side in the TES trade.
129 
130  /// Unique identifier for a TES trade side.
132 
133  /// Party sub-type.
135 
136  /// Side of the order.
138 
139  /// ID to map element of InstrmtMatchSideGrp and BasketSideAllocGrp.
141 
142  /// Status of an allocation in a Trade Entry Service trade.
144 
145  /// Owning business unit name.
146  std::string partyExecutingFirm;
147 
148  /// Owning user name.
149  std::string partyExecutingTrader;
150 
151  /// Returns string representation.
152  std::string toString() const;
153 
154 private:
155  friend class Serializer;
156  BasketSideAllocGrpElem(const void* data);
157 };
158 
159 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const BasketSideAllocGrpElem&);
160 
161 /// Amend Basket Trade Request Message.
162 class ONIXS_EUREX_ETI_EXPORT AmendBasketTradeRequest : public Message
163 {
164 public:
165  /// Initialize default instance.
167 
168  /// User ID.
170 
171  /// System defined Basket ID.
173 
174  /// System generated transaction ID for a Basket transaction.
176 
177  /// The product identifier uniquely identifies a Eurex product.
179 
180  /// Month year code for expiry YYYYMM.
182 
183  /// ID of the Basket profile.
185 
186  /// Indicates if a trade should be reported via the market reporting service.
188 
189  /// Identifies the type of trade notification.
191 
192  /// Basket operation.
194 
195  /// User defined text message field.
197 
198  /// User defined transaction ID. Part of the TES response and TES broadcast.
199  std::string tradeReportId;
200 
201  /// Basket Root Party Group.
202  std::vector<BasketRootPartyGrpElem> basketRootPartyGrp;
203 
204  /// Instrument Match Side Group.
205  std::vector<InstrmtMatchSideGrpElem> instrmtMatchSideGrp;
206 
207  /// Basket Side Alloc Group.
208  std::vector<BasketSideAllocGrpElem> basketSideAllocGrp;
209 
210  /// Returns template ID.
211  TemplateId::Enum templateId() const;
212 
213  /// Returns string representation.
214  std::string toString() const;
215 
216 private:
217  friend class Serializer;
218  AmendBasketTradeRequest(const void* data, size_t dataSize, MessageInfo& msgInfo);
219  void nativeSerializeTo(void* nativeMessage);
220 };
221 
222 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const AmendBasketTradeRequest&);
223 
224 }}}
RootPartySubIdType::Enum rootPartySubIdType
RootParty sub-type.
SInt64 allocQty
Quantity of the particular trade side in the TES trade.
EffectOnBasket::Enum effectOnBasket
Transaction effect on a basket.
std::string tradeReportId
User defined transaction ID. Part of the TES response and TES broadcast.
UInt32 basketExecId
System generated transaction ID for a Basket transaction.
unsigned char UInt8
Definition: Defines.h:43
Enum
Side of the order.
unsigned long long UInt64
Definition: Defines.h:46
Enum
Indicates if a trade should be reported via the market reporting service.
TradeAllocStatus::Enum tradeAllocStatus
Status of an allocation in a Trade Entry Service trade.
signed int SInt32
Definition: Defines.h:41
std::string basketTradeReportText
User defined text message field.
Enum
This field qualifies an instrument type on Eurex.
TradeReportType::Enum tradeReportType
Identifies the type of trade notification.
Enum
Indicates if a trade should be reported via the market reporting service.
SInt64 relatedClosePrice
User defined index price.
BasketTradeReportType::Enum basketTradeReportType
Basket operation.
Enum
Status of an allocation in a Trade Entry Service trade.
Message base class.
Definition: Message.h:32
SInt32 marketSegmentId
The product identifier uniquely identifies a Eurex product.
std::vector< BasketRootPartyGrpElem > basketRootPartyGrp
Basket Root Party Group.
UInt8 instrmtMatchSideId
ID to map element of InstrmtMatchSideGrp and BasketSideAllocGrp.
std::vector< InstrmtMatchSideGrpElem > instrmtMatchSideGrp
Instrument Match Side Group.
SideTrdSubTyp::Enum sideTrdSubTyp
Sub-type of a trade type.
UInt64 transBkdTime
Trade Closure Time, the time when an Off-Book trade was concluded outside the Eurex System...
UInt32 individualAllocId
Unique identifier for a TES trade side.
unsigned int UInt32
Definition: Defines.h:45
ProductComplex::Enum productComplex
This field qualifies an instrument type on Eurex.
std::string rootPartyContraTrader
The identifier of the trader counterparty.
signed long long SInt64
Definition: Defines.h:42
std::string partyExecutingFirm
Owning business unit name.
Enum
Transaction effect on a basket.
Definition: Enumerations.h:367
std::ostream & operator<<(std::ostream &, ConnectionState::Enum)
Make it printable using C++ I/O streams.
std::string tradeReportText
User defined text field.
std::string rootPartyContraFirm
The identifier of the member counterparty institution.
SInt64 securityId
The instrument identifier uniquely identifies an instrument in the core system.
TrdType::Enum trdType
Indicates if a trade should be reported via the market reporting service.
Enum
Sub-type of a trade type.
std::vector< BasketSideAllocGrpElem > basketSideAllocGrp
Basket Side Alloc Group.
UInt32 maturityMonthYear
Month year code for expiry YYYYMM.
Enum
Identifies the type of trade notification.
PartySubIdType::Enum partySubIdType
Party sub-type.
TradePublishIndicator::Enum tradePublishIndicator
Indicates if a trade should be reported via the market reporting service.
UInt8 instrmtMatchSideId
ID to map element of InstrmtMatchSideGrp and BasketSideAllocGrp.
UInt32 packageId
Identifier for a Trade Entry Service trade, i.e TES trade ID.
std::string basketSideTradeReportId
User defined Basket trade ID.