dxFeed Graal CXX API
Loading...
Searching...
No Matches
InstrumentProfile Class Referencefinal

Represents basic profile information about market instrument. More...

#include <InstrumentProfile.hpp>

+ Inheritance diagram for InstrumentProfile:

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

void * toGraal () const
 Allocates memory for the dxFeed Graal SDK structure.
 
 InstrumentProfile () noexcept=default
 Creates new instrument profile with default values.
 
const std::string & getType () const &noexcept
 Returns type of instrument.
 
void setType (const std::string &type) noexcept
 Changes type of instrument.
 
InstrumentProfilewithType (const std::string &type) noexcept
 Changes type of instrument and returns the current instrument profile.
 
const std::string & getSymbol () const &noexcept
 Returns identifier of instrument, preferable an international one in Latin alphabet.
 
void setSymbol (const std::string &symbol) noexcept
 Changes identifier of instrument, preferable an international one in Latin alphabet.
 
InstrumentProfilewithSymbol (const std::string &symbol) noexcept
 Changes identifier of instrument, preferable an international one in Latin alphabet.
 
const std::string & getDescription () const &noexcept
 Returns the description of instrument, preferable an international one in Latin alphabet.
 
void setDescription (const std::string &description) noexcept
 Changes description of instrument, preferable an international one in Latin alphabet.
 
InstrumentProfilewithDescription (const std::string &description) noexcept
 Changes description of instrument, preferable an international one in Latin alphabet.
 
const std::string & getLocalSymbol () const &noexcept
 Returns identifier of instrument in national language.
 
void setLocalSymbol (const std::string &localSymbol) noexcept
 Changes identifier of instrument in national language.
 
InstrumentProfilewithLocalSymbol (const std::string &localSymbol) noexcept
 Changes identifier of instrument in national language.
 
const std::string & getLocalDescription () const &noexcept
 Returns description of instrument in national language.
 
void setLocalDescription (const std::string &localDescription) noexcept
 Changes description of instrument in national language.
 
InstrumentProfilewithLocalDescription (const std::string &localDescription) noexcept
 Changes description of instrument in national language.
 
const std::string & getCountry () const &noexcept
 Returns country of origin (incorporation) of corresponding company or parent entity.
 
void setCountry (const std::string &country) noexcept
 Changes country of origin (incorporation) of corresponding company or parent entity.
 
InstrumentProfilewithCountry (const std::string &country) noexcept
 Changes country of origin (incorporation) of corresponding company or parent entity.
 
const std::string & getOPOL () const &noexcept
 Returns official Place Of Listing, the organization that have listed this instrument.
 
void setOPOL (const std::string &opol) noexcept
 Changes official Place Of Listing, the organization that have listed this instrument.
 
InstrumentProfilewithOPOL (const std::string &opol) noexcept
 Changes official Place Of Listing, the organization that have listed this instrument.
 
const std::string & getExchangeData () const &noexcept
 Returns exchange-specific data required to properly identify instrument when communicating with exchange.
 
void setExchangeData (const std::string &exchangeData) noexcept
 Changes exchange-specific data required to properly identify instrument when communicating with exchange.
 
InstrumentProfilewithExchangeData (const std::string &exchangeData) noexcept
 Changes exchange-specific data required to properly identify instrument when communicating with exchange.
 
const std::string & getExchanges () const &noexcept
 Returns list of exchanges where instrument is quoted or traded.
 
void setExchanges (const std::string &exchanges) noexcept
 Changes list of exchanges where instrument is quoted or traded.
 
InstrumentProfilewithExchanges (const std::string &exchanges) noexcept
 Changes list of exchanges where instrument is quoted or traded.
 
const std::string & getCurrency () const &noexcept
 Returns currency of quotation, pricing and trading.
 
void setCurrency (const std::string &currency) noexcept
 Changes currency of quotation, pricing and trading.
 
InstrumentProfilewithCurrency (const std::string &currency) noexcept
 Changes currency of quotation, pricing and trading.
 
const std::string & getBaseCurrency () const &noexcept
 Returns base currency of currency pair (FOREX instruments).
 
void setBaseCurrency (const std::string &baseCurrency) noexcept
 Changes base currency of currency pair (FOREX instruments).
 
InstrumentProfilewithBaseCurrency (const std::string &baseCurrency) noexcept
 Changes base currency of currency pair (FOREX instruments).
 
const std::string & getCFI () const &noexcept
 Returns Classification of Financial Instruments code.
 
void setCFI (const std::string &cfi) noexcept
 Changes Classification of Financial Instruments code.
 
InstrumentProfilewithCFI (const std::string &cfi) noexcept
 Changes Classification of Financial Instruments code.
 
const std::string & getISIN () const &noexcept
 Returns International Securities Identifying Number.
 
void setISIN (const std::string &isin) noexcept
 Changes International Securities Identifying Number.
 
InstrumentProfilewithISIN (const std::string &isin) noexcept
 Changes International Securities Identifying Number.
 
const std::string & getSEDOL () const &noexcept
 Returns Stock Exchange Daily Official List.
 
void setSEDOL (const std::string &sedol) noexcept
 Changes Stock Exchange Daily Official List.
 
InstrumentProfilewithSEDOL (const std::string &sedol) noexcept
 Changes Stock Exchange Daily Official List.
 
const std::string & getCUSIP () const &noexcept
 Returns Committee on Uniform Security Identification Procedures code.
 
void setCUSIP (const std::string &cusip) noexcept
 Changes Committee on Uniform Security Identification Procedures code.
 
InstrumentProfilewithCUSIP (const std::string &cusip) noexcept
 Changes Committee on Uniform Security Identification Procedures code.
 
std::int32_t getICB () const noexcept
 Returns Industry Classification Benchmark.
 
void setICB (std::int32_t icb) noexcept
 Changes Industry Classification Benchmark.
 
InstrumentProfilewithICB (std::int32_t icb) noexcept
 Changes Industry Classification Benchmark.
 
std::int32_t getSIC () const noexcept
 Returns Standard Industrial Classification.
 
void setSIC (std::int32_t sic) noexcept
 Changes Standard Industrial Classification.
 
InstrumentProfilewithSIC (std::int32_t sic) noexcept
 Changes Standard Industrial Classification.
 
double getMultiplier () const noexcept
 Returns market value multiplier.
 
void setMultiplier (double multiplier) noexcept
 Changes market value multiplier.
 
InstrumentProfilewithMultiplier (double multiplier) noexcept
 Changes market value multiplier.
 
const std::string & getProduct () const &noexcept
 Returns product for futures and options on futures (underlying asset name).
 
void setProduct (const std::string &product) noexcept
 Changes product for futures and options on futures (underlying asset name).
 
InstrumentProfilewithProduct (const std::string &product) noexcept
 Changes product for futures and options on futures (underlying asset name).
 
const std::string & getUnderlying () const &noexcept
 Returns primary underlying symbol for options.
 
void setUnderlying (const std::string &underlying) noexcept
 Changes primary underlying symbol for options.
 
InstrumentProfilewithUnderlying (const std::string &underlying) noexcept
 Changes primary underlying symbol for options.
 
double getSPC () const noexcept
 Returns shares per contract for options.
 
void setSPC (double spc) noexcept
 Changes shares per contract for options.
 
InstrumentProfilewithSPC (double spc) noexcept
 Changes shares per contract for options.
 
const std::string & getAdditionalUnderlyings () const &noexcept
 Returns additional underlyings for options, including additional cash.
 
void setAdditionalUnderlyings (const std::string &additionalUnderlyings) noexcept
 Changes additional underlyings for options, including additional cash.
 
InstrumentProfilewithAdditionalUnderlyings (const std::string &additionalUnderlyings) noexcept
 Changes additional underlyings for options, including additional cash.
 
const std::string & getMMY () const &noexcept
 Returns maturity month-year as provided for corresponding FIX tag (200).
 
void setMMY (const std::string &mmy) noexcept
 Changes maturity month-year as provided for corresponding FIX tag (200).
 
InstrumentProfilewithMMY (const std::string &mmy) noexcept
 Changes maturity month-year as provided for corresponding FIX tag (200).
 
std::int32_t getExpiration () const noexcept
 Returns day id of expiration.
 
void setExpiration (std::int32_t expiration) noexcept
 Changes day id of expiration.
 
InstrumentProfilewithExpiration (std::int32_t expiration) noexcept
 Changes day id of expiration.
 
std::int32_t getLastTrade () const noexcept
 Returns day id of last trading day.
 
void setLastTrade (std::int32_t lastTrade) noexcept
 Changes day id of last trading day.
 
InstrumentProfilewithLastTrade (std::int32_t lastTrade) noexcept
 Changes day id of last trading day.
 
double getStrike () const noexcept
 Returns strike price for options.
 
void setStrike (double strike) noexcept
 Changes strike price for options.
 
InstrumentProfilewithStrike (double strike) noexcept
 Changes strike price for options.
 
const std::string & getOptionType () const &noexcept
 Returns type of option.
 
void setOptionType (const std::string &optionType) noexcept
 Changes type of option.
 
InstrumentProfilewithOptionType (const std::string &optionType) noexcept
 Changes type of option.
 
const std::string & getExpirationStyle () const &noexcept
 Returns expiration cycle style, such as "Weeklys", "Quarterlys".
 
void setExpirationStyle (const std::string &expirationStyle) noexcept
 Changes the expiration cycle style, such as "Weeklys", "Quarterlys".
 
InstrumentProfilewithExpirationStyle (const std::string &expirationStyle) noexcept
 Changes the expiration cycle style, such as "Weeklys", "Quarterlys".
 
const std::string & getSettlementStyle () const &noexcept
 Returns settlement price determination style, such as "Open", "Close".
 
void setSettlementStyle (const std::string &settlementStyle) noexcept
 Changes settlement price determination style, such as "Open", "Close".
 
InstrumentProfilewithSettlementStyle (const std::string &settlementStyle) noexcept
 Changes settlement price determination style, such as "Open", "Close".
 
const std::string & getPriceIncrements () const &noexcept
 Returns minimum allowed price increments with corresponding price ranges.
 
void setPriceIncrements (const std::string &priceIncrements) noexcept
 Changes minimum allowed price increments with corresponding price ranges.
 
InstrumentProfilewithPriceIncrements (const std::string &priceIncrements) noexcept
 Changes minimum allowed price increments with corresponding price ranges.
 
const std::string & getTradingHours () const &noexcept
 Returns trading hours specification.
 
void setTradingHours (const std::string &tradingHours) noexcept
 Changes trading hours specification.
 
InstrumentProfilewithTradingHours (const std::string &tradingHours) noexcept
 Changes trading hours specification.
 
- 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.
 
virtual std::string toString () const noexcept
 Returns a string representation of the current object.
 
- 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 std::vector< PtrfromGraalList (void *graalList)
 Creates a vector of objects of the current type and fills it with data from the the dxFeed Graal SDK list of structures.
 
static void freeGraal (void *graalNative)
 Releases the memory occupied by the dxFeed Graal SDK structure.
 

Detailed Description

Represents basic profile information about market instrument.

Please see Instrument Profile Format documentation for complete description.

Member Function Documentation

◆ freeGraal()

void InstrumentProfile::freeGraal ( void * graalNative)
static

Releases the memory occupied by the dxFeed Graal SDK structure.

Parameters
graalNativeThe pointer to the dxFeed Graal SDK structure.

Referenced by InstrumentProfileCollector::updateInstrumentProfile().

◆ fromGraal()

std::shared_ptr< InstrumentProfile > InstrumentProfile::fromGraal ( void * graalNative)
static

Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.

Parameters
graalNativeThe pointer to the dxFeed Graal SDK structure.
Returns
The object of current type.
Exceptions
std::invalid_argument

◆ fromGraalList()

std::vector< std::shared_ptr< InstrumentProfile > > InstrumentProfile::fromGraalList ( void * graalList)
static

Creates a vector of objects of the current type and fills it with data from the the dxFeed Graal SDK list of structures.

Parameters
graalListThe pointer to the dxFeed Graal SDK list of structures.
Returns
The vector of objects of current type
Exceptions
std::invalid_argument

◆ getAdditionalUnderlyings()

const std::string & InstrumentProfile::getAdditionalUnderlyings ( ) const &
inlinenoexcept

Returns additional underlyings for options, including additional cash.

It shall use following format:

<VALUE> ::= <empty> | <LIST>
<LIST> ::= <AU> | <AU> <semicolon> <space> <LIST>
<AU> ::= <UNDERLYING> <space> <SPC>
the list shall be sorted by <UNDERLYING>.

Example: "SE 50", "FIS 53; US$ 45.46".

Returns
The additional underlyings for options, including additional cash.

◆ getBaseCurrency()

const std::string & InstrumentProfile::getBaseCurrency ( ) const &
inlinenoexcept

Returns base currency of currency pair (FOREX instruments).

It shall use three-letter currency code similarly to currency.

Returns
The base currency of currency pair (FOREX instruments).

◆ getCFI()

const std::string & InstrumentProfile::getCFI ( ) const &
inlinenoexcept

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".

Returns
CFI code.

◆ getCountry()

const std::string & InstrumentProfile::getCountry ( ) const &
inlinenoexcept

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".

Returns
The country of origin (incorporation) of corresponding company or parent entity.

◆ getCurrency()

const std::string & InstrumentProfile::getCurrency ( ) const &
inlinenoexcept

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".

Returns
Currency of quotation, pricing and trading.

◆ getCUSIP()

const std::string & InstrumentProfile::getCUSIP ( ) const &
inlinenoexcept

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".

Returns
CUSIP code.

◆ getDescription()

const std::string & InstrumentProfile::getDescription ( ) const &
inlinenoexcept

Returns the description of instrument, preferable an international one in Latin alphabet.

Example: "Google Inc.", "Mini Gold Futures,Jun-2009,ETH".

Returns
The description of instrument.

◆ getExchangeData()

const std::string & InstrumentProfile::getExchangeData ( ) const &
inlinenoexcept

Returns exchange-specific data required to properly identify instrument when communicating with exchange.

It uses exchange-specific format.

Returns
The exchange-specific data required to properly identify instrument when communicating with exchange.

◆ getExchanges()

const std::string & InstrumentProfile::getExchanges ( ) const &
inlinenoexcept

Returns list of exchanges where instrument is quoted or traded.

Its shall use the following format:

<VALUE> ::= <empty> | <LIST>
<LIST> ::= <MIC> | <MIC> <semicolon>
<LIST> the list shall be sorted by MIC.

Example: "ARCX;CBSX ;XNAS;XNYS".

Returns
The list of exchanges where instrument is quoted or traded.

◆ getExpiration()

std::int32_t InstrumentProfile::getExpiration ( ) const
inlinenoexcept

Returns day id of expiration.

Example: day_util::#getDayIdByYearMonthDay() "dxfcpp::day_util::getDayIdByYearMonthDay"(20090117).

Returns
The day id of expiration.

◆ getExpirationStyle()

const std::string & InstrumentProfile::getExpirationStyle ( ) const &
inlinenoexcept

Returns expiration cycle style, such as "Weeklys", "Quarterlys".

Returns
The expiration cycle style.

◆ getICB()

std::int32_t InstrumentProfile::getICB ( ) const
inlinenoexcept

Returns Industry Classification Benchmark.

It shall use four-digit number from ICB catalog. See ICB on Wikipedia or ICB homepage. Example: "9535".

Returns
Industry Classification Benchmark.

◆ getISIN()

const std::string & InstrumentProfile::getISIN ( ) const &
inlinenoexcept

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".

Returns
International Securities Identifying Number.

◆ getLastTrade()

std::int32_t InstrumentProfile::getLastTrade ( ) const
inlinenoexcept

Returns day id of last trading day.

Example: day_util::#getDayIdByYearMonthDay() "dxfcpp::day_util::getDayIdByYearMonthDay"(20090116).

Returns
The day id of last trading day.

◆ getLocalDescription()

const std::string & InstrumentProfile::getLocalDescription ( ) const &
inlinenoexcept

Returns description of instrument in national language.

It shall be empty if same as description.

Returns
The description of instrument in national language.

◆ getLocalSymbol()

const std::string & InstrumentProfile::getLocalSymbol ( ) const &
inlinenoexcept

Returns identifier of instrument in national language.

It shall be empty if same as symbol.

Returns
The identifier of instrument in national language.

◆ getMMY()

const std::string & InstrumentProfile::getMMY ( ) const &
inlinenoexcept

Returns maturity month-year as provided for corresponding FIX tag (200).

It can use several different formats depending on data source:

  • YYYYMM – if only year and month are specified
  • YYYYMMDD – if full date is specified
  • YYYYMMwN – if week number (within a month) is specified
Returns
The maturity month-year as provided for corresponding FIX tag (200).

◆ getMultiplier()

double InstrumentProfile::getMultiplier ( ) const
inlinenoexcept

Returns market value multiplier.

Example: 100, 33.2.

Returns
The market value multiplier.

◆ getOPOL()

const std::string & InstrumentProfile::getOPOL ( ) const &
inlinenoexcept

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"

Returns
The official Place Of Listing, the organization that have listed this instrument.

◆ getOptionType()

const std::string & InstrumentProfile::getOptionType ( ) const &
inlinenoexcept

Returns type of option.

It shall use one of following values:

  • STAN = Standard Options
  • LEAP = Long-term Equity AnticiPation Securities
  • SDO = Special Dated Options
  • BINY = Binary Options
  • FLEX = FLexible EXchange Options
  • VSO = Variable Start Options
  • RNGE = Range
Returns
The type of option.

◆ getPriceIncrements()

const std::string & InstrumentProfile::getPriceIncrements ( ) const &
inlinenoexcept

Returns minimum allowed price increments with corresponding price ranges.

It shall use following format:

<VALUE> ::= <empty> | <LIST>
<LIST> ::= <INCREMENT> | <RANGE> <semicolon> <space> <LIST>
<RANGE> ::= <INCREMENT> <space> <UPPER_LIMIT>
the list shall be sorted by <UPPER_LIMIT>.

Example: "0.25", "0.01 3; 0.05".

Returns
The minimum allowed price increments with corresponding price ranges.

◆ getProduct()

const std::string & InstrumentProfile::getProduct ( ) const &
inlinenoexcept

Returns product for futures and options on futures (underlying asset name).

Example: "/YG".

Returns
The product for futures and options on futures (underlying asset name).

◆ getSEDOL()

const std::string & InstrumentProfile::getSEDOL ( ) const &
inlinenoexcept

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".

Returns
Stock Exchange Daily Official List.

◆ getSettlementStyle()

const std::string & InstrumentProfile::getSettlementStyle ( ) const &
inlinenoexcept

Returns settlement price determination style, such as "Open", "Close".

Returns
The settlement price determination style.

◆ getSIC()

std::int32_t InstrumentProfile::getSIC ( ) const
inlinenoexcept

Returns Standard Industrial Classification.

It shall use four-digit number from SIC catalog. See SIC on Wikipedia or SIC structure. Example: "7371".

Returns
Standard Industrial Classification.

◆ getSPC()

double InstrumentProfile::getSPC ( ) const
inlinenoexcept

Returns shares per contract for options.

Example: 1, 100.

Returns
shares per contract for options.

◆ getStrike()

double InstrumentProfile::getStrike ( ) const
inlinenoexcept

Returns strike price for options.

Example: 80, 22.5.

Returns
The strike price for options.

◆ getSymbol()

const std::string & InstrumentProfile::getSymbol ( ) const &
inlinenoexcept

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".

Returns
The identifier of instrument.

◆ getTradingHours()

const std::string & InstrumentProfile::getTradingHours ( ) const &
inlinenoexcept

Returns trading hours specification.

See Schedule::getInstance().

Returns
The trading hours specification.

◆ getType()

const std::string & InstrumentProfile::getType ( ) const &
inlinenoexcept

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".

Returns
type of instrument.

◆ getUnderlying()

const std::string & InstrumentProfile::getUnderlying ( ) const &
inlinenoexcept

Returns primary underlying symbol for options.

Example: "C", "/YGM9"

Returns
The primary underlying symbol for options.

◆ setAdditionalUnderlyings()

void InstrumentProfile::setAdditionalUnderlyings ( const std::string & additionalUnderlyings)
inlinenoexcept

Changes additional underlyings for options, including additional cash.

It shall use following format:

<VALUE> ::= <empty> | <LIST>
<LIST> ::= <AU> | <AU> <semicolon> <space> <LIST>
<AU> ::= <UNDERLYING> <space> <SPC>
the list shall be sorted by <UNDERLYING>.

Example: "SE 50", "FIS 53; US$ 45.46".

Parameters
additionalUnderlyingsThe additional underlyings for options, including additional cash.

Referenced by withAdditionalUnderlyings().

◆ setBaseCurrency()

void InstrumentProfile::setBaseCurrency ( const std::string & baseCurrency)
inlinenoexcept

Changes base currency of currency pair (FOREX instruments).

It shall use three-letter currency code similarly to currency.

Parameters
baseCurrencyThe base currency of currency pair (FOREX instruments).

Referenced by withBaseCurrency().

◆ setCFI()

void InstrumentProfile::setCFI ( const std::string & cfi)
inlinenoexcept

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".

Parameters
cfiCFI code.

Referenced by withCFI().

◆ setCountry()

void InstrumentProfile::setCountry ( const std::string & country)
inlinenoexcept

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".

Parameters
countryThe country of origin (incorporation) of corresponding company or parent entity.

Referenced by withCountry().

◆ setCurrency()

void InstrumentProfile::setCurrency ( const std::string & currency)
inlinenoexcept

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".

Parameters
currencyCurrency of quotation, pricing and trading.

Referenced by withCurrency().

◆ setCUSIP()

void InstrumentProfile::setCUSIP ( const std::string & cusip)
inlinenoexcept

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".

Parameters
cusipCUSIP code.

Referenced by withCUSIP().

◆ setDescription()

void InstrumentProfile::setDescription ( const std::string & description)
inlinenoexcept

Changes description of instrument, preferable an international one in Latin alphabet.

Example: "Google Inc.", "Mini Gold Futures,Jun-2009,ETH".

Parameters
descriptionThe description of instrument.

Referenced by withDescription().

◆ setExchangeData()

void InstrumentProfile::setExchangeData ( const std::string & exchangeData)
inlinenoexcept

Changes exchange-specific data required to properly identify instrument when communicating with exchange.

It uses exchange-specific format.

Parameters
exchangeDataThe exchange-specific data required to properly identify instrument when communicating with exchange.

Referenced by withExchangeData().

◆ setExchanges()

void InstrumentProfile::setExchanges ( const std::string & exchanges)
inlinenoexcept

Changes list of exchanges where instrument is quoted or traded.

It shall use the following format:

<VALUE> ::= <empty> | <LIST>
<LIST> ::= <MIC> | <MIC> <semicolon>
<LIST> the list shall be sorted by MIC.

Example: "ARCX;CBSX ;XNAS;XNYS".

Parameters
exchangesThe list of exchanges where instrument is quoted or traded.

Referenced by withExchanges().

◆ setExpiration()

void InstrumentProfile::setExpiration ( std::int32_t expiration)
inlinenoexcept

Changes day id of expiration.

Example: day_util::#getDayIdByYearMonthDay() "dxfcpp::day_util::getDayIdByYearMonthDay"(20090117).

Parameters
expirationThe day id of expiration.

Referenced by withExpiration().

◆ setExpirationStyle()

void InstrumentProfile::setExpirationStyle ( const std::string & expirationStyle)
inlinenoexcept

Changes the expiration cycle style, such as "Weeklys", "Quarterlys".

Parameters
expirationStyleThe expiration cycle style.

Referenced by withExpirationStyle().

◆ setICB()

void InstrumentProfile::setICB ( std::int32_t icb)
inlinenoexcept

Changes Industry Classification Benchmark.

It shall use four-digit number from ICB catalog. See ICB on Wikipedia or ICB homepage. Example: "9535".

Parameters
icbIndustry Classification Benchmark.

Referenced by withICB().

◆ setISIN()

void InstrumentProfile::setISIN ( const std::string & isin)
inlinenoexcept

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".

Parameters
isinInternational Securities Identifying Number.

Referenced by withISIN().

◆ setLastTrade()

void InstrumentProfile::setLastTrade ( std::int32_t lastTrade)
inlinenoexcept

Changes day id of last trading day.

Example: day_util::#getDayIdByYearMonthDay() "dxfcpp::day_util::getDayIdByYearMonthDay"(20090116).

Parameters
lastTradeThe day id of last trading day.

Referenced by withLastTrade().

◆ setLocalDescription()

void InstrumentProfile::setLocalDescription ( const std::string & localDescription)
inlinenoexcept

Changes description of instrument in national language.

It shall be empty if same as description.

Parameters
localDescriptionThe description of instrument in national language.

Referenced by withLocalDescription().

◆ setLocalSymbol()

void InstrumentProfile::setLocalSymbol ( const std::string & localSymbol)
inlinenoexcept

Changes identifier of instrument in national language.

It shall be empty if same as symbol.

Parameters
localSymbolThe identifier of instrument in national language.

Referenced by withLocalSymbol().

◆ setMMY()

void InstrumentProfile::setMMY ( const std::string & mmy)
inlinenoexcept

Changes maturity month-year as provided for corresponding FIX tag (200).

It can use several different formats depending on data source:

  • YYYYMM – if only year and month are specified
  • YYYYMMDD – if full date is specified
  • YYYYMMwN – if week number (within a month) is specified
Parameters
mmyThe maturity month-year as provided for corresponding FIX tag (200).

Referenced by withMMY().

◆ setMultiplier()

void InstrumentProfile::setMultiplier ( double multiplier)
inlinenoexcept

Changes market value multiplier.

Example: 100, 33.2.

Parameters
multiplierThe market value multiplier.

Referenced by withMultiplier().

◆ setOPOL()

void InstrumentProfile::setOPOL ( const std::string & opol)
inlinenoexcept

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"

Parameters
opolThe official Place Of Listing, the organization that have listed this instrument.

Referenced by withOPOL().

◆ setOptionType()

void InstrumentProfile::setOptionType ( const std::string & optionType)
inlinenoexcept

Changes type of option.

It shall use one of following values:

  • STAN = Standard Options
  • LEAP = Long-term Equity AnticiPation Securities
  • SDO = Special Dated Options
  • BINY = Binary Options
  • FLEX = FLexible EXchange Options
  • VSO = Variable Start Options
  • RNGE = Range
Parameters
optionTypeThe type of option.

Referenced by withOptionType().

◆ setPriceIncrements()

void InstrumentProfile::setPriceIncrements ( const std::string & priceIncrements)
inlinenoexcept

Changes minimum allowed price increments with corresponding price ranges.

It shall use following format:

<VALUE> ::= <empty> | <LIST>
<LIST> ::= <INCREMENT> | <RANGE> <semicolon> <space> <LIST>
<RANGE> ::= <INCREMENT> <space> <UPPER_LIMIT>
the list shall be sorted by <UPPER_LIMIT>.

Example: "0.25", "0.01 3; 0.05".

Parameters
priceIncrementsThe minimum allowed price increments with corresponding price ranges.

Referenced by withPriceIncrements().

◆ setProduct()

void InstrumentProfile::setProduct ( const std::string & product)
inlinenoexcept

Changes product for futures and options on futures (underlying asset name).

Example: "/YG".

Parameters
productThe product for futures and options on futures (underlying asset name).

Referenced by withProduct().

◆ setSEDOL()

void InstrumentProfile::setSEDOL ( const std::string & sedol)
inlinenoexcept

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".

Parameters
sedolStock Exchange Daily Official List.

Referenced by withSEDOL().

◆ setSettlementStyle()

void InstrumentProfile::setSettlementStyle ( const std::string & settlementStyle)
inlinenoexcept

Changes settlement price determination style, such as "Open", "Close".

Parameters
settlementStyleThe settlement price determination style.

Referenced by withSettlementStyle().

◆ setSIC()

void InstrumentProfile::setSIC ( std::int32_t sic)
inlinenoexcept

Changes Standard Industrial Classification.

It shall use four-digit number from SIC catalog. See SIC on Wikipedia or SIC structure. Example: "7371".

Parameters
sicStandard Industrial Classification.

Referenced by withSIC().

◆ setSPC()

void InstrumentProfile::setSPC ( double spc)
inlinenoexcept

Changes shares per contract for options.

Example: 1, 100.

Parameters
spcThe shares per contract for options.

Referenced by withSPC().

◆ setStrike()

void InstrumentProfile::setStrike ( double strike)
inlinenoexcept

Changes strike price for options.

Example: 80, 22.5.

Parameters
strikeThe strike price for options.

Referenced by withStrike().

◆ setSymbol()

void InstrumentProfile::setSymbol ( const std::string & symbol)
inlinenoexcept

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".

Parameters
symbolThe identifier of instrument.

Referenced by withSymbol().

◆ setTradingHours()

void InstrumentProfile::setTradingHours ( const std::string & tradingHours)
inlinenoexcept

Changes trading hours specification.

See Schedule::getInstance().

Parameters
tradingHoursThe trading hours specification.

Referenced by withTradingHours().

◆ setType()

void InstrumentProfile::setType ( const std::string & type)
inlinenoexcept

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".

Parameters
typeThe type of instrument.

Referenced by withType().

◆ setUnderlying()

void InstrumentProfile::setUnderlying ( const std::string & underlying)
inlinenoexcept

Changes primary underlying symbol for options.

Example: "C", "/YGM9"

Parameters
underlyingThe primary underlying symbol for options.

Referenced by withUnderlying().

◆ toGraal()

void * InstrumentProfile::toGraal ( ) const

Allocates memory for the dxFeed Graal SDK structure.

Fills the dxFeed Graal SDK structure's fields by the data of the current entity. Returns the pointer to the filled structure.

Returns
The pointer to the filled dxFeed Graal SDK structure

Referenced by InstrumentProfileCollector::updateInstrumentProfile().

◆ withAdditionalUnderlyings()

InstrumentProfile & InstrumentProfile::withAdditionalUnderlyings ( const std::string & additionalUnderlyings)
inlinenoexcept

Changes additional underlyings for options, including additional cash.

It shall use following format:

<VALUE> ::= <empty> | <LIST>
<LIST> ::= <AU> | <AU> <semicolon> <space> <LIST>
<AU> ::= <UNDERLYING> <space> <SPC>
the list shall be sorted by <UNDERLYING>.

Example: "SE 50", "FIS 53; US$ 45.46".

Parameters
additionalUnderlyingsThe additional underlyings for options, including additional cash.
Returns
The current instrument profile.

References setAdditionalUnderlyings().

◆ withBaseCurrency()

InstrumentProfile & InstrumentProfile::withBaseCurrency ( const std::string & baseCurrency)
inlinenoexcept

Changes base currency of currency pair (FOREX instruments).

It shall use three-letter currency code similarly to currency.

Parameters
baseCurrencyThe base currency of currency pair (FOREX instruments).
Returns
The current instrument profile.

References setBaseCurrency().

◆ withCFI()

InstrumentProfile & InstrumentProfile::withCFI ( const std::string & cfi)
inlinenoexcept

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".

Parameters
cfiCFI code.
Returns
The current instrument profile.

References setCFI().

◆ withCountry()

InstrumentProfile & InstrumentProfile::withCountry ( const std::string & country)
inlinenoexcept

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".

Parameters
countryThe country of origin (incorporation) of corresponding company or parent entity.
Returns
The current instrument profile.

References setCountry().

◆ withCurrency()

InstrumentProfile & InstrumentProfile::withCurrency ( const std::string & currency)
inlinenoexcept

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".

Parameters
currencyCurrency of quotation, pricing and trading.
Returns
The current instrument profile.

References setCurrency().

◆ withCUSIP()

InstrumentProfile & InstrumentProfile::withCUSIP ( const std::string & cusip)
inlinenoexcept

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".

Parameters
cusipCUSIP code
Returns
The current instrument profile.

References setCUSIP().

◆ withDescription()

InstrumentProfile & InstrumentProfile::withDescription ( const std::string & description)
inlinenoexcept

Changes description of instrument, preferable an international one in Latin alphabet.

Example: "Google Inc.", "Mini Gold Futures,Jun-2009,ETH".

Parameters
descriptionThe description of instrument.
Returns
The current instrument profile.

References setDescription().

◆ withExchangeData()

InstrumentProfile & InstrumentProfile::withExchangeData ( const std::string & exchangeData)
inlinenoexcept

Changes exchange-specific data required to properly identify instrument when communicating with exchange.

It uses exchange-specific format.

Parameters
exchangeDataThe exchange-specific data required to properly identify instrument when communicating with exchange.
Returns
The current instrument profile.

References setExchangeData().

◆ withExchanges()

InstrumentProfile & InstrumentProfile::withExchanges ( const std::string & exchanges)
inlinenoexcept

Changes list of exchanges where instrument is quoted or traded.

It shall use the following format:

<VALUE> ::= <empty> | <LIST>
<LIST> ::= <MIC> | <MIC> <semicolon>
<LIST> the list shall be sorted by MIC.

Example: "ARCX;CBSX ;XNAS;XNYS".

Parameters
exchangesThe list of exchanges where instrument is quoted or traded.
Returns
The current instrument profile.

References setExchanges().

◆ withExpiration()

InstrumentProfile & InstrumentProfile::withExpiration ( std::int32_t expiration)
inlinenoexcept

Changes day id of expiration.

Example: day_util::#getDayIdByYearMonthDay() "dxfcpp::day_util::getDayIdByYearMonthDay"(20090117).

Parameters
expirationThe day id of expiration.
Returns
The current instrument profile.

References setExpiration().

◆ withExpirationStyle()

InstrumentProfile & InstrumentProfile::withExpirationStyle ( const std::string & expirationStyle)
inlinenoexcept

Changes the expiration cycle style, such as "Weeklys", "Quarterlys".

Parameters
expirationStyleThe expiration cycle style.
Returns
The current instrument profile.

References setExpirationStyle().

◆ withICB()

InstrumentProfile & InstrumentProfile::withICB ( std::int32_t icb)
inlinenoexcept

Changes Industry Classification Benchmark.

It shall use four-digit number from ICB catalog. See ICB on Wikipedia or ICB homepage. Example: "9535".

Parameters
icbIndustry Classification Benchmark.
Returns
The current instrument profile.

References setICB().

◆ withISIN()

InstrumentProfile & InstrumentProfile::withISIN ( const std::string & isin)
inlinenoexcept

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".

Parameters
isinInternational Securities Identifying Number.
Returns
The current instrument profile.

References setISIN().

◆ withLastTrade()

InstrumentProfile & InstrumentProfile::withLastTrade ( std::int32_t lastTrade)
inlinenoexcept

Changes day id of last trading day.

Example: day_util::#getDayIdByYearMonthDay() "dxfcpp::day_util::getDayIdByYearMonthDay"(20090116).

Parameters
lastTradeThe day id of last trading day.
Returns
The current instrument profile.

References setLastTrade().

◆ withLocalDescription()

InstrumentProfile & InstrumentProfile::withLocalDescription ( const std::string & localDescription)
inlinenoexcept

Changes description of instrument in national language.

It shall be empty if same as description.

Parameters
localDescriptionThe description of instrument in national language.
Returns
The current instrument profile.

References setLocalDescription().

◆ withLocalSymbol()

InstrumentProfile & InstrumentProfile::withLocalSymbol ( const std::string & localSymbol)
inlinenoexcept

Changes identifier of instrument in national language.

It shall be empty if same as symbol.

Parameters
localSymbolThe identifier of instrument in national language.
Returns
The current instrument profile.

References setLocalSymbol().

◆ withMMY()

InstrumentProfile & InstrumentProfile::withMMY ( const std::string & mmy)
inlinenoexcept

Changes maturity month-year as provided for corresponding FIX tag (200).

It can use several different formats depending on data source:

  • YYYYMM – if only year and month are specified
  • YYYYMMDD – if full date is specified
  • YYYYMMwN – if week number (within a month) is specified
Parameters
mmyThe maturity month-year as provided for corresponding FIX tag (200).
Returns
The current instrument profile.

References setMMY().

◆ withMultiplier()

InstrumentProfile & InstrumentProfile::withMultiplier ( double multiplier)
inlinenoexcept

Changes market value multiplier.

Example: 100, 33.2.

Parameters
multiplierThe market value multiplier.
Returns
The current instrument profile.

References setMultiplier().

◆ withOPOL()

InstrumentProfile & InstrumentProfile::withOPOL ( const std::string & opol)
inlinenoexcept

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"

Parameters
opolThe official Place Of Listing, the organization that have listed this instrument.
Returns
The current instrument profile.

References setOPOL().

◆ withOptionType()

InstrumentProfile & InstrumentProfile::withOptionType ( const std::string & optionType)
inlinenoexcept

Changes type of option.

It shall use one of following values:

  • STAN = Standard Options
  • LEAP = Long-term Equity AnticiPation Securities
  • SDO = Special Dated Options
  • BINY = Binary Options
  • FLEX = FLexible EXchange Options
  • VSO = Variable Start Options
  • RNGE = Range
Parameters
optionTypeThe type of option.
Returns
The current instrument profile.

References setOptionType().

◆ withPriceIncrements()

InstrumentProfile & InstrumentProfile::withPriceIncrements ( const std::string & priceIncrements)
inlinenoexcept

Changes minimum allowed price increments with corresponding price ranges.

It shall use following format:

<VALUE> ::= <empty> | <LIST>
<LIST> ::= <INCREMENT> | <RANGE> <semicolon> <space> <LIST>
<RANGE> ::= <INCREMENT> <space> <UPPER_LIMIT>
the list shall be sorted by <UPPER_LIMIT>.

Example: "0.25", "0.01 3; 0.05".

Parameters
priceIncrementsThe minimum allowed price increments with corresponding price ranges.
Returns
The current instrument profile.

References setPriceIncrements().

◆ withProduct()

InstrumentProfile & InstrumentProfile::withProduct ( const std::string & product)
inlinenoexcept

Changes product for futures and options on futures (underlying asset name).

Example: "/YG".

Parameters
productThe product for futures and options on futures (underlying asset name).
Returns
The current instrument profile.

References setProduct().

◆ withSEDOL()

InstrumentProfile & InstrumentProfile::withSEDOL ( const std::string & sedol)
inlinenoexcept

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".

Parameters
sedolStock Exchange Daily Official List.
Returns
The current instrument profile.

References setSEDOL().

◆ withSettlementStyle()

InstrumentProfile & InstrumentProfile::withSettlementStyle ( const std::string & settlementStyle)
inlinenoexcept

Changes settlement price determination style, such as "Open", "Close".

Parameters
settlementStyleThe settlement price determination style.
Returns
The current instrument profile.

References setSettlementStyle().

◆ withSIC()

InstrumentProfile & InstrumentProfile::withSIC ( std::int32_t sic)
inlinenoexcept

Changes Standard Industrial Classification.

It shall use four-digit number from SIC catalog. See SIC on Wikipedia or SIC structure. Example: "7371".

Parameters
sicStandard Industrial Classification.
Returns
The current instrument profile.

References setSIC().

◆ withSPC()

InstrumentProfile & InstrumentProfile::withSPC ( double spc)
inlinenoexcept

Changes shares per contract for options.

Example: 1, 100.

Parameters
spcThe shares per contract for options.
Returns
The current instrument profile.

References setSPC().

◆ withStrike()

InstrumentProfile & InstrumentProfile::withStrike ( double strike)
inlinenoexcept

Changes strike price for options.

Example: 80, 22.5.

Parameters
strikeThe strike price for options
Returns
The current instrument profile.

References setStrike().

◆ withSymbol()

InstrumentProfile & InstrumentProfile::withSymbol ( const std::string & symbol)
inlinenoexcept

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".

Parameters
symbolThe identifier of instrument.
Returns
The current instrument profile.

References setSymbol().

◆ withTradingHours()

InstrumentProfile & InstrumentProfile::withTradingHours ( const std::string & tradingHours)
inlinenoexcept

Changes trading hours specification.

See Schedule::getInstance().

Parameters
tradingHoursThe trading hours specification.
Returns
The current instrument profile.

References setTradingHours().

◆ withType()

InstrumentProfile & InstrumentProfile::withType ( const std::string & type)
inlinenoexcept

Changes type of instrument and returns the current instrument profile.

Parameters
typeThe type of instrument.
Returns
The current instrument profile.

References setType().

◆ withUnderlying()

InstrumentProfile & InstrumentProfile::withUnderlying ( const std::string & underlying)
inlinenoexcept

Changes primary underlying symbol for options.

Example: "C", "/YGM9"

Parameters
underlyingThe primary underlying symbol for options.
Returns
The current instrument profile.

References setUnderlying().