dxFeed Graal CXX API v4.0.0
|
Represents basic profile information about market instrument. More...
#include <InstrumentProfile.hpp>
Public Types | |
using | Ptr = std::shared_ptr<InstrumentProfile> |
The alias to a type of shared pointer to the InstrumentProfile object. | |
using | Unique = std::unique_ptr<InstrumentProfile> |
The alias to a type of unique pointer to the InstrumentProfile 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 Member Functions | |
std::string | getType () const |
Returns type of instrument. | |
void | setType (const StringLikeWrapper &type) const |
Changes type of instrument. | |
std::string | getSymbol () const |
Returns identifier of instrument, preferable an international one in Latin alphabet. | |
void | setSymbol (const StringLikeWrapper &symbol) const |
Changes identifier of instrument, preferable an international one in Latin alphabet. | |
std::string | getDescription () const |
Returns the description of instrument, preferable an international one in Latin alphabet. | |
void | setDescription (const StringLikeWrapper &description) const |
Changes description of instrument, preferable an international one in Latin alphabet. | |
std::string | getLocalSymbol () const |
Returns identifier of instrument in national language. | |
void | setLocalSymbol (const StringLikeWrapper &localSymbol) const |
Changes identifier of instrument in national language. | |
std::string | getLocalDescription () const |
Returns description of instrument in national language. | |
void | setLocalDescription (const StringLikeWrapper &localDescription) const |
Changes description of instrument in national language. | |
std::string | getCountry () const |
Returns country of origin (incorporation) of corresponding company or parent entity. | |
void | setCountry (const StringLikeWrapper &country) const |
Changes country of origin (incorporation) of corresponding company or parent entity. | |
std::string | getOPOL () const |
Returns official Place Of Listing, the organization that have listed this instrument. | |
void | setOPOL (const StringLikeWrapper &opol) const |
Changes official Place Of Listing, the organization that have listed this instrument. | |
std::string | getExchangeData () const |
Returns exchange-specific data required to properly identify instrument when communicating with exchange. | |
void | setExchangeData (const StringLikeWrapper &exchangeData) const |
Changes exchange-specific data required to properly identify instrument when communicating with exchange. | |
std::string | getExchanges () const |
Returns list of exchanges where instrument is quoted or traded. | |
void | setExchanges (const StringLikeWrapper &exchanges) const |
Changes list of exchanges where instrument is quoted or traded. | |
std::string | getCurrency () const |
Returns currency of quotation, pricing and trading. | |
void | setCurrency (const StringLikeWrapper ¤cy) const |
Changes currency of quotation, pricing and trading. | |
std::string | getBaseCurrency () const |
Returns base currency of currency pair (FOREX instruments). | |
void | setBaseCurrency (const StringLikeWrapper &baseCurrency) const |
Changes base currency of currency pair (FOREX instruments). | |
std::string | getCFI () const |
Returns Classification of Financial Instruments code. | |
void | setCFI (const StringLikeWrapper &cfi) const |
Changes Classification of Financial Instruments code. | |
std::string | getISIN () const |
Returns International Securities Identifying Number. | |
void | setISIN (const StringLikeWrapper &isin) const |
Changes International Securities Identifying Number. | |
std::string | getSEDOL () const |
Returns Stock Exchange Daily Official List. | |
void | setSEDOL (const StringLikeWrapper &sedol) const |
Changes Stock Exchange Daily Official List. | |
std::string | getCUSIP () const |
Returns Committee on Uniform Security Identification Procedures code. | |
void | setCUSIP (const StringLikeWrapper &cusip) const |
Changes Committee on Uniform Security Identification Procedures code. | |
std::int32_t | getICB () const |
Returns Industry Classification Benchmark. | |
void | setICB (std::int32_t icb) const |
Changes Industry Classification Benchmark. | |
std::int32_t | getSIC () const |
Returns Standard Industrial Classification. | |
void | setSIC (std::int32_t sic) const |
Changes Standard Industrial Classification. | |
double | getMultiplier () const |
Returns market value multiplier. | |
void | setMultiplier (double multiplier) const |
Changes market value multiplier. | |
std::string | getProduct () const |
Returns product for futures and options on futures (underlying asset name). | |
void | setProduct (const StringLikeWrapper &product) const |
Changes product for futures and options on futures (underlying asset name). | |
std::string | getUnderlying () const |
Returns primary underlying symbol for options. | |
void | setUnderlying (const StringLikeWrapper &underlying) const |
Changes primary underlying symbol for options. | |
double | getSPC () const |
Returns shares per contract for options. | |
void | setSPC (double spc) const |
Changes shares per contract for options. | |
std::string | getAdditionalUnderlyings () const |
Returns additional underlyings for options, including additional cash. | |
void | setAdditionalUnderlyings (const StringLikeWrapper &additionalUnderlyings) const |
Changes additional underlyings for options, including additional cash. | |
std::string | getMMY () const |
Returns maturity month-year as provided for corresponding FIX tag (200). | |
void | setMMY (const StringLikeWrapper &mmy) const |
Changes maturity month-year as provided for corresponding FIX tag (200). | |
std::int32_t | getExpiration () const |
Returns day id of expiration. | |
void | setExpiration (std::int32_t expiration) const |
Changes day id of expiration. | |
std::int32_t | getLastTrade () const |
Returns day id of last trading day. | |
void | setLastTrade (std::int32_t lastTrade) const |
Changes day id of last trading day. | |
double | getStrike () const |
Returns strike price for options. | |
void | setStrike (double strike) const |
Changes strike price for options. | |
std::string | getOptionType () const |
Returns type of option. | |
void | setOptionType (const StringLikeWrapper &optionType) const |
Changes type of option. | |
std::string | getExpirationStyle () const |
Returns expiration cycle style, such as "Weeklys", "Quarterlys". | |
void | setExpirationStyle (const StringLikeWrapper &expirationStyle) const |
Changes the expiration cycle style, such as "Weeklys", "Quarterlys". | |
std::string | getSettlementStyle () const |
Returns settlement price determination style, such as "Open", "Close". | |
void | setSettlementStyle (const StringLikeWrapper &settlementStyle) const |
Changes settlement price determination style, such as "Open", "Close". | |
std::string | getPriceIncrements () const |
Returns minimum allowed price increments with corresponding price ranges. | |
void | setPriceIncrements (const StringLikeWrapper &priceIncrements) const |
Changes minimum allowed price increments with corresponding price ranges. | |
std::string | getTradingHours () const |
Returns trading hours specification. | |
void | setTradingHours (const StringLikeWrapper &tradingHours) const |
Changes trading hours specification. | |
std::string | getField (const StringLikeWrapper &name) const |
Returns field value with a specified name. | |
void | setField (const StringLikeWrapper &name, const StringLikeWrapper &value) const |
Changes field value with a specified name. | |
double | getNumericField (const StringLikeWrapper &name) const |
Returns numeric field value with a specified name. | |
void | setNumericField (const StringLikeWrapper &name, double value) const |
Changes numeric field value with a specified name. | |
std::int32_t | getDateField (const StringLikeWrapper &name) const |
Returns day id value for a date field with a specified name. | |
void | setDateField (const StringLikeWrapper &name, std::int32_t value) const |
Changes day id value for a date field with a specified name. | |
std::vector< std::string > | getNonEmptyCustomFieldNames () const |
Returns names of non-empty custom fields. | |
std::string | toString () const override |
Returns a string representation of the current object. | |
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 | create () |
Creates an instrument profile with default values. | |
static Ptr | create (Ptr ip) |
Creates an instrument profile as a copy of the specified instrument profile. | |
Static Public Member Functions inherited from RequireMakeShared< InstrumentProfile > | |
static auto | createShared (Args &&...args) |
Creates smart pointer to object. | |
Represents basic profile information about market instrument.
Please see Instrument Profile Format documentation for complete description.
|
static |
Creates an instrument profile as a copy of the specified instrument profile.
ip | an instrument profile to copy. |
std::string InstrumentProfile::getAdditionalUnderlyings | ( | ) | const |
Returns additional underlyings for options, including additional cash.
It shall use following format:
Example: "SE 50", "FIS 53; US$ 45.46".
std::string InstrumentProfile::getBaseCurrency | ( | ) | const |
Returns base currency of currency pair (FOREX instruments).
It shall use three-letter currency code similarly to currency.
std::string InstrumentProfile::getCFI | ( | ) | const |
Returns Classification of Financial Instruments code.
It is a mandatory field for OPTION instruments as it is the only way to distinguish Call/Put type, American/European exercise, Cash/Physical delivery. It shall use six-letter CFI code from ISO 10962 standard. It is allowed to use 'X' extensively and to omit trailing letters (assumed to be 'X'). See ISO 10962 on Wikipedia. Example: "ESNTPB", "ESXXXX", "ES" , "OPASPS".
std::string InstrumentProfile::getCountry | ( | ) | const |
Returns country of origin (incorporation) of corresponding company or parent entity.
It shall use two-letter country code from ISO 3166-1 standard. See ISO 3166-1 on Wikipedia. Example: "US", "RU".
std::string InstrumentProfile::getCurrency | ( | ) | const |
Returns currency of quotation, pricing and trading.
It shall use three-letter currency code from ISO 4217 standard. See ISO 4217 on Wikipedia. Example: "USD", "RUB".
std::string InstrumentProfile::getCUSIP | ( | ) | const |
Returns Committee on Uniform Security Identification Procedures code.
It shall use nine-letter code assigned by CUSIP Services Bureau. See CUSIP on Wikipedia. Example: "38259P508".
std::int32_t InstrumentProfile::getDateField | ( | const StringLikeWrapper & | name | ) | const |
Returns day id value for a date field with a specified name.
name | name of field. |
std::string InstrumentProfile::getDescription | ( | ) | const |
Returns the description of instrument, preferable an international one in Latin alphabet.
Example: "Google Inc.", "Mini Gold Futures,Jun-2009,ETH".
std::string InstrumentProfile::getExchangeData | ( | ) | const |
Returns exchange-specific data required to properly identify instrument when communicating with exchange.
It uses exchange-specific format.
std::string InstrumentProfile::getExchanges | ( | ) | const |
Returns list of exchanges where instrument is quoted or traded.
Its shall use the following format:
Example: "ARCX;CBSX ;XNAS;XNYS".
std::int32_t InstrumentProfile::getExpiration | ( | ) | const |
Returns day id of expiration.
Example: day_util::#getDayIdByYearMonthDay() "dxfcpp::day_util::getDayIdByYearMonthDay"(20090117).
std::string InstrumentProfile::getExpirationStyle | ( | ) | const |
Returns expiration cycle style, such as "Weeklys", "Quarterlys".
std::string InstrumentProfile::getField | ( | const StringLikeWrapper & | name | ) | const |
Returns field value with a specified name.
name | name of field. |
std::int32_t InstrumentProfile::getICB | ( | ) | const |
Returns Industry Classification Benchmark.
It shall use four-digit number from ICB catalog. See ICB on Wikipedia or ICB homepage. Example: "9535".
std::string InstrumentProfile::getISIN | ( | ) | const |
Returns International Securities Identifying Number.
It shall use twelve-letter code from ISO 6166 standard. See ISO 6166 on Wikipedia or ISIN on Wikipedia. Example: "DE0007100000", "US38259P5089".
std::int32_t InstrumentProfile::getLastTrade | ( | ) | const |
Returns day id of last trading day.
Example: day_util::#getDayIdByYearMonthDay() "dxfcpp::day_util::getDayIdByYearMonthDay"(20090116).
std::string InstrumentProfile::getLocalDescription | ( | ) | const |
Returns description of instrument in national language.
It shall be empty if same as description.
std::string InstrumentProfile::getLocalSymbol | ( | ) | const |
Returns identifier of instrument in national language.
It shall be empty if same as symbol.
std::string InstrumentProfile::getMMY | ( | ) | const |
Returns maturity month-year as provided for corresponding FIX tag (200).
It can use several different formats depending on data source:
double InstrumentProfile::getMultiplier | ( | ) | const |
Returns market value multiplier.
Example: 100, 33.2.
std::vector< std::string > InstrumentProfile::getNonEmptyCustomFieldNames | ( | ) | const |
Returns names of non-empty custom fields.
double InstrumentProfile::getNumericField | ( | const StringLikeWrapper & | name | ) | const |
Returns numeric field value with a specified name.
name | name of field. |
std::string InstrumentProfile::getOPOL | ( | ) | const |
Returns official Place Of Listing, the organization that have listed this instrument.
Instruments with multiple listings shall use separate profiles for each listing. It shall use Market Identifier Code (MIC) from ISO 10383 standard. See ISO 10383 on Wikipedia or MIC homepage. Example: "XNAS", "RTSX"
std::string InstrumentProfile::getOptionType | ( | ) | const |
Returns type of option.
It shall use one of following values:
std::string InstrumentProfile::getPriceIncrements | ( | ) | const |
Returns minimum allowed price increments with corresponding price ranges.
It shall use following format:
Example: "0.25", "0.01 3; 0.05".
std::string InstrumentProfile::getProduct | ( | ) | const |
Returns product for futures and options on futures (underlying asset name).
Example: "/YG".
std::string InstrumentProfile::getSEDOL | ( | ) | const |
Returns Stock Exchange Daily Official List.
It shall use seven-letter code assigned by London Stock Exchange. See SEDOL on Wikipedia or SEDOL on LSE. Example: "2310967", "5766857".
std::string InstrumentProfile::getSettlementStyle | ( | ) | const |
Returns settlement price determination style, such as "Open", "Close".
std::int32_t InstrumentProfile::getSIC | ( | ) | const |
Returns Standard Industrial Classification.
It shall use four-digit number from SIC catalog. See SIC on Wikipedia or SIC structure. Example: "7371".
double InstrumentProfile::getSPC | ( | ) | const |
Returns shares per contract for options.
Example: 1, 100.
double InstrumentProfile::getStrike | ( | ) | const |
Returns strike price for options.
Example: 80, 22.5.
std::string InstrumentProfile::getSymbol | ( | ) | const |
Returns identifier of instrument, preferable an international one in Latin alphabet.
It is a mandatory field. It may not be empty. Example: "GOOG", "/YGM9", ".ZYEAD".
std::string InstrumentProfile::getTradingHours | ( | ) | const |
Returns trading hours specification.
std::string InstrumentProfile::getType | ( | ) | const |
Returns type of instrument.
It takes precedence in conflict cases with other fields. It is a mandatory field. It may not be empty. Example: "STOCK", "FUTURE", "OPTION".
std::string InstrumentProfile::getUnderlying | ( | ) | const |
Returns primary underlying symbol for options.
Example: "C", "/YGM9"
void InstrumentProfile::setAdditionalUnderlyings | ( | const StringLikeWrapper & | additionalUnderlyings | ) | const |
Changes additional underlyings for options, including additional cash.
It shall use following format:
Example: "SE 50", "FIS 53; US$ 45.46".
additionalUnderlyings | The additional underlyings for options, including additional cash. |
void InstrumentProfile::setBaseCurrency | ( | const StringLikeWrapper & | baseCurrency | ) | const |
Changes base currency of currency pair (FOREX instruments).
It shall use three-letter currency code similarly to currency.
baseCurrency | The base currency of currency pair (FOREX instruments). |
void InstrumentProfile::setCFI | ( | const StringLikeWrapper & | cfi | ) | const |
Changes Classification of Financial Instruments code.
It is a mandatory field for OPTION instruments as it is the only way to distinguish Call/Put type, American/European exercise, Cash/Physical delivery. It shall use six-letter CFI code from ISO 10962 standard. It is allowed to use 'X' extensively and to omit trailing letters (assumed to be 'X'). See ISO 10962 on Wikipedia. Example: "ESNTPB", "ESXXXX", "ES" , "OPASPS".
cfi | CFI code. |
void InstrumentProfile::setCountry | ( | const StringLikeWrapper & | country | ) | const |
Changes country of origin (incorporation) of corresponding company or parent entity.
It shall use two-letter country code from ISO 3166-1 standard. See ISO 3166-1 on Wikipedia. Example: "US", "RU".
country | The country of origin (incorporation) of corresponding company or parent entity. |
void InstrumentProfile::setCurrency | ( | const StringLikeWrapper & | currency | ) | const |
Changes currency of quotation, pricing and trading.
It shall use three-letter currency code from ISO 4217 standard. See ISO 4217 on Wikipedia. Example: "USD", "RUB".
currency | Currency of quotation, pricing and trading. |
void InstrumentProfile::setCUSIP | ( | const StringLikeWrapper & | cusip | ) | const |
Changes Committee on Uniform Security Identification Procedures code.
It shall use nine-letter code assigned by CUSIP Services Bureau. See CUSIP on Wikipedia. Example: "38259P508".
cusip | CUSIP code. |
void InstrumentProfile::setDateField | ( | const StringLikeWrapper & | name, |
std::int32_t | value ) const |
Changes day id value for a date field with a specified name.
name | name of field. |
value | day id value. |
void InstrumentProfile::setDescription | ( | const StringLikeWrapper & | description | ) | const |
Changes description of instrument, preferable an international one in Latin alphabet.
Example: "Google Inc.", "Mini Gold Futures,Jun-2009,ETH".
description | The description of instrument. |
void InstrumentProfile::setExchangeData | ( | const StringLikeWrapper & | exchangeData | ) | const |
Changes exchange-specific data required to properly identify instrument when communicating with exchange.
It uses exchange-specific format.
exchangeData | The exchange-specific data required to properly identify instrument when communicating with exchange. |
void InstrumentProfile::setExchanges | ( | const StringLikeWrapper & | exchanges | ) | const |
Changes list of exchanges where instrument is quoted or traded.
It shall use the following format:
Example: "ARCX;CBSX ;XNAS;XNYS".
exchanges | The list of exchanges where instrument is quoted or traded. |
void InstrumentProfile::setExpiration | ( | std::int32_t | expiration | ) | const |
Changes day id of expiration.
Example: day_util::#getDayIdByYearMonthDay() "dxfcpp::day_util::getDayIdByYearMonthDay"(20090117).
expiration | The day id of expiration. |
void InstrumentProfile::setExpirationStyle | ( | const StringLikeWrapper & | expirationStyle | ) | const |
Changes the expiration cycle style, such as "Weeklys", "Quarterlys".
expirationStyle | The expiration cycle style. |
void InstrumentProfile::setField | ( | const StringLikeWrapper & | name, |
const StringLikeWrapper & | value ) const |
Changes field value with a specified name.
name | name of field. |
value | field value. |
void InstrumentProfile::setICB | ( | std::int32_t | icb | ) | const |
Changes Industry Classification Benchmark.
It shall use four-digit number from ICB catalog. See ICB on Wikipedia or ICB homepage. Example: "9535".
icb | Industry Classification Benchmark. |
void InstrumentProfile::setISIN | ( | const StringLikeWrapper & | isin | ) | const |
Changes International Securities Identifying Number.
It shall use twelve-letter code from ISO 6166 standard. See ISO 6166 on Wikipedia or ISIN on Wikipedia. Example: "DE0007100000", "US38259P5089".
isin | International Securities Identifying Number. |
void InstrumentProfile::setLastTrade | ( | std::int32_t | lastTrade | ) | const |
Changes day id of last trading day.
Example: day_util::#getDayIdByYearMonthDay() "dxfcpp::day_util::getDayIdByYearMonthDay"(20090116).
lastTrade | The day id of last trading day. |
void InstrumentProfile::setLocalDescription | ( | const StringLikeWrapper & | localDescription | ) | const |
Changes description of instrument in national language.
It shall be empty if same as description.
localDescription | The description of instrument in national language. |
void InstrumentProfile::setLocalSymbol | ( | const StringLikeWrapper & | localSymbol | ) | const |
Changes identifier of instrument in national language.
It shall be empty if same as symbol.
localSymbol | The identifier of instrument in national language. |
void InstrumentProfile::setMMY | ( | const StringLikeWrapper & | mmy | ) | const |
Changes maturity month-year as provided for corresponding FIX tag (200).
It can use several different formats depending on data source:
mmy | The maturity month-year as provided for corresponding FIX tag (200). |
void InstrumentProfile::setMultiplier | ( | double | multiplier | ) | const |
Changes market value multiplier.
Example: 100, 33.2.
multiplier | The market value multiplier. |
void InstrumentProfile::setNumericField | ( | const StringLikeWrapper & | name, |
double | value ) const |
Changes numeric field value with a specified name.
name | name of field. |
value | field value. |
void InstrumentProfile::setOPOL | ( | const StringLikeWrapper & | opol | ) | const |
Changes official Place Of Listing, the organization that have listed this instrument.
Instruments with multiple listings shall use separate profiles for each listing. It shall use Market Identifier Code (MIC) from ISO 10383 standard. See ISO 10383 on Wikipedia or MIC homepage. Example: "XNAS", "RTSX"
opol | The official Place Of Listing, the organization that have listed this instrument. |
void InstrumentProfile::setOptionType | ( | const StringLikeWrapper & | optionType | ) | const |
Changes type of option.
It shall use one of following values:
optionType | The type of option. |
void InstrumentProfile::setPriceIncrements | ( | const StringLikeWrapper & | priceIncrements | ) | const |
Changes minimum allowed price increments with corresponding price ranges.
It shall use following format:
Example: "0.25", "0.01 3; 0.05".
priceIncrements | The minimum allowed price increments with corresponding price ranges. |
void InstrumentProfile::setProduct | ( | const StringLikeWrapper & | product | ) | const |
Changes product for futures and options on futures (underlying asset name).
Example: "/YG".
product | The product for futures and options on futures (underlying asset name). |
void InstrumentProfile::setSEDOL | ( | const StringLikeWrapper & | sedol | ) | const |
Changes Stock Exchange Daily Official List.
It shall use seven-letter code assigned by London Stock Exchange. See SEDOL on Wikipedia or SEDOL on LSE. Example: "2310967", "5766857".
sedol | Stock Exchange Daily Official List. |
void InstrumentProfile::setSettlementStyle | ( | const StringLikeWrapper & | settlementStyle | ) | const |
Changes settlement price determination style, such as "Open", "Close".
settlementStyle | The settlement price determination style. |
void InstrumentProfile::setSIC | ( | std::int32_t | sic | ) | const |
Changes Standard Industrial Classification.
It shall use four-digit number from SIC catalog. See SIC on Wikipedia or SIC structure. Example: "7371".
sic | Standard Industrial Classification. |
void InstrumentProfile::setSPC | ( | double | spc | ) | const |
Changes shares per contract for options.
Example: 1, 100.
spc | The shares per contract for options. |
void InstrumentProfile::setStrike | ( | double | strike | ) | const |
Changes strike price for options.
Example: 80, 22.5.
strike | The strike price for options. |
void InstrumentProfile::setSymbol | ( | const StringLikeWrapper & | symbol | ) | const |
Changes identifier of instrument, preferable an international one in Latin alphabet.
It is a mandatory field. It may not be empty. Example: "GOOG", "/YGM9", ".ZYEAD".
symbol | The identifier of instrument. |
void InstrumentProfile::setTradingHours | ( | const StringLikeWrapper & | tradingHours | ) | const |
Changes trading hours specification.
tradingHours | The trading hours specification. |
void InstrumentProfile::setType | ( | const StringLikeWrapper & | type | ) | const |
Changes type of instrument.
It takes precedence in conflict cases with other fields. It is a mandatory field. It may not be empty. Example: "STOCK", "FUTURE", "OPTION".
type | The type of instrument. |
void InstrumentProfile::setUnderlying | ( | const StringLikeWrapper & | underlying | ) | const |
Changes primary underlying symbol for options.
Example: "C", "/YGM9"
underlying | The primary underlying symbol for options. |
|
overridevirtual |
Returns a string representation of the current object.
Reimplemented from SharedEntity.