dxFeed Graal CXX API
|
Option Sale event represents a trade or another market event with the price (for example, market open/close price, etc.) for each option symbol listed under the specified Underlying. More...
#include <OptionSale.hpp>
Public Types | |
using | Ptr = std::shared_ptr<OptionSale> |
The alias to a type of shared pointer to the OptionSale object. | |
using | Unique = std::unique_ptr<OptionSale> |
The alias to a type of unique pointer to the OptionSale object. | |
Public Types inherited from MarketEvent | |
using | Ptr = std::shared_ptr<MarketEvent> |
The alias to a type of shared pointer to the MarketEvent object. | |
Public Types inherited from EventTypeWithSymbol< std::string > | |
using | Ptr |
The alias to a type of shared pointer to the EventTypeWithSymbol's child object. | |
Public Types inherited from EventType | |
using | Ptr = std::shared_ptr<EventType> |
The alias to a type of shared pointer to the EventType object. | |
Public Types inherited from SharedEntity | |
using | Ptr = std::shared_ptr<SharedEntity> |
The alias to a type of shared pointer to the SharedEntity object. | |
Public Types inherited from IndexedEvent | |
using | Ptr = std::shared_ptr<IndexedEvent> |
The alias to a type of shared pointer to the IndexedEvent object. | |
Public Member Functions | |
void * | toGraal () const override |
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary). | |
OptionSale () noexcept=default | |
Creates new option sale event with default values. | |
OptionSale (std::string eventSymbol) noexcept | |
Creates new option sale event with the specified event symbol. | |
OptionSale & | withEventSymbol (const std::string &eventSymbol) noexcept |
Changes event's symbol and returns the current option sale. | |
OptionSale & | withEventTime (std::int64_t eventTime) noexcept |
Changes event's creation time and returns the current option sale. | |
const IndexedEventSource & | getSource () const &noexcept override |
Returns the source of this event. | |
std::int32_t | getEventFlags () const noexcept override |
Returns transactional event flags. | |
EventFlagsMask | getEventFlagsMask () const noexcept override |
Returns transactional event flags. | |
void | setEventFlags (std::int32_t eventFlags) noexcept override |
Changes transactional event flags. | |
OptionSale & | withEventFlags (std::int32_t eventFlags) noexcept |
Changes transactional event flags and returns the current option sale. | |
void | setEventFlags (const EventFlagsMask &eventFlags) noexcept override |
Changes transactional event flags. | |
OptionSale & | withEventFlags (const EventFlagsMask &eventFlags) noexcept |
Changes transactional event flags and returns the current option sale. | |
std::int64_t | getIndex () const noexcept override |
Returns unique per-symbol index of this event. | |
void | setIndex (std::int64_t index) override |
Changes unique per-symbol index of this event. | |
OptionSale & | withIndex (std::int64_t index) noexcept |
Changes unique per-symbol index of this event. | |
std::int64_t | getTimeSequence () const noexcept |
Returns time and sequence of this event packaged into single long value. | |
void | setTimeSequence (std::int64_t timeSequence) noexcept |
Changes time and sequence of this event. | |
OptionSale & | withTimeSequence (std::int64_t timeSequence) noexcept |
Changes time and sequence of this event. | |
std::int64_t | getTime () const noexcept |
Returns time of this event. | |
void | setTime (std::int64_t time) noexcept |
Changes time of this event. | |
OptionSale & | withTime (std::int64_t time) noexcept |
Changes timestamp of the event in milliseconds. | |
std::int64_t | getTimeNanos () const noexcept |
Returns time of the original event in nanoseconds. | |
void | setTimeNanos (std::int64_t timeNanos) noexcept |
Changes time of the original event. | |
OptionSale & | withTimeNanos (std::int64_t timeNanos) noexcept |
Changes time of this option sale and returns it. | |
void | setTimeNanoPart (std::int32_t timeNanoPart) noexcept |
Changes microseconds and nanoseconds time part of the original event. | |
OptionSale & | withTimeNanoPart (std::int32_t timeNanoPart) noexcept |
Changes microseconds and nanoseconds time part of this option sale. | |
std::int32_t | getTimeNanoPart () const noexcept |
Returns microseconds and nanoseconds time part of the original event. | |
std::int32_t | getSequence () const noexcept |
Returns the sequence number of this event to distinguish events that have the same time. | |
void | setSequence (std::int32_t sequence) |
Changes sequence number of this event. | |
OptionSale & | withSequence (std::int32_t sequence) noexcept |
Changes sequence number of this event. | |
std::int16_t | getExchangeCode () const noexcept |
Returns exchange code of this option sale event. | |
std::string | getExchangeCodeString () const noexcept |
Returns exchange code of this option sale as UTF8 string. | |
void | setExchangeCode (char exchangeCode) noexcept |
Changes exchange code of this option sale event. | |
OptionSale & | withExchangeCode (char exchangeCode) noexcept |
Changes exchange code of this option sale event. | |
void | setExchangeCode (std::int16_t exchangeCode) noexcept |
Changes exchange code of this option sale event. | |
OptionSale & | withExchangeCode (std::int16_t exchangeCode) noexcept |
Changes exchange code of this option sale event. | |
double | getPrice () const noexcept |
Returns price of this option sale event. | |
void | setPrice (double price) noexcept |
Changes price of this option sale event. | |
OptionSale & | withPrice (double price) noexcept |
Changes price of this option sale event. | |
double | getSize () const noexcept |
Returns size of this option sale event. | |
void | setSize (double size) noexcept |
Changes size of this option sale event. | |
double | getBidPrice () const noexcept |
Returns the current bid price on the market when this option sale event had occurred. | |
void | setBidPrice (double bidPrice) noexcept |
Changes the current bid price on the market when this option sale event had occurred. | |
double | getAskPrice () const noexcept |
Returns the current ask price on the market when this option sale event had occurred. | |
void | setAskPrice (double askPrice) noexcept |
Changes price of this time and sale event.the current ask price on the market when this option sale event had occurred. | |
const std::string & | getExchangeSaleConditions () const &noexcept |
Returns sale conditions provided for this event by data feed. | |
const std::optional< std::string > & | getExchangeSaleConditionsOpt () const &noexcept |
Returns sale conditions provided for this event by data feed. | |
void | setExchangeSaleConditions (std::string exchangeSaleConditions) noexcept |
Changes sale conditions provided for this event by data feed. | |
char | getTradeThroughExempt () const noexcept |
Returns TradeThroughExempt flag of this option sale event. | |
void | setTradeThroughExempt (char tradeThroughExempt) |
Changes TradeThroughExempt flag of this option sale event. | |
const Side & | getAggressorSide () const &noexcept |
Returns aggressor side of this option sale event. | |
void | setAggressorSide (const Side &side) noexcept |
Changes aggressor side of this option sale event. | |
bool | isSpreadLeg () const noexcept |
Returns whether this event represents a spread leg. | |
void | setSpreadLeg (bool spreadLeg) noexcept |
Changes whether this event represents a spread leg. | |
bool | isExtendedTradingHours () const noexcept |
Returns whether this event represents an extended trading hours sale. | |
void | setExtendedTradingHours (bool extendedTradingHours) noexcept |
Changes whether this event represents an extended trading hours sale. | |
bool | isValidTick () const noexcept |
Returns whether this event represents a valid intraday tick. | |
void | setValidTick (bool validTick) noexcept |
Changes whether this event represents a valid intraday tick. | |
const TimeAndSaleType & | getType () const &noexcept |
Returns type of this option sale event. | |
void | setType (const TimeAndSaleType &type) noexcept |
Changes type of this option sale event. | |
bool | isNew () const noexcept |
Returns whether this is a new event (not cancellation or correction). | |
bool | isCorrection () const noexcept |
Returns whether this is a correction of a previous event. | |
bool | isCancel () const noexcept |
Returns whether this is a cancellation of a previous event. | |
double | getUnderlyingPrice () const noexcept |
Returns underlying price at the time of this option sale event. | |
void | setUnderlyingPrice (double underlyingPrice) noexcept |
Changes underlying price at the time of this option sale event. | |
double | getVolatility () const noexcept |
Returns Black-Scholes implied volatility of the option at the time of this option sale event. | |
void | setVolatility (double volatility) noexcept |
Changes Black-Scholes implied volatility of the option at the time of this option sale event. | |
double | getDelta () const noexcept |
Return option delta at the time of this option sale event. | |
void | setDelta (double delta) noexcept |
Changes option delta at the time of this option sale event. | |
const std::string & | getOptionSymbol () const &noexcept |
Returns option symbol of this event. | |
const std::optional< std::string > & | getOptionSymbolOpt () const &noexcept |
Returns option symbol of this event. | |
void | setOptionSymbol (std::string optionSymbol) noexcept |
Changes option symbol of this event. | |
std::string | toString () const noexcept override |
Returns a string representation of the current object. | |
Public Member Functions inherited from MarketEvent | |
const std::string & | getEventSymbol () const &noexcept override |
Returns symbol of this event. | |
const std::optional< std::string > & | getEventSymbolOpt () const &noexcept override |
Returns symbol of this event. | |
void | setEventSymbol (const std::string &eventSymbol) noexcept override |
Changes symbol of this event. | |
std::int64_t | getEventTime () const noexcept override |
Returns time when event was created or zero when time is not available. | |
void | setEventTime (std::int64_t eventTime) noexcept override |
Changes event creation time. | |
Public Member Functions inherited from SharedEntity | |
template<typename T > | |
bool | is () const noexcept |
Checks that pointer to the current type could be converted to type T* In other words: whether type T belongs to the type hierarchy in which the current type resides. | |
template<typename T > | |
std::shared_ptr< T > | sharedAs () noexcept |
Returns a pointer to the current object wrapped in a smart pointer to type T. | |
template<typename T > | |
std::shared_ptr< T > | sharedAs () const noexcept |
Returns a pointer to the current object wrapped in a smart pointer to type T. | |
Public Member Functions inherited from Entity | |
virtual | ~Entity () noexcept=default |
The default virtual d-tor. | |
Static Public Member Functions | |
static Ptr | fromGraal (void *graalNative) |
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure. | |
static void | freeGraal (void *graalNative) |
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary). | |
Static Public Attributes | |
static const EventTypeEnum & | TYPE = EventTypeEnum::OPTION_SALE |
Type identifier and additional information about the current event class. | |
static constexpr std::uint32_t | MAX_SEQUENCE = (1U << 22U) - 1U |
Maximum allowed sequence value. | |
Static Public Attributes inherited from IndexedEvent | |
static const EventFlag | TX_PENDING = EventFlag::TX_PENDING |
0x01 - A bitmask to get transaction pending indicator from the value of eventFlags property. | |
static const EventFlag | REMOVE_EVENT = EventFlag::REMOVE_EVENT |
0x02 - A bitmask to get removal indicator from the value of eventFlags property. | |
static const EventFlag | SNAPSHOT_BEGIN = EventFlag::SNAPSHOT_BEGIN |
0x04 - A bitmask to get snapshot begin indicator from the value of eventFlags property. | |
static const EventFlag | SNAPSHOT_END = EventFlag::SNAPSHOT_END |
0x08 - A bitmask to get snapshot end indicator from the value of eventFlags property. | |
static const EventFlag | SNAPSHOT_SNIP = EventFlag::SNAPSHOT_SNIP |
0x10 - A bitmask to get snapshot snip indicator from the value of eventFlags property. | |
static const EventFlag | SNAPSHOT_MODE = EventFlag::SNAPSHOT_MODE |
0x40 - A bitmask to set snapshot mode indicator into the value of eventFlags property. | |
Additional Inherited Members | |
Protected Member Functions inherited from MarketEvent | |
MarketEvent (std::string eventSymbol) noexcept | |
Protected constructor for concrete implementation classes that initializes eventSymbol property. | |
Option Sale event represents a trade or another market event with the price (for example, market open/close price, etc.) for each option symbol listed under the specified Underlying.
Option Sales are intended to provide information about option trades in a continuous time slice with the additional metrics, like Option Volatility, Option Delta, and Underlying Price.
Option Sale events have unique index which can be used for later correction/cancellation processing.
Option sale data source provides a consistent view of the set of known option sales. The corresponding information is carried in eventFlags property. The logic behind this property is detailed in IndexedEvent class documentation. Multiple event sources for the same symbol are not supported for option sale events, thus source property is always DEFAULT.
This event is implemented on top of QDS records OptionSale
.
|
inlineexplicitnoexcept |
Creates new option sale event with the specified event symbol.
eventSymbol | The event symbol. |
|
static |
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
graalNative | The pointer to the dxFeed Graal SDK structure. |
|
static |
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
graalNative | The pointer to the dxFeed Graal SDK structure. |
std::invalid_argument |
|
inlinenoexcept |
Returns aggressor side of this option sale event.
|
inlinenoexcept |
Returns the current ask price on the market when this option sale event had occurred.
|
inlinenoexcept |
Returns the current bid price on the market when this option sale event had occurred.
|
inlinenoexcept |
Return option delta at the time of this option sale event.
Delta is the first derivative of an option price by an underlying price.
|
inlineoverridevirtualnoexcept |
Returns transactional event flags.
See EventFlag "Event Flags" section.
Implements IndexedEvent.
|
inlineoverridevirtualnoexcept |
Returns transactional event flags.
See EventFlag "Event Flags" section.
Implements IndexedEvent.
|
inlinenoexcept |
Returns exchange code of this option sale event.
|
inlinenoexcept |
Returns exchange code of this option sale as UTF8 string.
|
inlinenoexcept |
Returns sale conditions provided for this event by data feed.
This field format is specific for every particular data feed.
std::string{"<null>"}
).
|
inlinenoexcept |
Returns sale conditions provided for this event by data feed.
This field format is specific for every particular data feed.
std::nullopt
.
|
inlineoverridevirtualnoexcept |
Returns unique per-symbol index of this event.
The index is composed of time and sequence. Changing either time or sequence changes event index.
Implements IndexedEvent.
|
inlinenoexcept |
Returns option symbol of this event.
std::string{"<null>"}
).
|
inlinenoexcept |
Returns option symbol of this event.
|
inlinenoexcept |
Returns price of this option sale event.
|
inlinenoexcept |
Returns the sequence number of this event to distinguish events that have the same time.
This sequence number does not have to be unique and does not need to be sequential. Sequence can range from 0 to MAX_SEQUENCE.
|
inlinenoexcept |
Returns size of this option sale event.
|
inlineoverridevirtualnoexcept |
Returns the source of this event.
Implements IndexedEvent.
References IndexedEventSource::DEFAULT.
|
inlinenoexcept |
Returns time of this event.
Time is measured in milliseconds between the current time and midnight, January 1, 1970 UTC.
|
inlinenoexcept |
Returns microseconds and nanoseconds time part of the original event.
|
inlinenoexcept |
Returns time of the original event in nanoseconds.
Time is measured in nanoseconds between the current time and midnight, January 1, 1970 UTC.
|
inlinenoexcept |
Returns time and sequence of this event packaged into single long value.
|
inlinenoexcept |
Returns TradeThroughExempt flag of this option sale event.
|
inlinenoexcept |
Returns type of this option sale event.
Referenced by isCancel(), isCorrection(), and isNew().
|
inlinenoexcept |
Returns underlying price at the time of this option sale event.
|
inlinenoexcept |
Returns Black-Scholes implied volatility of the option at the time of this option sale event.
|
inlinenoexcept |
Returns whether this is a cancellation of a previous event.
It is false
for newly created option sale event.
true
if this is a cancellation of a previous event References TimeAndSaleType::CANCEL, and getType().
|
inlinenoexcept |
Returns whether this is a correction of a previous event.
It is false
for newly created option sale event.
true
if this is a correction of a previous event References TimeAndSaleType::CORRECTION, and getType().
|
inlinenoexcept |
Returns whether this event represents an extended trading hours sale.
true
if this event represents an extended trading hours sale.
|
inlinenoexcept |
Returns whether this is a new event (not cancellation or correction).
It is true
for newly created option sale event.
true
if this is a new event (not cancellation or correction). References getType(), and TimeAndSaleType::NEW.
|
inlinenoexcept |
Returns whether this event represents a spread leg.
true
if this event represents a spread leg.
|
inlinenoexcept |
Returns whether this event represents a valid intraday tick.
Note, that a correction for a previously distributed valid tick represents a new valid tick itself, but a cancellation of a previous valid tick does not.
true
if this event represents a valid intraday tick.
|
inlinenoexcept |
Changes aggressor side of this option sale event.
side | aggressor side of this option sale event. |
|
inlinenoexcept |
Changes price of this time and sale event.the current ask price on the market when this option sale event had occurred.
askPrice | the current ask price on the market when this option sale event had occurred. |
|
inlinenoexcept |
Changes the current bid price on the market when this option sale event had occurred.
bidPrice | the current bid price on the market when this option sale event had occurred. |
|
inlinenoexcept |
Changes option delta at the time of this option sale event.
delta | option delta at the time of this option sale event. |
|
inlineoverridevirtualnoexcept |
Changes transactional event flags.
See EventFlag "Event Flags" section.
eventFlags | transactional event flags' mask. |
Implements IndexedEvent.
Referenced by withEventFlags().
|
inlineoverridevirtualnoexcept |
Changes transactional event flags.
See EventFlag "Event Flags" section.
eventFlags | transactional event flags. |
Implements IndexedEvent.
Referenced by withEventFlags().
|
noexcept |
Changes exchange code of this option sale event.
exchangeCode | exchange code of this option sale event. |
Referenced by withExchangeCode().
|
inlinenoexcept |
Changes exchange code of this option sale event.
exchangeCode | exchange code of this option sale event. |
Referenced by withExchangeCode().
|
inlinenoexcept |
Changes sale conditions provided for this event by data feed.
exchangeSaleConditions | sale conditions. |
|
inlinenoexcept |
Changes whether this event represents an extended trading hours sale.
extendedTradingHours | true if this event represents an extended trading hours sale. |
|
inlineoverridevirtual |
Changes unique per-symbol index of this event.
The index is composed of time and sequence and invocation of this method changes time and sequence. Do not use this method directly. Change time and/or sequence.
index | the event index. |
Implements IndexedEvent.
Referenced by withIndex().
|
inlinenoexcept |
Changes option symbol of this event.
optionSymbol | option symbol of this event. |
|
inlinenoexcept |
Changes price of this option sale event.
price | price of this option sale event. |
Referenced by withPrice().
|
inline |
Changes sequence number of this event.
sequence | the sequence. |
References MAX_SEQUENCE.
Referenced by withSequence().
|
inlinenoexcept |
Changes size of this option sale event.
size | size of this option sale event. |
|
inlinenoexcept |
Changes whether this event represents a spread leg.
spreadLeg | true if this event represents a spread leg. |
|
inlinenoexcept |
Changes time of this event.
Time is measured in milliseconds between the current time and midnight, January 1, 1970 UTC.
time | time of this event. |
Referenced by setTimeNanos(), and withTime().
|
inlinenoexcept |
Changes microseconds and nanoseconds time part of the original event.
timeNanoPart | microseconds and nanoseconds time part of the original event. |
Referenced by withTimeNanoPart().
|
inlinenoexcept |
Changes time of the original event.
Time is measured in nanoseconds between the current time and midnight, January 1, 1970 UTC.
timeNanos | time of the original event in nanoseconds. |
References setTime().
Referenced by withTimeNanos().
|
inlinenoexcept |
Changes time and sequence of this event.
Do not use this method directly. Change time and/or sequence.
timeSequence | the time and sequence. |
Referenced by withTimeSequence().
|
inline |
Changes TradeThroughExempt flag of this option sale event.
tradeThroughExempt | TradeThroughExempt flag of this option sale event. |
|
inlinenoexcept |
Changes type of this option sale event.
type | type of this option sale event. |
|
inlinenoexcept |
Changes underlying price at the time of this option sale event.
underlyingPrice | underlying price at the time of this option sale event. |
|
inlinenoexcept |
Changes whether this event represents a valid intraday tick.
validTick | true if this event represents a valid intraday tick. |
|
inlinenoexcept |
Changes Black-Scholes implied volatility of the option at the time of this option sale event.
volatility | Black-Scholes implied volatility of the option at the time of this option sale event. |
|
overridevirtual |
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Fills the dxFeed Graal SDK structure's fields by the data of the current entity (recursively if necessary). Returns the pointer to the filled structure.
Implements EventType.
|
overridevirtualnoexcept |
Returns a string representation of the current object.
Reimplemented from EventType.
|
inlinenoexcept |
Changes transactional event flags and returns the current option sale.
eventFlags | transactional event flags' mask. |
References setEventFlags().
|
inlinenoexcept |
Changes transactional event flags and returns the current option sale.
See EventFlag "Event Flags" section.
eventFlags | transactional event flags. |
References setEventFlags().
|
inlinenoexcept |
Changes event's symbol and returns the current option sale.
eventSymbol | The symbol of this event. |
References MarketEvent::setEventSymbol().
|
inlinenoexcept |
Changes event's creation time and returns the current option sale.
eventTime | the difference, measured in milliseconds, between the event creation time and midnight, January 1, 1970 UTC. |
References MarketEvent::setEventTime().
|
inlinenoexcept |
Changes exchange code of this option sale event.
Returns the current option sale.
exchangeCode | The exchange code of this option sale. |
References setExchangeCode().
|
inlinenoexcept |
Changes exchange code of this option sale event.
Returns the current order.
exchangeCode | The exchange code of this option sale. |
References setExchangeCode().
|
inlinenoexcept |
Changes unique per-symbol index of this event.
Returns the current option sale.
index | unique per-symbol index of this option sale. |
References setIndex().
|
inlinenoexcept |
Changes price of this option sale event.
Returns the current option sale.
price | The price of this option sale. |
References setPrice().
|
inlinenoexcept |
Changes sequence number of this event.
Returns the current option sale.
sequence | the sequence. |
References setSequence().
|
inlinenoexcept |
Changes timestamp of the event in milliseconds.
Returns the current option sale.
time | timestamp of the event in milliseconds. |
References setTime().
|
inlinenoexcept |
Changes microseconds and nanoseconds time part of this option sale.
Returns the current option sale.
timeNanoPart | microseconds and nanoseconds time part of this option sale. |
References setTimeNanoPart().
|
inlinenoexcept |
Changes time of this option sale and returns it.
Time is measured in nanoseconds between the current time and midnight, January 1, 1970 UTC.
timeNanos | The time of this option sale in nanoseconds. |
References setTimeNanos().
|
inlinenoexcept |
Changes time and sequence of this event.
Returns the current option sale.
timeSequence | the time and sequence. |
References setTimeSequence().
|
staticconstexpr |