Skip to main content

Instrument Events

Receive notifications for instrument property changes, including:

  • Trading permission changes (Tradable/Liquidate only/Non-Tradable)
  • Shortable status changes (Shortable/Non-Shortable)
  • Marginable status changes
  • ETF properties changes (crypto ETF, leveraged ETF, etc.)

Trading Property Change Event​

This event is triggered when an instrument's trading-related properties are updated.

Event Structure​

{
"id": "event_c4b2c210-ce32-41d4-a9a1-cfad4fdf191c",
"event_type": "INSTRUMENT",
"position": "CJO1fxACGAAgADAB",
"timestamp": "2025-03-29T07:02:33.200962333Z",
"payload": {
"instrument_id": "10152734329",
"status": "NT",
"shortable": "true",
"marginable": "true",
"biz_type": "PROPERTY_CHANGE"
}
}

Response Fields​

FieldTypeDescription
idstringUnique event identifier
positionstringCursor for event replay; re-pushes subsequent events within the current business type.
event_typestringEvent type, fixed as INSTRUMENT
timestampstringEvent timestamp in ISO 8601 format
payloadobjectEvent payload data

Payload Fields​

FieldTypeDescription
instrument_idstringUnique instrument identifier
statusstringTrading status:
- OC: Tradable
- CO: Liquidate only
- NT: Non-Tradable
shortablestringWhether shortable: true / false
marginablestringWhether margin trading supported: true / false
biz_typestringBusiness type, fixed as PROPERTY_CHANGE

Status Values​

Trading status (status) values:

ValueDescription
OCTradable - Instrument can be bought and sold normally
COLiquidate only - Can only sell existing positions, cannot open new positions
NTNon-Tradable - No trading operations allowed

Use Cases​

Listening to this event can be used for:

  1. Trading Permission Monitoring: Get real-time updates on instrument trading permission changes and update UI displays accordingly
  2. Short Status Tracking: Monitor changes in shortable status and adjust trading strategies
  3. Risk Management: Adjust positions and risk controls based on margin requirement changes

Basic Property Change Event​

This event is triggered when an instrument's basic properties (such as ETF properties) are updated.

Event Structure​

{
"id": "event_c4b2c210-ce32-41d4-a9a1-cfad4fdf191c",
"event_type": "INSTRUMENT",
"position": "CJO1fxACGAAgADAB",
"timestamp": "2025-03-29T07:02:33.200962333Z",
"payload": {
"instrument_id": "10152734329",
"crypto_etf": "false",
"etf_leveraged_flag": "YES",
"etf_leveraged_factor": "-1.0",
"single_stock_etf": "false",
"inverse_etf": "false",
"biz_type": "BASIC_PROPERTY_CHANGE"
}
}

Response Fields​

FieldTypeDescription
idstringUnique event identifier
positionstringCursor for event replay; re-pushes subsequent events within the current business type.
event_typestringEvent type, fixed as INSTRUMENT
timestampstringEvent timestamp in ISO 8601 format
payloadobjectEvent payload data

Payload Fields​

FieldTypeDescription
instrument_idstringUnique instrument identifier
crypto_etfstringWhether crypto ETF: true / false. Empty if not ETF
etf_leveraged_flagstringWhether leveraged ETF: YES / NO. Empty if not ETF
etf_leveraged_factorstringETF leverage factor. Empty if not ETF. Negative value for inverse ETF, positive value for regular leveraged ETF
single_stock_etfstringWhether single stock ETF: true / false. Empty if not ETF
inverse_etfstringWhether inverse ETF: true / false. Empty if not ETF
biz_typestringBusiness type, fixed as BASIC_PROPERTY_CHANGE

Use Cases​

Listening to this event can be used for:

  1. ETF Product Monitoring: Track updates to ETF-specific properties
  2. Risk Classification: Identify high-risk products like leveraged or inverse ETFs
  3. Product Filtering: Filter instruments based on ETF characteristics (crypto ETF, single stock ETF, etc.)
  4. Investment Strategy: Adjust strategies based on leverage factors and ETF types

New Event Contract Instrument Event​

This event is triggered when a new event contract instrument is listed.

Event Structure​

{
"id": "event_c4b2c210-ce32-41d4-a9a1-cfad4fdf191c",
"event_type": "INSTRUMENT",
"position": "CJO1fxACGAAgADAB",
"timestamp": "2025-03-29T07:02:33.200962333Z",
"payload": {
"series_symbol": "KXRATECUTCOUNT",
"series_name": "Number of Rate Cuts",
"instrument_id": "502257268",
"symbol": "KXRATECUTCOUNT-25DEC31-T3",
"name": "Will the Fed cut rates 3 times?",
"yes_condition": "Exactly 3 cuts",
"last_trading_date": "2025-12-31",
"status": "LISTING",
"tradable_status": "NT",
"can_close_early": true,
"expected_exp_date": "2025-12-31",
"latest_exp_date": "2026-01-01",
"payout_date": "2025-12-31",
"biz_type": "NEW_EC_INSTRUMENT"
}
}

Response Fields​

FieldTypeDescription
idstringUnique event identifier
positionstringCursor for event replay; pass this value to continue consuming from this point
event_typestringEvent type, fixed as INSTRUMENT
timestampstringEvent timestamp in ISO 8601 format
payloadobjectEvent payload data

Payload Fields​

FieldTypeDescription
series_symbolstringEvent contract series symbol
series_namestringEvent contract series display name
instrument_idstringUnique instrument identifier
symbolstringInstrument symbol
namestringInstrument display name
yes_conditionstringSettlement condition for Yes
last_trading_datestringLast trading date (YYYY-MM-DD)
statusstringInstrument lifecycle status, e.g. LISTING
tradable_statusstringTrading permission status (OC/CO/NT)
can_close_earlybooleanWhether early close is supported
expected_exp_datestringExpected expiry date (YYYY-MM-DD)
latest_exp_datestringLatest possible expiry date (YYYY-MM-DD)
payout_datestringPayout date (YYYY-MM-DD)
biz_typestringBusiness type, fixed as NEW_EC_INSTRUMENT

Use Cases​

Listening to this event can be used for:

  1. New Listing Discovery: Receive newly listed event contract instruments in real time
  2. Product Metadata Sync: Keep instrument master data (name, symbol, expiry, payout date) up to date
  3. Trading Readiness: Determine whether the instrument is tradable and supports early close