InstrumentGroup

An InstrumentGroup is used to group Instrument instances into logical sets, such as Equities or Currencies, to facilitate the setting of common parameters and rules across each InstrumentGroup.

Metadata

  • Base Table Class: Static
  • Default Size: 100

Fields

NameTypeSize (bytes)Description
IdInteger (signed)8The unique identifier of this InstrumentGroup.
StatusSet of Status4
ShortNameString24The short text identifier of this InstrumentGroup.
NameString48The long text identifier of this InstrumentGroup.
FeeBasisOne of FeeBasis1
FeeBuyInteger (signed)8
FeeSellInteger (signed)8
MinFeePerOrderBuyInteger (signed)8
MinFeePerOrderSellInteger (signed)8
SessionForeign key to Session8The Sessions that define the matching algorithms that may be used for Products are maintained in this table.
OrderTypeSet of OrderType4
LotSizeInteger (unsigned)4An InstrumentMarket may trade in lots, where a lot is a fixed number of units of the InstrumentMarket. LotSize defines the number of units per lot for an InstrumentMarket. If an InstrumentMarket trades in single units, the LotSize is 1. Prices are always on a per-lot basis. This value determines the LotSize for the instances of this InstrumentGroup.
HiddenMaxRatioInteger (signed)8For hidden quantity orders, the maximum ratio of the total quantity of an order to the hidden quantity. For example, if HiddenMaxRatio is 10 then an order with a total quantity of 10,000 lots may not have a hidden quantity less than 1,000 lots.
PriceStepSetForeign key to PriceStepSet8Defines the valid price steps for the InstrumentGroup. This Trading Rule is a reference to a PriceStepSet instance that defines the steps that apply at each price level for the InstrumentGroup.
QuantityStepSetForeign key to QuantityStepSet8Defines the valid quantity steps for the InstrumentGroup. This Trading Rule is a reference to a QuantityStepSet instance that defines the steps that apply at each price level for the InstrumentGroup.
PriceDecimalsInteger (unsigned)1The number of decimal places that should be used when interpreting prices for this InstrumentGroup. Prices within MarketGrid are stored and communicated as integers with fixed numbers of decimals. This field specifies how many digits are to the right of the decimal point. For example, a price of 10350 with PriceDecimals set to 2 means 103.50.
QuantityDecimalsInteger (unsigned)1The number of decimal places that should be used when interpreting quantities for this InstrumentGroup. Quantities within MarketGrid are stored and communicated as integers with fixed numbers of decimals. This field specifies how many digits are to the right of the decimal point. For example, a quantity of 12345 with QuantityDecimals set to 3 means 12.345.
ValueDecimalsInteger (unsigned)1The number of decimal places that should be used when interpreting the value of this InstrumentGroup. Values within MarketGrid are stored and communicated as integers with fixed numbers of decimals. This field specifies how many digits are to the right of the decimal point. For example, a value of 1150000 with ValueDecimals of 2 means 11,500.00.
MinQuantityInteger (signed)8The minimum quantity permitted for this InstrumentGroup.
MaxQuantityInteger (signed)8The maximum quantity permitted for this InstrumentGroup.
MinValueInteger (signed)8
MaxValueInteger (signed)8
ScaleInteger (signed)8A scaling factor for distribution of the traded Value today for this InstrumentGroup through the API. Value will be scaled (divided by) this field, if it is non-zero.
MinPriceInteger (signed)8
MaxPriceInteger (signed)8
PriceZeroAllowedInteger (unsigned)1
PriceNegativeAllowedInteger (unsigned)1
FeeTypeOne of FeeType1
FeeMakerInteger (signed)8
FeeTakerInteger (signed)8
MinFeePerOrderMakerInteger (signed)8
MinFeePerOrderTakerInteger (signed)8
MaxFeePerTradeBuyInteger (signed)8
MaxFeePerTradeSellInteger (signed)8
MaxFeePerTradeMakerInteger (signed)8
MaxFeePerTradeTakerInteger (signed)8
MatchingPriorityTypeOne of MatchingPriorityType1If set to 1, indicates that for this InstrumentMarket, Market Maker orders will be placed at head of each order book (by price).
OrderPriceLimitUpLTPInteger (signed)8
OrderPriceLimitUpRefInteger (signed)8
OrderPriceLimitDownLTPInteger (signed)8
OrderPriceLimitDownRefInteger (signed)8
CircuitBreakerUpLTPInteger (signed)8
CircuitBreakerUpRefInteger (signed)8
CircuitBreakerDownLTPInteger (signed)8
CircuitBreakerDownRefInteger (signed)8
UpdateNumberInteger (unsigned)8A number that records every change that happens to a record. It is primarily used to avoid write after read problems when an intermediate write has changed the originally read record.
OwnerUserForeign key to User8The Id of the User that owns this InstrumentGroup.
OwnerGroupForeign key to Group8The Id of the Group that owns this InstrumentGroup.
OwnerFirmForeign key to Firm8The Id of the Firm that owns this InstrumentGroup.
CreateUserForeign key to User8The Id of the User that created this InstrumentGroup.
CreateTimestampInteger (unsigned)8The time at which this InstrumentGroup was created.
UpdateUserForeign key to User8The Id of the User that last updated this InstrumentGroup.
UpdateTimestampInteger (unsigned)8The time at which this InstrumentGroup was last updated.

Foreign Keys

The following diagram shows the tables that have a foreign key link to the InstrumentGroup table. All Table nodes can be clicked to take you to that table's definition page.

graph LR;
	Fee-->|InstrumentGroup|InstrumentGroup
	Fee-->|SettlementInstrumentGroup|InstrumentGroup
	click Fee "/marketgrid/developer/model/tables/Fee"
	Instrument-->|InstrumentGroup|InstrumentGroup
	click Instrument "/marketgrid/developer/model/tables/Instrument"
	InstrumentMarket-->|InstrumentGroup|InstrumentGroup
	click InstrumentMarket "/marketgrid/developer/model/tables/InstrumentMarket"
	SessionTime-->|InstrumentGroup|InstrumentGroup
	click SessionTime "/marketgrid/developer/model/tables/SessionTime"