OnixS ICE iMpact Multicast Price Feed Handler C++ library 8.18.0
API documentation
Loading...
Searching...
No Matches
FuturesProductDefinition.h
Go to the documentation of this file.
1
5/*
6 * Copyright (c) Onix Solutions Limited. All rights reserved.
7 *
8 * This software owned by Onix Solutions Limited and is protected by copyright law
9 * and international copyright treaties.
10 *
11 * Access to and use of the software is governed by the terms of the applicable ONIXS Software
12 * Services Agreement (the Agreement) and Customer end user license agreements granting
13 * a non-assignable, non-transferable and non-exclusive license to use the software
14 * for it's own data processing purposes under the terms defined in the Agreement.
15 *
16 * Except as otherwise granted within the terms of the Agreement, copying or reproduction of any part
17 * of this source code or associated reference material to any other location for further reproduction
18 * or redistribution, and any amendments to this copyright notice, are expressly prohibited.
19 *
20 * Any reproduction or redistribution for sale or hiring of the Software not in accordance with
21 * the terms of the Agreement is a violation of copyright law.
22 */
23
24#pragma once
25
26#include "../Enumerations.h"
27#include "../Export.h"
28#include "../Optional.h"
29#include "../Time.h"
30#include "../Types.h"
31
32#include <iosfwd>
33#include <string>
34#include <vector>
35
36namespace OnixS { namespace ICE { namespace iMpact { namespace MarketData {
37
39struct ONIXS_ICEMDH_EXPORT FuturesProductDefinition
40{
42 enum
43 {
45 };
46
50
53
56
58 std::string contractSymbol;
59
62
65
68
71
75
77 std::string marketDesc;
78
82
86
90
93
96
99
102
107
110
114
116 std::string currency;
117
120
126 long long oldTickValue;
127
130
132 std::string clearedAlias;
133
137
140
143
146
149
152
154 std::string productName;
155
157 std::string hubAlias;
158
160 std::string stripName;
161
164
167
171
173 std::string micCode;
174
179
183
186
189
192
196
200
204
207
209 int hubId;
210
213
216 std::string underlyingISIN;
217
219 struct ONIXS_ICEMDH_EXPORT BlockDetail
220 {
223
226
229 long long minQty;
230
233
235 std::string toString() const;
236 };
237
239 typedef std::vector<BlockDetail> BlockDetails;
240
243
246
249
252
257
261
266
273
278
282
288
291
295
299
304
314
323
326
330
333
337
340
344
347
350
353
356
359
362
365
370
373
378
381
384
388
392
396
399
402
405
409
412
414 FuturesProductDefinition(const char* data, std::size_t dataSize);
415
417 void deserialize(const char* data, std::size_t dataSize);
418
420 void reset();
421
423 std::string toString() const;
424};
425
427ONIXS_ICEMDH_EXPORT std::ostream& operator<<(std::ostream&, const FuturesProductDefinition&);
428
429}}}} // namespace OnixS::ICE::iMpact::MarketData
Declare ICE iMpact enumerations.
long long Price
Alias for order identifiers type.
Definition Types.h:54
short MarketType
Alias for market types.
Definition Types.h:36
std::ostream & operator<<(std::ostream &, const Error &)
Make it printable to formatted C++ I/O streams.
int MarketId
Alias for market identifiers type.
Definition Types.h:39
Enum
Exchange silo code for the market.
std::string toString() const
Returns string representation.
This class represents the Futures/OTC Product Definition Response Message.
int productId
ID of the product that the contract/market is under.
int incrementQty
Minimum increment quantity for this market.
Optional< bool > crossOrderSupported
Indicates if Cross order is supported in the market.
std::string toString() const
Returns string representation.
Optional< bool > overrideBlockMin
Indicates whether the Block Minimum can be overridden for the market.
Optional< bool > isDividendAdjusted
Indicates if dividend is adjusted.
std::string contractSymbol
See Naming Convention on Appendix D.
std::string micCode
Market Identifier Code for the market.
MarketType requestMarketType
See Appendix C for the list of market types and IDs.
int incrementPrice
Minimum increment price for this market.
Optional< bool > miFIDRegulatedMarket
Indicates MIFID-II market.
char numDecimalsOptionsPrice
Only used for OffExchangeIncrementOptionPrice.
Optional< bool > flexAllowed
Indicates if flexible strikes can be created for the option market.
FuturesProductDefinition(const char *data, std::size_t dataSize)
Initialize from raw message data.
Optional< MarketTransparencyType::Enum > marketTransparencyType
This field can be used to identify if a market is Platts or not.
Optional< bool > aonAllowed
Indicates if AON order is supported in the market.
char offExchangeIncrementQtyDenominator
Denominator for OffExchangeIncrementQty.
Optional< int > numOfMarkets
The number of markets for the given market type.
bool isCrackSpread
Indicate if the market is crack spread.
Optional< int > numOfCycles
Number of cycles (days, hours, MWh, etc) for a contract.
Optional< bool > gtAllowed
Indicates if GTC is allowed in the market.
Optional< BlockDetails > blockDetails
Collection of BlockDetails.
bool isSerialOptionsSupported
Indicate if serial options is supported.
Optional< char > interpolationFactorDenominator
Denominator value for ContractMultiplier.
void deserialize(const char *data, std::size_t dataSize)
Deserialize from raw data.
std::string hubAlias
Alias of the hub for the contract/market.
bool hedgeOnly
Indicate if the contract is for hedge only.
std::string productName
Name of the product that the contract/market is under.
Optional< SettlementType::Enum > settlementType
Settlement Type.
TradingStatus::Enum tradingStatus
See Appendix A on trading status codes.
Optional< char > altPriceDenominator
Denominator for the alternate deal price fields in the market.
Optional< char > couponRateDenominator
Fixed Rate: The fixed rate Denominator for an instrument.
Optional< bool > testMarketIndicator
Indicates this is a test market.
Optional< int > refSpreadProductId
Product ID to use when requesting new spread.
Optional< long long > couponRate
Fixed Rate: The fixed rate for an instrument.
Optional< char > contractSizeDenominator
Denominator for ContractSize.
void reset()
Reset all fields to default values.
std::vector< BlockDetail > BlockDetails
Alias for collection of BlockDetails.
std::string stripName
Name of the strip for the contract/market.
bool allowOptions
Indicate if the market supports option markets.
ExchangeSilo::Enum exchangeSilo
Exchange silo code for the market.
Optional< char > tickValueDenominator
Denominator for ScreenTickValue and BlockTickValue.
std::string currency
The currency that the market is traded on.
char orderPriceDenominator
Denominator for the order price fields in this market.