OnixS Eurex ETI Handler C++ library  9.21.0
API documentation
PreTradeRiskLimitResponse.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 /// Risk Limits Rpt Group Element.
36 class ONIXS_EUREX_ETI_EXPORT RiskLimitsRptGrpElem
37 {
38 public:
39  /// Initialize default instance.
41 
42  /// Risk limit quantity.
44 
45  /// Open quantity for orders or TES trades.
47 
48  /// Net position quantity for a requested pre-trade risk limit scope.
50 
51  /// Weighting factor used in the Extended PTRL consumption calculation.
53 
54  /// Quote Weighting factor for open positions in PTRL calculation.
56 
57  /// Business date when change is active.
59 
60  /// Type of risk limits.
62 
63  /// Requesting party role for a pre-trade risk limit.
65 
66  /// Indicator for a pre-trade risk limit violation.
68 
69  /// User Pre-Trade risk group.
70  std::string riskLimitGroup;
71 
72  /// Returns string representation.
73  std::string toString() const;
74 
75 private:
76  friend class Serializer;
77  RiskLimitsRptGrpElem(const void* data);
78 };
79 
80 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const RiskLimitsRptGrpElem&);
81 
82 /// Pre Trade Risk Limit Response Message.
83 class ONIXS_EUREX_ETI_EXPORT PreTradeRiskLimitResponse : public Message
84 {
85 public:
86  /// Initialize default instance.
88 
89  /// Matching engine in timestamp.
91 
92  /// Matching engine out timestamp.
94 
95  /// Indicates whether this message is the last fragment (part) of a sequence of messages belonging to one dedicated
96  /// transaction.
98 
99  /// ID of a PartyRiskLimitReport.
101 
102  /// The product identifier uniquely identifies a Eurex product.
104 
105  /// Party detail status.
107 
108  /// Scope for Pre-Trade risk limits.
110 
111  /// Detail BusinessUnit name.
113 
114  /// Risk Limits Rpt Group.
115  std::vector<RiskLimitsRptGrpElem> riskLimitsRptGrp;
116 
117  /// Returns template ID.
118  TemplateId::Enum templateId() const;
119 
120  /// Returns string representation.
121  std::string toString() const;
122 
123 private:
124  friend class Serializer;
125  PreTradeRiskLimitResponse(const void* data, size_t dataSize, MessageInfo& msgInfo);
126  void nativeSerializeTo(void* nativeMessage);
127 };
128 
129 ONIXS_EUREX_ETI_EXPORT std::ostream& operator<<(std::ostream&, const PreTradeRiskLimitResponse&);
130 
131 }}} // namespace OnixS::Eurex::Trading
PartyDetailStatus::Enum partyDetailStatus
Party detail status.
SInt64 quoteWeightingCoefficient
Quote Weighting factor for open positions in PTRL calculation.
SInt64 nettingCoefficient
Weighting factor used in the Extended PTRL consumption calculation.
UInt64 riskLimitReportId
ID of a PartyRiskLimitReport.
unsigned long long UInt64
Definition: Defines.h:46
RiskLimitViolationIndicator::Enum riskLimitViolationIndicator
Indicator for a pre-trade risk limit violation.
std::vector< RiskLimitsRptGrpElem > riskLimitsRptGrp
Risk Limits Rpt Group.
Enum
Scope for Pre-Trade risk limits.
UInt64 trdRegTSTimeIn
Matching engine in timestamp.
Enum
Indicator for a pre-trade risk limit violation.
signed int SInt32
Definition: Defines.h:41
Enum
Requesting party role for a pre-trade risk limit.
SInt32 marketSegmentId
The product identifier uniquely identifies a Eurex product.
RiskLimitPlatform::Enum riskLimitPlatform
Scope for Pre-Trade risk limits.
std::string riskLimitGroup
User Pre-Trade risk group.
Message base class.
Definition: Message.h:32
RiskLimitRequestingPartyRole::Enum riskLimitRequestingPartyRole
Requesting party role for a pre-trade risk limit.
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.
UInt64 trdRegTSTimeOut
Matching engine out timestamp.
std::string partyDetailExecutingUnit
Detail BusinessUnit name.
SInt64 riskLimitNetPositionQty
Net position quantity for a requested pre-trade risk limit scope.
RiskLimitType::Enum riskLimitType
Type of risk limits.
SInt64 riskLimitOpenQty
Open quantity for orders or TES trades.
UInt32 activationDate
Business date when change is active.