OnixS C++ Eurex T7 Market and Reference Data (EMDI, MDI, RDI, EOBI) Handlers
14.0.0
API documentation
Home
Contents
Namespaces
Classes
Files
File List
File Members
include
OnixS
Eurex
MarketData
EOBI
AddComplexInstrument.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/MarketData/ABI.h
>
23
#include <
OnixS/Eurex/MarketData/Numeric.h
>
24
#include <
OnixS/Eurex/MarketData/StringRef.h
>
25
#include <
OnixS/Eurex/MarketData/EOBI/MessageBase.h
>
26
#include <
OnixS/Eurex/MarketData/EOBI/DataContainer.h
>
27
28
namespace
OnixS
29
{
30
namespace
Eurex
31
{
32
namespace
MarketData
33
{
34
namespace
EOBI
35
{
36
class
ONIXS_EUREX_EMDI_API
AddComplexInstrumentEntry
:
public
DataContainer
37
{
38
public
:
39
/// Product identifier of the leg security (only applicable for underlying leg).
40
UInt32
legSymbol()
const
;
41
42
/// Instrument identifier of the leg security.
43
UInt64 legSecurityID()
const
;
44
45
/// Leg Price
46
bool
legPrice (
Decimal
& price)
const
;
47
48
/// The ratio of quantity for this individual leg relative to the entire multi-leg security.
49
UInt32
legRatioQty()
const
;
50
51
/// Leg Security Type
52
EOBI::LegSecurityType::Enum
legSecurityType()
const
;
53
54
/// The side of the individual leg of a strategy as defined in signature
55
EOBI::LegSide::Enum
legSide()
const
;
56
57
/// Appends text presentation.
58
void
toString (std::string&)
const
;
59
60
private
:
61
friend
class
AddComplexInstrumentEntries
;
62
63
AddComplexInstrumentEntry
(
const
void
* data);
64
};
65
66
class
ONIXS_EUREX_EMDI_API
AddComplexInstrumentEntries
:
public
DataContainer
67
{
68
public
:
69
/// Number of entries
70
size_t
size()
const
;
71
72
/// Entry accessor
73
AddComplexInstrumentEntry
operator[] (
size_t
idx)
const
;
74
75
/// Appends text presentation.
76
void
toString (std::string&)
const
;
77
78
private
:
79
friend
class
AddComplexInstrument
;
80
81
AddComplexInstrumentEntries
(
const
void
* data);
82
};
83
84
class
ONIXS_EUREX_EMDI_API
AddComplexInstrument
:
public
MessageBase
85
{
86
public
:
87
/// Message type
88
std::string msgType()
const
;
89
90
/// Market data type
91
EOBI::MarketDataType::Enum
marketDataType()
const
;
92
93
/// Security update action
94
EOBI::SecurityUpdateAction::Enum
securityUpdateAction()
const
;
95
96
/// Marketplace assigned identifier.
97
EOBI::SecurityIDSource::Enum
securityIDSource()
const
;
98
99
/// Marketplace assigned identifier.
100
EOBI::LegSecurityIDSource::Enum
legSecurityIDSource()
const
;
101
102
/// Number of market segments
103
EOBI::NoMarketSegments::Enum
noMarketSegments()
const
;
104
105
/// Security type
106
EOBI::SecurityType::Enum
securityType()
const
;
107
108
/// Unique instrument identifier.
109
UInt64 securityID()
const
;
110
111
/// Transaction timestamp.
112
UInt64 transactTime()
const
;
113
114
/// Human readable description of instrument.
115
StringRef
securityDesc()
const
;
116
117
/// Strategy Type.
118
UInt32
securitySubType()
const
;
119
120
/// This field qualifies an instrument type on Eurex.
121
EOBI::ProductComplex::Enum
productComplex()
const
;
122
123
/// Indicates that an implied market to be created for either the legs of a multi-leg
124
/// instrument (Implied-in) or for the multi-leg instrument based on the existence of the legs (Impliedout).
125
/// Determination as to whether implied markets should be created is generally done at the level of the multileg instrument.
126
/// Commonly used in listed derivatives.
127
EOBI::ImpliedMarketIndicator::Enum
impliedMarketIndicator()
const
;
128
129
/// LastFragment
130
LastFragment::Enum
lastFragment()
const
;
131
132
/// Common integer multiple of the option legs for Option Volatility Strategies.
133
UInt32
legRatioMultiplier()
const
;
134
135
/// Counter: number of Legs repeating group instances.
136
UInt8
noLegs()
const
;
137
138
/// Variable size array, record counter: NoLegs
139
AddComplexInstrumentEntries
instrmtLegGrp()
const
;
140
141
/// Appends text presentation.
142
void
toString (std::string&)
const
ONIXS_EUREX_EMDI_OVERRIDE;
143
144
private
:
145
friend
class
Implementation::MessageFactory;
146
147
AddComplexInstrument
(
const
void
* data,
const
DataSource
& dataSource) :
MessageBase
(data, dataSource) {}
148
};
149
}
150
}
151
}
152
}
153
OnixS::Eurex::MarketData::UInt8
unsigned char UInt8
Definition:
Numeric.h:35
OnixS::Eurex::MarketData::EOBI::SecurityUpdateAction::Enum
Enum
Definition:
Defines.h:1196
Numeric.h
OnixS::Eurex::MarketData::EOBI::MarketDataType::Enum
Enum
Definition:
Defines.h:1033
OnixS::Eurex::MarketData::EOBI::AddComplexInstrument
Definition:
AddComplexInstrument.h:84
OnixS::Eurex::MarketData::EOBI::AddComplexInstrumentEntries
Definition:
AddComplexInstrument.h:66
MessageBase.h
OnixS::Eurex::MarketData::EOBI::LastFragment::Enum
Enum
Definition:
Defines.h:1605
ABI.h
OnixS::Eurex::MarketData::UInt32
unsigned int UInt32
Definition:
Numeric.h:41
OnixS::Eurex::MarketData::EOBI::SecurityIDSource::Enum
Enum
Definition:
Defines.h:1122
OnixS
Definition:
Defines.h:30
OnixS::Eurex::MarketData::Decimal
Decimal type for better precision.
Definition:
Numeric.h:63
OnixS::Eurex::MarketData::EOBI::LegSecurityIDSource::Enum
Enum
Definition:
Defines.h:967
OnixS::Eurex::MarketData::EOBI::AddComplexInstrumentEntry
Definition:
AddComplexInstrument.h:36
OnixS::Eurex::MarketData::EOBI::ImpliedMarketIndicator::Enum
Enum
Definition:
Defines.h:955
StringRef.h
DataContainer.h
OnixS::Eurex::MarketData::EOBI::NoMarketSegments::Enum
Enum
Definition:
Defines.h:1089
OnixS::Eurex::MarketData::DataSource
Definition:
Defines.h:93
OnixS::Eurex::MarketData::EOBI::SecurityType::Enum
Enum
Definition:
Defines.h:1183
OnixS::Eurex::MarketData::EOBI::LegSecurityType::Enum
Enum
Definition:
Defines.h:1380
OnixS::Eurex::MarketData::EOBI::DataContainer
Definition:
DataContainer.h:34
OnixS::Eurex::MarketData::EOBI::ProductComplex::Enum
Enum
Definition:
Defines.h:1100
OnixS::Eurex::MarketData::StringRef
Definition:
StringRef.h:51
OnixS::Eurex::MarketData::EOBI::MessageBase
Definition:
MessageBase.h:41
OnixS::Eurex::MarketData::EOBI::LegSide::Enum
Enum
Definition:
Defines.h:978