Skip to content

Market:Security

Announces the current state of a Security.

This subscription is only available for symbols that offer Asset in their SubscriptionData.

**Controller:**Market
Topic: Security![Code].[Market]
Action: Sub
Permissions: Zenith/Market
Server-side Unsubscribe: Yes

FormatDescriptionExample
Security![Code].[Market]Receive security data relating to a symbol.Security!BHP.ASX
NameDescription
MarketThe code for the listing Market of the desired symbol. Can be a Mixed Market code.
CodeThe code of the desired symbol.

The server will always send out the full state of a Security immediately after subscribing, as well as during a server resynchronisation and upon a new trading day.

As the Code and Market are only sent with a full state, the consumer must use the topic to identify the symbol updates are for.

All other updates besides the first should be treated as diff updates, identifying any fields that have changed. The Output column in the table below describes the potential values for each field.

  • Fixed: This field does not change, and will never be null in an update. Always supplied in the first update.
  • Optional: This field can change, and updates will never be null.
  • Nullable: This field can change, and updates can be null to clear its value.

A field that is not included in an update should be considered unchanged from its previous value.

If an Optional or Nullable field is never supplied, the default for that field applies.

NameTypeOutputDefaultDescription
CodeStringFixedThe symbol code, not including the Market.
MarketStringOptionalThe code for the Market this security belongs to. Always set.
ExchangeStringOptionalMarketThe exchange that issued this security. Defaults to the value of Market.
NameStringNullable""The full name of the security. Defaults to an empty string.
ClassStringFixedThe class of security. One of:
Market
ManagedFund
CFIStringFixedThe CFI (ISO 10962) code for this Symbol.
TradingStateStringOptionalThe trading status of the Security. Always set.
TradingMarketsArrayOptional[]An array of string codes representing Trading Markets this Symbol can be traded on. You may check the status of these Trading Markets by checking the States property of the top-level Market.
IsIndexBooleanOptionalfalseTrue if this security is an index.
ExpiryDateDateNullablenullThe expiry date of an Option or Warrant. Will be in the format YYYY-MM-DD.
StrikePriceDecimalNullablenullThe strike price of an Option.
ExerciseTypeStringNullablenullThe exercise type of an Option. One of: American, Asian, European, Unknown.
CallOrPutStringNullablenullThe style of Option or Warrant. One of: Call, Put
ContractSizeDecimalNullablenullThe contract size of a Warrant
LotSizeDecimalNullablenullThe lot size for trading.
AlternatesObjectOptional{}An object where the keys and values represent alternate codes associated with this Symbol.
AttributesObjectOptional{}An object where the keys and values represent attributes associated with this Symbol.
LegsArrayNullablenullAn array of Symbol Leg objects representing the combination legs of this Symbol, if any. Null if not a combination.
CategoriesArrayOptional[]An array of string codes representing the categories the Symbol belongs to, if any.
SubscriptionDataStringFixedThe data on offer by this symbol. One or more of the following values, separated by commas:
Asset – Security details are available.
Trades – Trade history is available.
Depth – Full and short depth is available.
DepthFull – Full depth is available.
DepthShort – Short depth is available.
All – All data types are available.
QuotationBasisArrayOptional[]An array of quotation basis codes for this Security, if any.
CurrencyStringNullablenullThe currency that prices are quoted in, if known.
OpenDecimalNullablenullThe opening price, if one exists.
HighDecimalNullablenullThe high price, if one exists.
LowDecimalNullablenullThe low price, if one exists.
CloseDecimalNullablenullThe closing price for yesterday, if one exists.
SettlementDecimalNullablenullThe settlement (closing) price for today, if one exists.
LastDecimalNullablenullThe last price traded today, if traded.
TrendStringOptionalNoneThe most recent price tick direction. One of:
None: There is no trend.
Up: This trade represents an up-tick.
Down: This trade represents a down-tick.
BestAskDecimalNullablenullThe best ask price, if one exists.
AskCountIntegerOptional0The total number of ask orders at the top of book.
AskQuantityDecimalOptional0.0The total ask quantity at the top of book.
AskUndisclosedBooleanOptionalfalseWhether there are any undisclosed ask orders in the top of book.
BestBidDecimalNullablenullThe best bid price, if one exists.
BidCountIntegerOptional0The total number of bid orders at the top of book.
BidQuantityDecimalOptional0.0The total bid quantity at the top of book.
BidUndisclosedBooleanOptionalfalseWhether there are any undisclosed bid orders in the top of book.
NumberOfTradesIntegerOptional0The total number of trades today.
VolumeDecimalOptional0.0The total volume traded.
AuctionPriceDecimalNullablenullThe indicative auction price, if an auction is occurring.
AuctionQuantityDecimalNullablenullThe equilibrium quantity, if an auction is occurring.
AuctionRemainderDecimalNullablenullThe surplus volume, if an auction is occurring.
VWAPDecimalNullablenullThe volume weighted average price, if available.
ValueTradedDecimalOptional0.0The total traded value for the day.
OpenInterestIntegerNullable0The current open interest.
ShareIssueDecimalNullable0.0The current shares on issue, if known.
StatusNoteArrayOptional[]An array of status notes against this Security, if any.
ExtendedObjectOptional{}An object where the keys and values represent extended prices associated with this Security, if any.
TickTableStringNullablenullThe tick table that describes the valid price steps, if one exists.
BoardStringNullablenullThe name of the Market Board this Security belongs to, and gains its TradingState from.
NameTypeExpectDescription
CodeStringAlwaysThe code of the symbol making up this leg.
SideStringAlwaysThe side this leg will trade on. One of: Bid: Bid (buy) side. Ask: Ask (sell) side.
RatioDecimalAlwaysThe ratio of this leg compared to the others.

Code Example:

websocket.send(JSON.stringify(
{
Controller:"Market",
Action:"Sub",
Topic:"Security!BHP.ASX",
Confirm:true
});

Sample Responses:

//First publication provides all fields (majorityomitted for brevity)
{
"Controller":"Market",
"Topic":"Security!BHP.ASX",
"Data":
{
"Code":"BHP",
"Market":"ASX",
"Last":10.0
}
}
//Confirmation will be sent after the first response
{
"Controller":"Market",
"Topic":"Security!BHP.ASX",
"Action":"Sub",
"Confirm":true
}
//Subsequent publications provide only the changed fields
{
"Controller":"Market",
"Topic":"Security!BHP.ASX",
"Data":
{
"Last":10.1
}
}