Table of Contents

Class InstrumentProfile

Namespace
DxFeed.Graal.Net.Ipf
Assembly
DxFeed.Graal.Net.dll

Represents basic profile information about market instrument. Please see Instrument Profile Format documentation for complete description.

public class InstrumentProfile
Inheritance
InstrumentProfile
Inherited Members

Constructors

InstrumentProfile()

Initializes a new instance of the InstrumentProfile class.

public InstrumentProfile()

InstrumentProfile(InstrumentProfile)

Initializes a new instance of the InstrumentProfile class, creating a deep copy of the provided instrument profile.

public InstrumentProfile(InstrumentProfile ip)

Parameters

ip InstrumentProfile

The InstrumentProfile instance to copy.

Remarks

This constructor is used for creating a new instance of the InstrumentProfile class with the same properties as the given instance. It performs a deep copy, ensuring that the new instance does not share references with the original, making it safe from modifications to the original instance.

Properties

AdditionalUnderlyings

Gets or sets 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>.

public string AdditionalUnderlyings { get; set; }

Property Value

string

Examples

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

BaseCurrency

Gets or sets base currency of currency pair (FOREX instruments). It shall use three-letter currency code similarly to Currency.

public string BaseCurrency { get; set; }

Property Value

string

CFI

Gets or sets 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.

public string CFI { get; set; }

Property Value

string

Examples

"ESNTPB", "ESXXXX", "ES", "OPASPS".

CUSIP

Gets or sets committee on Uniform Security Identification Procedures code. It shall use nine-letter code assigned by CUSIP Services Bureau. See CUSIP on Wikipedia.

public string CUSIP { get; set; }

Property Value

string

Examples

"38259P508".

Country

Gets or sets 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.

public string Country { get; set; }

Property Value

string

Examples

"US", "RU".

Currency

Gets or sets currency of quotation, pricing and trading. It shall use three-letter currency code from ISO 4217 standard. See ISO 4217 on Wikipedia.

public string Currency { get; set; }

Property Value

string

Examples

"USD", "RUB".

Description

Gets or sets description of instrument, preferable an international one in Latin alphabet.

public string Description { get; set; }

Property Value

string

Examples

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

ExchangeData

Gets or sets exchange-specific data required to properly identify instrument when communicating with exchange. It uses exchange-specific format.

public string ExchangeData { get; set; }

Property Value

string

Exchanges

Gets or sets list of exchanges where instrument is quoted or traded. It shall use the following format:

<VALUE> ::= <empty> | <LIST>
<IST> ::= <MIC> | <MIC> <semicolon>

<LIST> the list shall be sorted by MIC.

public string Exchanges { get; set; }

Property Value

string

Examples

"ARCX;CBSX;XNAS;XNYS".

Expiration

Gets or sets day id of expiration.

public int Expiration { get; set; }

Property Value

int

Examples

DayUtil.GetYearMonthDayByDayId(20090117).

ExpirationStyle

Gets or sets expiration cycle style, such as "Weeklys", "Quarterlys".

public string ExpirationStyle { get; set; }

Property Value

string

ICB

Gets or sets industry Classification Benchmark. It shall use four-digit number from ICB catalog. See ICB on Wikipedia or ICB homepage.

public int ICB { get; set; }

Property Value

int

Examples

"9535".

ISIN

Gets or sets international Securities Identifying Number. It shall use twelve-letter code from ISO 6166 standard. See ISO 6166 on Wikipedia or ISIN on Wikipedia.

public string ISIN { get; set; }

Property Value

string

Examples

"DE0007100000", "US38259P5089".

LastTrade

Gets or sets day id of last trading day.

public int LastTrade { get; set; }

Property Value

int

Examples

DayUtil.GetYearMonthDayByDayId(20090117).

LocalDescription

Gets or sets description of instrument in national language. It shall be empty if same as Description.

public string LocalDescription { get; set; }

Property Value

string

LocalSymbol

Gets or sets identifier of instrument in national language. It shall be empty if same as Symbol.

public string LocalSymbol { get; set; }

Property Value

string

MMY

Gets or sets 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
public string MMY { get; set; }

Property Value

string

Multiplier

Gets or sets market value multiplier.

public double Multiplier { get; set; }

Property Value

double

Examples

"100", "33.2".

OPOL

Gets or sets 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.

public string OPOL { get; set; }

Property Value

string

Examples

"XNAS", "RTSX".

OptionType

Gets or sets 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
public string OptionType { get; set; }

Property Value

string

PriceIncrements

Gets or sets 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>.

public string PriceIncrements { get; set; }

Property Value

string

Examples

"0.25", "0.01 3; 0.05".

Product

Gets or sets product for futures and options on futures (underlying asset name).

public string Product { get; set; }

Property Value

string

Examples

"/YG".

SEDOL

Gets or sets stock Exchange Daily Official List. It shall use seven-letter code assigned by London Stock Exchange. See SEDOL on Wikipedia or SEDOL on LSE.

public string SEDOL { get; set; }

Property Value

string

Examples

"2310967", "5766857".

SIC

Gets or sets standard Industrial Classification. It shall use four-digit number from SIC catalog. See SIC on Wikipedia or SIC structure.

public int SIC { get; set; }

Property Value

int

Examples

"7371".

SPC

Gets or sets shares per contract for options.

public double SPC { get; set; }

Property Value

double

Examples

"1", "100".

SettlementStyle

Gets or sets settlement price determination style, such as "Open", "Close".

public string SettlementStyle { get; set; }

Property Value

string

Strike

Gets or sets strike price for options.

public double Strike { get; set; }

Property Value

double

Examples

"80", "22.5".

Symbol

Gets or sets identifier of instrument, preferable an international one in Latin alphabet. It is a mandatory field. It may not be empty.

public string Symbol { get; set; }

Property Value

string

Examples

"GOOG", "/YGM9", ".ZYEAD".

TradingHours

Gets or sets trading hours specification. See Schedule.GetInstance(string).

public string TradingHours { get; set; }

Property Value

string

Type

Gets or sets type of instrument. It takes precedence in conflict cases with other fields. It is a mandatory field. It may not be empty.

public string Type { get; set; }

Property Value

string

Examples

"STOCK", "FUTURE", "OPTION".

Underlying

Gets or sets primary underlying symbol for options.

public string Underlying { get; set; }

Property Value

string

Examples

"C", "/YGM9".

Methods

AddNonEmptyCustomFieldNames(ICollection<string>)

Adds names of non-empty custom fields to the specified collection.

public bool AddNonEmptyCustomFieldNames(ICollection<string> targetFieldNames)

Parameters

targetFieldNames ICollection<string>

The collection to which the names of non-empty custom fields will be added.

Returns

bool

true if targetFieldNames changed as a result of the call; otherwise, false.

Equals(object?)

Determines whether the specified object is equal to the current object.

public override bool Equals(object? obj)

Parameters

obj object

The object to compare with the current object.

Returns

bool

true if the specified object is equal to the current object; otherwise, false.

GetDateField(string)

Gets the day id value of the date field with the specified name. See GetYearMonthDayByDayId(int).

public int GetDateField(string name)

Parameters

name string

The name of the date field.

Returns

int

The day id field value.

GetField(string)

Gets the value of the field with the specified name.

public string GetField(string name)

Parameters

name string

The name of the field.

Returns

string

The field value, or an empty string if the field does not exist.

GetHashCode()

Returns a hash code value for this object.

public override int GetHashCode()

Returns

int

A hash code value for this object.

GetNumericField(string)

Gets the numeric value of the field with the specified name.

public double GetNumericField(string name)

Parameters

name string

The name of the field.

Returns

double

The numeric field value.

SetDateField(string, int)

Sets the day id value of the date field with the specified name. See GetDayIdByYearMonthDay(int).

public void SetDateField(string name, int value)

Parameters

name string

The name of the date field.

value int

The day id value to set for the date field.

SetField(string, string)

Sets the value of the field with the specified name.

public void SetField(string name, string value)

Parameters

name string

The name of the field.

value string

The value to set for the field.

SetNumericField(string, double)

Sets the numeric value of the field with the specified name.

public void SetNumericField(string name, double value)

Parameters

name string

The name of the field.

value double

The numeric value to set for the field.

ToString()

Returns a string representation of the instrument profile.

public override string ToString()

Returns

string

The string representation.