OnixS Eurex ETI Handler C++ library  9.21.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
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"
30 
31 #include <iosfwd>
32 #include <string>
33 #include <vector>
34 
35 namespace OnixS { namespace Eurex { namespace Trading {
36 
37 /// Upload TES Trade Request Message.
38 class ONIXS_EUREX_ETI_EXPORT UploadTESTradeRequest : public Message
39 {
40 public:
41  /// Initialize default instance.
43 
44  /// User ID.
46 
47  /// The instrument identifier uniquely identifies an instrument in the core system.
49 
50  /// Price of this leg fill.
52 
53  /// Trade Closure Time, the time when an Off-Book trade was concluded outside the Eurex System.
55 
56  /// Underlying price associate with a derivative instrument.
58 
59  /// User defined index price.
61 
62  /// Quantity of the related trade.
64 
65  /// Instrument identifier of the originating Eurex strategy.
67 
68  /// Price of the related instrument.
70 
71  /// Nominal value.
73 
74  /// The product identifier uniquely identifies a Eurex product.
76 
77  /// Date the underlying instrument will settle.
79 
80  /// Underlying security's maturity date.
82 
83  /// Identifier of a related trade.
85 
86  /// Identifies a related product.
88 
89  /// Indicates if a trade should be reported via the market reporting service.
91 
92  /// This field qualifies an instrument type on Eurex.
94 
95  /// Identifies the type of trade notification.
97 
98  /// Indicates if a trade should be reported via the market reporting service.
100 
101  /// Indicator to skip validations.
103 
104  /// SRQS deal status.
106 
107  /// Indicates trade platform. Can only be used for EEX.
109 
110  /// Hedging method.
112 
113  /// Settlement institution.
115 
116  /// Indicator for checking the Minimum Lot Size by the exchange. Only used for EEX. Mandatory if TrdRptStatus=4
117  /// (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 }}} // namespace OnixS::Eurex::Trading
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:46
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:41
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:32
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
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:45
signed long long SInt64
Definition: Defines.h:42
std::ostream & operator<<(std::ostream &, ConnectionState::Enum)
Make it printable using C++ I/O streams.
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::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.