OnixS C++ CBOE CFE Binary Order Entry (BOE) Handler  1.11.0
API documentation
VarianceRestatement.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 <vector>
23 
28 
29 
30 namespace OnixS {
31 namespace CboeCFE {
32 namespace Trading {
33 namespace BOE {
34 
35  /// A Variance Restatement is sent post-settlement time for each VA and VAO execution during the associated business day to communicate updated Price, Size and Symbol associated with the cleared execution.
36  struct ONIXS_CBOE_CFE_BOE_API VarianceRestatement : public BinaryMessage
37  {
38  /// The time the event occurred in the CFE Matching Engine (not the time the message was sent).
40  {
41  return ordinary<DateTime>(0);
42  }
43 
44  /// The order being restated
45  StrRef clOrdId() const
46  {
47  return fixedStr<20>(8);
48  }
49 
50  /// EFID that will clear the trade.
52  {
53  return fixedStr<4>(28);
54  }
55 
56  /// Sent to the OCC in the Trade Id field.
57  Binary8 execId() const
58  {
59  return ordinary<Binary8>(32);
60  }
61 
62  ///
63  Side::Enum side() const
64  {
65  return enumeration<Side>(40);
66  }
67 
68  /// Limit price of the order.
70  {
71  return ordinary<BinaryPrice>(41);
72  }
73 
74  /// CFE native identifier of the instrument
75  StrRef symbol() const
76  {
77  return fixedStr<8>(49);
78  }
79 
80  /// Maturity date of the instrument
82  {
83  return ordinary<Date>(57);
84  }
85 
86  /// Executed contracts quantity.
88  {
89  return ordinary<Binary4>(61);
90  }
91 
92  /// Price of this fill.
94  {
95  return ordinary<BinaryPrice>(65);
96  }
97 
98  /// Indicates fee associated with an execution.
99  StrRef feeCode() const
100  {
101  return fixedStr<2>(73);
102  }
103 
104  /// Business date of the execution.
105  Date tradeDate() const
106  {
107  return ordinary<Date>(75);
108  }
109 
110  /// Price as sent to clearing after applying post-close conversions to the original LastPx value.
112  {
113  return ordinary<BinaryPrice>(79);
114  }
115 
116  /// Size to clear with OCC.
118  {
119  return ordinary<Binary4>(87);
120  }
121 
122  /// Symbol as sent to clearing
124  {
125  return fixedStr<8>(91);
126  }
127 
128  /// Type
130  {
131  return enumeration<MultilegReportingType>(99);
132  }
133 
134  /// Field indicates whether an execution is a spread or a simple instrument execution that is part of a spread trade.
136  {
137  return ordinary<Binary8>(100);
138  }
139 
140  /// Initializes instance over given memory block.
141  VarianceRestatement(const void* data, MessageSize size)
142  : BinaryMessage(data, size)
143  {
144  }
145  };
146 
147  /// Serializes object into string.
148  ONIXS_CBOE_CFE_BOE_API void toStr(std::string&, const VarianceRestatement&);
149 
150  /// Serializes object into string.
151  inline std::string toStr(const VarianceRestatement& msg)
152  {
153  std::string str;
154  toStr(str, msg);
155  return str;
156  }
157 
158 }
159 }
160 }
161 }
Binary4 lastShares() const
Executed contracts quantity.
Binary4 clearingSize() const
Size to clear with OCC.
Provides efficient way of accessing text-based field values.
Definition: String.h:45
StrRef feeCode() const
Indicates fee associated with an execution.
DateTime transactionTime() const
The time the event occurred in the CFE Matching Engine (not the time the message was sent)...
StrRef clOrdId() const
The order being restated.
Encapsulates services for manipulating little endian encoded messages.
BinaryPrice lastPx() const
Price of this fill.
StrRef clearingFirm() const
EFID that will clear the trade.
Date maturityDate() const
Maturity date of the instrument.
A Variance Restatement is sent post-settlement time for each VA and VAO execution during the associat...
void toStr(std::string &str, const FixedPointDecimal< Mantissa, Exponent > &number)
Serializes fixed-point decimal into a string.
Definition: Decimal.h:156
Binary8 execId() const
Sent to the OCC in the Trade Id field.
Binary2 MessageSize
Aliases message length type.
BinaryPrice clearingPrice() const
Price as sent to clearing after applying post-close conversions to the original LastPx value...
Date tradeDate() const
Business date of the execution.
StrRef clearingSymbol() const
Symbol as sent to clearing.
Binary8 secondaryExecId() const
Field indicates whether an execution is a spread or a simple instrument execution that is part of a s...
VarianceRestatement(const void *data, MessageSize size)
Initializes instance over given memory block.
BinaryPrice price() const
Limit price of the order.
StrRef symbol() const
CFE native identifier of the instrument.
MultilegReportingType::Enum multilegReportingType() const
Type.