OnixS Eurex ETI Handler C++ library  9.19.0
API documentation
UploadTESTradeRequest.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"
29 
30 #include <iosfwd>
31 #include <string>
32 #include <vector>
33 
34 namespace OnixS {
35 namespace Eurex {
36 namespace Trading {
37 
38 /// Upload TES Trade Request Message.
39 class ONIXS_EUREX_ETI_EXPORT UploadTESTradeRequest : public Message
40 {
41 public:
42  /// Initialize default instance.
44 
45  /// User ID.
47 
48  /// The instrument identifier uniquely identifies an instrument in the core system.
50 
51  /// Price of this leg fill.
53 
54  /// Trade Closure Time, the time when an Off-Book trade was concluded outside the Eurex System.
56 
57  /// Underlying price associate with a derivative instrument.
59 
60  /// User defined index price.
62 
63  /// Quantity of the related trade.
65 
66  /// Instrument identifier of the originating Eurex strategy.
68 
69  /// Price of the related instrument.
71 
72  /// Nominal value.
74 
75  /// The product identifier uniquely identifies a Eurex product.
77 
78  /// Date the underlying instrument will settle.
80 
81  /// Underlying security's maturity date.
83 
84  /// Identifier of a related trade.
86 
87  /// Identifies a related product.
89 
90  /// Indicates if a trade should be reported via the market reporting service.
92 
93  /// This field qualifies an instrument type on Eurex.
95 
96  /// Identifies the type of trade notification.
98 
99  /// Indicates if a trade should be reported via the market reporting service.
101 
102  /// Indicator to skip validations.
104 
105  /// SRQS deal status.
107 
108  /// Indicates trade platform. Can only be used for EEX.
110 
111  /// Hedging method.
113 
114  /// Settlement institution.
116 
117  /// Indicator for checking the Minimum Lot Size by the exchange. Only used for EEX. Mandatory if TrdRptStatus=4 (Pending_New).
119 
120  /// User defined transaction ID. Part of the TES response and TES broadcast.
121  std::string tradeReportId;
122 
123  /// User defined text field.
124  std::string tradeReportText;
125 
126  /// Underlying security's ID.
127  std::string underlyingSecurityId;
128 
129  /// Description of the Underlying security.
131 
132  /// Underlying security's currency.
133  std::string underlyingCurrency;
134 
135  /// The issuer or name of the underlying security.
136  std::string underlyingIssuer;
137 
138  /// Swap clearer for EFS Trades only.
140 
141  /// Side Alloc Ext Group.
142  std::vector<SideAllocExtGrpElem> sideAllocExtGrp;
143 
144  /// Trd Instrmnt Leg Group.
145  std::vector<TrdInstrmntLegGrpElem> trdInstrmntLegGrp;
146 
147  /// Instrument Event Group.
148  std::vector<InstrumentEventGrpElem> instrumentEventGrp;
149 
150  /// Instrument Attribute Group.
151  std::vector<InstrumentAttributeGrpElem> instrumentAttributeGrp;
152 
153  /// Underlying Stip Group.
154  std::vector<UnderlyingStipGrpElem> underlyingStipGrp;
155 
156  /// Returns template ID.
157  TemplateId::Enum templateId () const;
158 
159  /// Returns string representation.
160  std::string toString () const;
161 
162 private:
163  friend class Serializer;
164  UploadTESTradeRequest (const void* data, size_t dataSize, MessageInfo& msgInfo);
165  void nativeSerializeTo (void* nativeMessage);
166 };
167 
168 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const UploadTESTradeRequest&);
169 
170 }
171 }
172 }
SkipValidations::Enum skipValidations
Indicator to skip validations.
std::string underlyingIssuer
The issuer or name of the underlying security.
SInt64 relatedClosePrice
User defined index price.
TrdType::Enum trdType
Indicates if a trade should be reported via the market reporting service.
SInt32 relatedMarketSegmentId
Identifies a related product.
UInt64 transBkdTime
Trade Closure Time, the time when an Off-Book trade was concluded outside the Eurex System...
unsigned long long UInt64
Definition: Defines.h:47
Enum
Indicates if a trade should be reported via the market reporting service.
std::string underlyingSecurityId
Underlying security&#39;s ID.
UInt32 underlyingSettlementDate
Date the underlying instrument will settle.
SInt64 relatedTradeQuantity
Quantity of the related trade.
signed int SInt32
Definition: Defines.h:42
std::vector< InstrumentEventGrpElem > instrumentEventGrp
Instrument Event Group.
Enum
This field qualifies an instrument type on Eurex.
std::string tradeReportId
User defined transaction ID. Part of the TES response and TES broadcast.
std::string underlyingCurrency
Underlying security&#39;s currency.
Enum
Swap clearer for EFS Trades only.
Enum
Indicates if a trade should be reported via the market reporting service.
std::vector< TrdInstrmntLegGrpElem > trdInstrmntLegGrp
Trd Instrmnt Leg Group.
Message base class.
Definition: Message.h:33
PartyIdSettlementLocation::Enum partyIdSettlementLocation
Settlement institution.
std::vector< InstrumentAttributeGrpElem > instrumentAttributeGrp
Instrument Attribute Group.
UInt32 relatedTradeId
Identifier of a related trade.
ProductComplex::Enum productComplex
This field qualifies an instrument type on Eurex.
ValueCheckTypeMinLotSize::Enum valueCheckTypeMinLotSize
Indicator for checking the Minimum Lot Size by the exchange. Only used for EEX. Mandatory if TrdRptSt...
Enum
Indicator for checking the Minimum Lot Size by the exchange. Only used for EEX. Mandatory if TrdRptSt...
SInt64 relatedPx
Price of the related instrument.
std::string tradeReportText
User defined text field.
TrdRptStatus::Enum trdRptStatus
SRQS deal status.
TradePlatform::Enum tradePlatform
Indicates trade platform. Can only be used for EEX.
unsigned int UInt32
Definition: Defines.h:46
signed long long SInt64
Definition: Defines.h:43
SInt32 marketSegmentId
The product identifier uniquely identifies a Eurex product.
SInt64 underlyingPx
Underlying price associate with a derivative instrument.
SInt64 securityId
The instrument identifier uniquely identifies an instrument in the core system.
std::string underlyingSecurityDesc
Description of the Underlying security.
TradeReportType::Enum tradeReportType
Identifies the type of trade notification.
Enum
Indicates trade platform. Can only be used for EEX.
Enum
Indicator to skip validations.
std::ostream & operator<<(std::ostream &, const ConnectionStateChange &)
Make it printable to formatted C++ I/O streams.
std::vector< SideAllocExtGrpElem > sideAllocExtGrp
Side Alloc Ext Group.
UInt32 underlyingMaturityDate
Underlying security&#39;s maturity date.
Enum
Identifies the type of trade notification.
SwapClearer::Enum swapClearer
Swap clearer for EFS Trades only.
SInt64 relatedSecurityId
Instrument identifier of the originating Eurex strategy.
TradePublishIndicator::Enum tradePublishIndicator
Indicates if a trade should be reported via the market reporting service.
std::vector< UnderlyingStipGrpElem > underlyingStipGrp
Underlying Stip Group.