EMAPI protocol specification

Version 1.30.0 (Build: not released)

Messages
- by type
- by ID
Constants
Status codes

Messages

General Messages

CdResponse
ChangePasswordReq
GetSequenceNumbersReq
GetSequenceNumbersRsp
ResponseMessage
SimpleRsp
TaxEndSnapshot
TaxHeartbeatReq
TaxHeartbeatRsp
TaxLogonReq
TaxLogonRsp
TaxLogoutReq
TaxRemoveSubscriptionReq
TaxReplayEndEvent
TaxReplayReq
TaxReplayRsp
TaxReplayStartEvent
TaxSessionStatus
TaxSnapshotSubscribeReq
TaxSnapshotSubscribeRsp
TaxStartSnapshot

General Messages (Internal)

CdRequest
RequestMessage

Reference Data Messages

AccessGroup
CalendarDate
CashAccount
CdAddCashAccountReq
CdUpdateCashAccountReq
ClassSpreadGroup
ClearingMemberLink
CollateralAccount
CorporateAction
Country
Currency
CurrentSystemState
Curve
CurveConstituent
Deposit
EligibleCurrency
EligibleSecurity
ForwardRateAgreement
Instrument
InterestRateSwap
Market
MarketList
Member
PositionAccount
RiskNode
RtcCalendar
Segment
SeriesSpreadGroup
SettlementAccount
SubscriptionGroup
Surface
TradableInstrument
TripartiteAgreement

External Members

CdAddRtcMemberClientClearingLinkReq
CdAddRtcMemberClientReq
CdAddRtcMemberClientRsp
CdAddRtcPositionAccountReq
CdAddRtcPositionAccountRsp
CdEnableDisableRtcMemberClientReq
CdEnableDisableRtcPositionAccountReq
CdEnableDisableRtcPositionAccountRsp
CdSetClientAMPercentageReq
CdSetClientRiskLimitReq
CdSetMinimumZARLimitReq
CdSetTradingMemberAMPercentageReq
CdSetTradingMemberRiskLimitReq
CdUpdateRtcMemberClientReq

Event Messages

AccountPositionEvent
AccountTradeEvent
AggregatedSummaryClearingMemberEvent
AggregatedSummaryTradingMemberEvent
AtmVolatilityEvent
CommissionEvent
CurveEvent
DailyAccountSummaryDetailsEvent
DividendEvent
OptionDataEvent
PriceEvent
RiskNodeEvent
SurfaceEvent
WithdrawalNotificationEvent
YieldEvent

Event Messages (Internal)

AggregatedSummaryDetails
CollateralPositionValue
FxDailyAccountSummaryDetails
NotionalValue
RtcTradeExternalData
Trade

External Members

CmBalancing1Event
CmBalancing2Event
GiveUpEvent
ReadyConfirmAvailableFXEvent

Trade Management Messages

AbandonOptionPositionReq
AbandonOptionPositionRsp
AddCommissionReq
AggregateTradesReq
AggregateTradesRsp
AllocateTradeReq
AllocateTradeRsp
ApproveGiveUpReq
AssignTradeReq
CancelCommissionReq
CancelGiveUpReq
CorrectAllocationErrorReq
CorrectAllocationErrorRsp
CorrectPrincipalReq
CorrectPrincipalRsp
ExerciseOptionPositionReq
ExerciseOptionPositionRsp
ModifyPositionSubAccountReq
ModifyPositionSubAccountRsp
ModifyTradeSubAccountReq
ModifyTradeSubAccountRsp
QueryTradesReq
QueryTradesRsp
RejectCommissionReq
RejectGiveUpReq
TripartiteAllocationReq
TripartiteAllocationRsp

Trade Management Messages (Internal)

TradeDestination
TradeRes

External Members

GetRiskArrayReq
GetRiskArrayRsp

External Members (Internal)

Contract

Settlement Messages

ConfirmWithdrawalsReq
GetPaymentAdvicesReq
GetPaymentAdvicesRsp
GetSettlementInstructionsReq
GetSettlementInstructionsRsp
PaymentAdvice

Settlement Messages (Internal)

SettlementInstruction

External Members

GetRequestsForFXCollateralReq
GetRequestsForFXCollateralRsp
QueryDividendPaymentFactorsReq
QueryDividendPaymentFactorsRsp
RegisterFXCollateralReq
RegisterFXCollateralRsp
RequestForFXCollateral
SetCmBalancingStatusReq
SetCmBalancingStatusRsp

External Members (Internal)

DividendFactor
FXCollateral
FXCollateralStatus
FxInterestRate
MemberBalance1
MemberBalance2

General Messages

Message: CdResponse

Message ID: 227

Type: General Messages

Description: A response to be used as super class for all responses from CD.

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
3subCodeint [] Status code for each leg of the request. Only used for batched requests.
5latestSSNlongThis is the latest and most likely the highest state sequence number, SSN, that has been assigned to the reference data.

Message: ChangePasswordReq

Message ID: 126

Type: General Messages

Description: A request to change the current password. The user does not have to be logged in in order to change the password.

Field no. Field name (tag) Mand. Type (max length) Comment
1possDupbooleanThe possible duplicate flag
12memberIdStringThe id of the user's member (firm). Required because usernames are only unique within a member firm.
13userIdStringThe identification of the user (username).
14oldPasswordStringThe user's old password, used for authentication.
15newPasswordStringThe new password to be set.

This request will normally return a response of type CdResponse .


Message: GetSequenceNumbersReq

Message ID: 10430

Type: General Messages

Description: Get sequence numbers for broadcast flows.

Field no. Field name (tag) Mand. Type (max length) Comment
6broadcastFlowIdrequiredintBroadcast Flow requested.
7subscriptionGroupIdrequiredintRequest sequence number for this subscription group.

This request will normally return a response of type GetSequenceNumbersRsp .


Message: GetSequenceNumbersRsp

Message ID: 10431

Type: General Messages

Description: Response to a GetSequenceNumbersReq request.

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
6sequenceNumberlongLatest sequence number for the requested broadcast flow and subscription group.
7broadcastFlowIdintBroadcast Flow.
8subscriptionGroupIdintSubscription group.

Message: ResponseMessage

Message ID: 230

Type: General Messages

Description: General response for request messages that dont't have a defined response. It may also be used when a fatal error occurs before or during the normal response handling on the server.

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
3subCodeint [] Status code for each leg of the request. Only used for batched requests.
5messageReferenceStringThe message reference from the corresponding RequestMessage.

Message: SimpleRsp

Message ID: 231

Type: General Messages

Description: General response for request messages that dont't have a defined response.

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
3subCodeint [] Status code for each leg of the request. Only used for batched requests.
5replyStringGeneric single string reply

Message: TaxEndSnapshot

Message ID: 73

Type: General Messages

Description: Message ending a snapshot response

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintThe overall status
2messageStringComplementary text for extra context-dependent info
3subCodeint [] Subcodes
4flowIntegerIf this message is the result of a snapshot/subscribe operation on a flow then this field contains the flow id.
5pollSequenceNumberLongNot used in this configuration of RTC.
6subscriptionGroupIntegerIdentifying group of instruments in a current value response if applicable, otherwise zero
10008snapshotSizeLongNumber of items published in snapshot

Message: TaxHeartbeatReq

Message ID: 75

Type: General Messages

Description: Heartbeat sent to gateway in order to verify a connection

Field no. Field name (tag) Mand. Type (max length) Comment
2userDataStringUser supplied data. The data is returned in the response.

This request will normally return a response of type TaxHeartbeatRsp .


Message: TaxHeartbeatRsp

Message ID: 76

Type: General Messages

Description: Response returned from gateway

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
3subCodeint [] Status code for each leg of the request. Only used for batched requests.
5replyStringGeneric single string reply
6timestampStringCurrent central system time. The format is "yyyy-MM-ddTHH:mm:ss.SSS". Example: 2009-07-16T19:20:30.045
7userDataStringUser-supplied data from the request

Message: TaxLogonReq

Message ID: 63

Type: General Messages

Description: Request to the gateway to log in a member/user

Field no. Field name (tag) Mand. Type (max length) Comment
2memberrequiredStringUser's member firm
3userrequiredStringMandatory user id. The user must belong to the member.
4passwordrequiredStringUser's password
5ticketLongTicket received at pre-login
6possDupSessIdIntegerPossible duplicate session id. If two sessions (that is, users) have the same possDupSessId it means that an unacknowledged request on one of the sessions can be resent on the other with the possDup flag set and the system will be able to resolve if it is a duplicate or not. Not used in this configuration of RTC.
7majorVersionintEMAPI major version. If any of the version fields is non-zero, the gateway will validate against the current EMAPI version.
8minorVersionintEMAPI minor version. If any of the version fields is non-zero, the gateway will validate against the current EMAPI version.
9microVersionintEMAPI micro version. If any of the version fields is non-zero, the gateway will validate against the current EMAPI version.

This request will normally return a response of type TaxLogonRsp .


Message: TaxLogonRsp

Message ID: 64

Type: General Messages

Description: Sent from the gateway to the client as a response to TaxLogonReq.

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
3subCodeint [] Status code for each leg of the request. Only used for batched requests.
5replyStringGeneric single string reply
6logonAcceptedBooleanIndicates whether the login was successful or not.
7loginStatusintLogin specific status code.
8isTestSystemBooleanIndicates whether this system is a test system or not.
9systemNameStringThe name of the system.
10partitionHbtIntervalIntegerThe interval (in seconds) between partition heartbeats sent from the system. Partition heartbeats are sent out as Heartbeat events.
11clientHbtIntervalIntegerThe interval (in seconds) between which clients are expected to send in heartbeats. The client should use the TaxHeartbeatReq message to send in heartbeats.
12maxLostHeartbeatsIntegerThe maximum number of heartbeats to lose before the connection can be considered to be down.

Message: TaxLogoutReq

Message ID: 65

Type: General Messages

Description: Request from client to gateway in end a session. A simple response is sent as response.

Field no. Field name (tag) Mand. Type (max length) Comment

This request will normally return a response of type SimpleRsp .


Message: TaxRemoveSubscriptionReq

Message ID: 71

Type: General Messages

Description: Removes an active subscription. A SimpleRsp is sent as response for this request.

Field no. Field name (tag) Mand. Type (max length) Comment
2handleintSubscription handle (subscription identifier) identifying the subscription request to be removed. The handle is received in the response when setting up the subscription.

This request will normally return a response of type SimpleRsp .


Message: TaxReplayEndEvent

Message ID: 235

Type: General Messages

Description: Framing message indicating the end of requested replay data. The TaxReplayEndEvent indicates the end of a replay sequence.

Field no. Field name (tag) Mand. Type (max length) Comment
1subscriptionGroupintThe subscription group the data is for. The identifier is always set to zero for global flows.
2nextSequenceLongWhen requesting a replay, the trading system may not deliver the full sequence in the first call. The application may need to issue multiple additional requests for retrieving all data. The field "nextSequence" indicates if all data has been retrieved. If so, the field is NULL. Otherwise, the field indicates the sequence number to be used when requesting the next/following batch of replay data.
3statusCodeintEMAPI status code telling if the replay was successful or not.
4statusMessageStringStatus text associated with the EMAPI status code returned.
5internalCodeintNot used in this configuration of RTC.
6flowintThe flow the data is for.

Message: TaxReplayReq

Message ID: 232

Type: General Messages

Description: Request message sent to the RTC system to recover a sequence of messages published earlier. The replay request will recover earlier published messages on a replayable flow. The response back is a simple response indicating whatever the request was successfully queued to the RTC system. The actual replay data is delivered as unsolicited events, framed by TaxReplayStartEvent and TaxReplayEndEvent messages.

Field no. Field name (tag) Mand. Type (max length) Comment
2flowintSpecifies the logical stream of information of a certain type.

Allowed values: see constant group BroadcastFlows

3subscriptionGroupIntegerThe subscription group on the subscribed flow.
4sequenceNumberlongThe sequence number from which messages should be recovered for the specified subscription group and flow.
6memberStringOptional attribute defining the member for which the replay is to be applied for. Used for on-behalf-of replay. Note that the user requesting replay for another member must be authorized to do so. If this attribute is left empty, the logged in user's member is used.
7endSequenceNumberlongThe sequence number up to which messages should be recovered for the specified subscription group and flow. The value for this attribute could be derived from the TaxSnapshotSubscribeRsp.
8requestTypeintThe type of replay request.

Allowed values: see constant group ReplayRequestType

10009segmentSizeIntegerNot used in this configuration of RTC.

This request will normally return a response of type TaxReplayRsp .


Message: TaxReplayRsp

Message ID: 233

Type: General Messages

Description: Response message sent back for a previously-submitted TaxReplayReq. The TaxReplayRsp response will not contain the actual data being requested. The response data is delivered to the application asynchronously.

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
3subCodeint [] Status code for each leg of the request. Only used for batched requests.
5replyStringGeneric single string reply
6handleintSubscription handle identifying the subscription request. The handle is used when removing the subscription.

Message: TaxReplayStartEvent

Message ID: 234

Type: General Messages

Description: Framing message indicating the start sequence of requested replay data. When issuing a replay request, the replay data is delivered as unsolicited messages. The TaxReplayStartEvent indicates the start of a replay sequence.

Field no. Field name (tag) Mand. Type (max length) Comment
1subscriptionGroupintThe subscription group the data is for.
2flowintThe broadcast flow for the start event.

Message: TaxSessionStatus

Message ID: 77

Type: General Messages

Description: Unsolicited message indicating session status.

Field no. Field name (tag) Mand. Type (max length) Comment
1statusintSession status

Allowed values: see constant group SessionStatus


Message: TaxSnapshotSubscribeReq

Message ID: 69

Type: General Messages

Description: Request to retrieve information and/or activate subscription of future updates of the information specified

Field no. Field name (tag) Mand. Type (max length) Comment
2memberStringNot used in this configuration of RTC.
3userStringNot used in this configuration of RTC.
4requestTypeintType of subscription request

Allowed values: see constant group SubscriptionRequestType

5flowintData flow being requested

Allowed values: see constant group BroadcastFlows

6keyintSelection key, identifying the data being subscribed to. In many cases, this is the subscription group.
7sequenceNumberlongNot used in this configuration of RTC.
8lastPollSequenceNumberLongNot used in this configuration of RTC.

This request will normally return a response of type TaxSnapshotSubscribeRsp .


Message: TaxSnapshotSubscribeRsp

Message ID: 70

Type: General Messages

Description: Response to a subscription request (TaxSnapshotSubscribeReq).

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
3subCodeint [] Status code for each leg of the request. Only used for batched requests.
5replyStringGeneric single string reply
6handleintSubscription handle identifying the subscription request. The handle is used when removing the subscription.
7lastPublishedSeqNoLongNot used in this configuration of RTC.

Message: TaxStartSnapshot

Message ID: 72

Type: General Messages

Description: Message preceding a snapshot response

Field no. Field name (tag) Mand. Type (max length) Comment
1subscriptionGroupIntegerGroup of instruments in current value response if applicable, otherwise zero.
2flowintThe broadcast flow for the start event

General Messages (Internal)

Message: CdRequest

Message ID: 226

Type: General Messages

This message can only appear as a sub-object in other messages; it can never be used as a stand-alone message.

Description: This message is not used in EMAPI.

Field no. Field name (tag) Mand. Type (max length) Comment
1possDupbooleanThe possible duplicate flag
2memberString (64) The member of the user.
3userString (64) The responsible user.
  • Shall only be set in requests if actingUser is acting on behalf of another user.
  • Otherwise TRADExpress will set it to the actingUser.
6actingUserString (64) The user that initiated a request.
  • Shall only be set in requests if (and only if) it is a gateway user that sends the request.
  • Otherwise TRADExpress will set it to the user that established the session on which the request was received on.
See also the user field.

Message: RequestMessage

Message ID: 237

Type: General Messages

This message can only appear as a sub-object in other messages; it can never be used as a stand-alone message.

Description: This message is not used in EMAPI.

Field no. Field name (tag) Mand. Type (max length) Comment
1possDupbooleanThe possible duplicate flag

Reference Data Messages

Message: AccessGroup

Message ID: 10051

Type: Reference Data Messages

Description: This object defines an access Group.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
8accessGroupIdStringThe id for the Access Group.
9participantUnitIdStringSpecifies the parent Participant Unit.
10clearingMemberIdrequiredStringThe clearing member for the Access group.
11subscriptionGroupintThe subscription group for the Access group.

Message: CalendarDate

Message ID: 139

Type: Reference Data Messages

Description: A calendar date of a certain type.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
7daterequiredString (32) A calendar date in standard format: YYYY-MM-DD.
8dateTyperequiredIntegerThe type of this date, for example 'closed'.

Allowed values: see constant group DATE_TYPE

10calendarIdrequiredString (128) The "identity" of this date. This field may be used for specifying a calendar date that is specific for an exchange/country etc. The id here is (may be) referenced from the orderbook parameters block.
12displayNameString (255) The display name for this date, Midsummer for example.
13isValidTradingBusinessDateBooleanIndicate if a date is a valid trading business date or not.

Message: CashAccount

Message ID: 10264

Type: Reference Data Messages

Description: A member or client can have zero or more than one cash account defined, but not more than one per currency.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
8settlementBankrequiredString (100) Authorized dealer for foreign currency or settlement bank for ZAR.
9settlementBankBranchString (100) The code of the branch within the authorized dealer or settlement bank.
10bicrequiredString (100) Swift BIC code.
11settlementBankAccountIdrequiredString (100) ID of account within the auhorized dealer or settlement bank.
12internalCashAccountIdLongRTC internal Cash Account ID. Set at creation by RTC.
13currencyrequiredString (3) The account is valid for this currency.
14participantUnitIdrequiredString (128) Specifies the parent Participant Unit.
15isNonResidentbooleanFlag is set from member, is set to true for non resident members.

Message: CdAddCashAccountReq

Message ID: 10267

Type: Reference Data Messages

Description: Request to add a Cash Account

Field no. Field name (tag) Mand. Type (max length) Comment
1possDupbooleanThe possible duplicate flag
28cashAccountrequiredCashAccountThe cash account to add

This request will normally return a response of type CdResponse .


Message: CdUpdateCashAccountReq

Message ID: 10268

Type: Reference Data Messages

Description: Request to update a Cash Account. The cash account is identified by either (1) the internalCashAccountId, or (2) the combination of participantUnitId and currency.

Field no. Field name (tag) Mand. Type (max length) Comment
1possDupbooleanThe possible duplicate flag
28cashAccountrequiredCashAccountThe cash account to update

This request will normally return a response of type CdResponse .


Message: ClassSpreadGroup

Message ID: 10158

Type: Reference Data Messages

Description: Class Spread Group.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
8csgIdrequiredString (100) Uniquely identifies each Class Spread Group.
9ssgIdIntegerThe ID of the SSG that the CSG belongs to, if any.
11ssmrLongThe SSMR for the CSG within the SSG.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.DECIMAL.


Message: ClearingMemberLink

Message ID: 10123

Type: Reference Data Messages

Description: This object defines a link from Trading Member to Clearing Member.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
8clearingMemberLinkIdrequiredLongThe id for the Clearing Member Link.
9participantUnitIdrequiredStringSpecifies the parent Participant Unit.
10tradingMemberIdrequiredString (100) The Trading Member ID.
11clearingMemberIdrequiredStringThe Clearing Member ID.
12marketIdrequiredStringThe Market ID.
16effectiveDaterequiredStringThe effective date from which the link shall be used for capture of incoming trades. The format is yyyy-mm-dd.

Message: CollateralAccount

Message ID: 10093

Type: Reference Data Messages

Description: Represents a collateral account.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
8accountIdrequiredLongThe id of the collateral account.
10riskNodeIdrequiredLongSpecifies the parent risk calculation node.
13isDisabledBooleanIf set to true, this object has been disabled.
14accessGroupStringThe access group for the Collateral Account.
16accountNamerequiredString (100) The name for the Collateral Account.
19clearingMemberIdrequiredString (128) The clearing member for the Collateral Account.
20participantUnitIdrequiredString (128) The owner of the account in the member structure.

Message: CorporateAction

Message ID: 10329

Type: Reference Data Messages

Description: A Corporate Action task definition.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
8corporateActionIdrequiredString (100) Id of the Corporate Action. CA Serial no in MDS.
9corporateActionTyperequiredString (5) Type of the Corporate Action. One of CI,CM,CO,CP,CR,CV,IS,NC,RT,SC,SD,TE,UB. Note that the CA type is only used for information purpose in RTC and is not validated.
10positionFactorLongFactor to use to adjust positions.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.DECIMAL.

11fromInstrumentrequiredString (100) Master ID of the TI on which the CA is taking place. The positions on this TI will be closed.
12toInstrumentString (100) Master ID of the new TI for the new position. New positions will be created on this TI. If missing, settlement positions will be created instead.
13effectiveDaterequiredString (10) Corporate actions are applied at EOD on the last business day before the effective date. Format is YYYY-MM-DD.
14ldtDateString (10) Last Day Traded. Format is YYYY-MM-DD.
15priceLongPrice to use when positions should be closed out.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

16statusintto know the status of the corporate action.

Allowed values: see constant group CorporateActionStatus

17statusTextStringto know the status of the corporate action.
18statusTimestampString (100) Update timestamp, set by RTC.

Message: Country

Message ID: 316

Type: Reference Data Messages

Description: Holds basic information on a country, such as currency, time zone and holidays.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
7countryIdrequiredString (16) The id (country code) of the Country. Use ISO 3166 ISO 2-alpha codes.
8namerequiredString (128) The name of the Country
9currencyrequiredString (3) The currency code according to ISO 4217.
10timezoneOffsetrequiredInteger (32) Timezone offset from UTC/GMT in minutes (positive value for countries east of Greenwich)

Message: Currency

Message ID: 95

Type: Reference Data Messages

Description: This object represent a Currency.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
7currencyIdrequiredString (3) The standard currency id according to ISO 4217. SEK, USD, GPB etc
8longNameString (64) The full name of the currency. Example: South African Rand
10010currencyCoderequiredlongISO Currency Numeric Code, for example 710 for ZAR.
10012notionalValueDecimalsrequiredIntegerNumber of decimals used for notional in the currency. Only allowed to be set to 2.
10013calendarIDrequiredStringID of the calendar to be used for finding settlement days

Message: CurrentSystemState

Message ID: 10440

Type: Reference Data Messages

Description: This object holds a RTC System State.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
8currentSystemStateIdrequiredIntegerThe id, will only exist one record since only one state can be current.
9currentRtcStaterequiredStringCurrent state in RTC.

Allowed values: see constant group RtcState

10businessDateStringThe business the state is set, in format YYYY-MM-DD.
11schedulerStaterequiredIntegerCurrent scheduler state in RTC.

Allowed values: see constant group SchedulerState

12rerunReasonStringReason for rerunning End of Day, only set when scheduler state is RERUN.

Message: Curve

Message ID: 10177

Type: Reference Data Messages

Description: A curve, y axis dependent on x axis, y = f(x).

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
8curveIdLongThe internal curve Id for RTC.
9externalCurveIdrequiredString (100) The external curve Id received from Master reference data system.
10curveNamerequiredString (128) User friendly name of the curve.
11strippedInRtcrequiredBooleanIf true, RTC is responsible to prepare the curve.
12priceFormatrequiredintNumber of decimals used.
13bootStrappingMethodrequiredString (100) BootStrapping method.

Allowed values: see constant group BOOTSTRAPPING_METHOD

14dayCountConventionrequiredString (100) Day count convention.

Allowed values: see constant group DAY_COUNT_CONVENTION

15interpolationMethodrequiredString (100) Interpolation method.

Allowed values: see constant group INTERPOLATION_METHOD

16extrapolationMethodrequiredString (100) Extrapolation method.

Allowed values: see constant group EXTRAPOLATION_METHOD

20axisUnitXrequiredString (100) xAxis unit.

Allowed values: see constant group AXIS_UNIT

21axisUnitYrequiredString (100) yAxis unit.

Allowed values: see constant group AXIS_UNIT

22pePartitionIdIntegerPartition ID for the instrument in the RTC Price Engine. Not required, 1 will be used if the field is blank.
23interestRateConventionrequiredString (100) Interest rate convention for the interest rate produced.

Allowed values: see constant group INTEREST_RATE_CONVENTION


Message: CurveConstituent

Message ID: 10185

Type: Reference Data Messages

Description: Instruments to build the curve.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
8curveConstituentIdLongThe internal curve Constituent Id for RTC.
9curveIdLongSpecifies the Curve that this CurveConstituent belongs to.
11externalInstrumentIdrequiredStringInstrument Id (JSE Master ID) for the deposit, FRA or Swap.

Message: Deposit

Message ID: 10214

Type: Reference Data Messages

Description: Deposit instrument. Used as curve constituents.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
8depositIdLongThe internal Deposit ID for RTC.
9externalDepositIdrequiredString (100) The external Deposit Id received from Master reference data system.
10depositNamerequiredString (128) User friendly name of the Deposit.
12dayCountConventionrequiredStringDay count convention.

Allowed values: see constant group DAY_COUNT_CONVENTION

16compoundingConventionrequiredStringCompounding convention.

Allowed values: see constant group CompoundingConvention

17rtcCalendarIdrequiredStringCalendar used for holidays.
18businessDayConventionrequiredStringDay count convention.

Allowed values: see constant group BusinessDayConvention

19tenorPeriodTyperequiredString (100) Period type for tenor. For instance M in 3M.

Allowed values: see constant group PeriodType

20tenorPeriodrequiredintTenor period. For instance 3 in 3M.
21rollsOnrequiredStringRolls on convention.

Allowed values: see constant group RollsOnConvention

22pePartitionIdIntegerPartition ID for the instrument in the RTC Price Engine. Not required, 1 will be used if the field is blank.

Message: EligibleCurrency

Message ID: 10355

Type: Reference Data Messages

Description: Currency eligible for FX collateral.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
8instrumentMasterIdrequiredString (128) External instrument master ID for the currency pair.
10priceCCYrequiredString (3) The second currency in the currency pair. Normally ZAR.
11baseCCYrequiredString (3) The first currency in the currency pair, i.e. normal the collateral currency (when using EUR, GBP and USD).
12haircutrequiredLongHaircut percent on the exchange rate. Support for four decimals.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

13maxAmountrequiredLongMaximum allowed amount for the currency allowed as collateral. The amount is defined in ZAR before the haircut is applied..
14prioIntegerWhen a client has several Nostro accounts (cash accounts in foreign CCY) and there is a doubt which currency to use, they are used in prio order. FX collateral with the highest priority is used first. The lowest number has got the highest priority. Must be unique.

Message: EligibleSecurity

Message ID: 10256

Type: Reference Data Messages

Description: Security instrument eligible for collateral.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
8instrumentMasterIdrequiredString (255) External instrument master ID.
10isinrequiredString (255) ISIN of the instrument.
11alphaCoderequiredString (255) Alpha Code of the instrument.
12haircutrequiredLongPercentage that is subtracted from the portfolio value of an asset that is being used as collateral.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

13maxAmountrequiredLongMaximum allowed value allowed to pledge as collateral for this ISIN per risk node and before haircut is applied.

Message: ForwardRateAgreement

Message ID: 10216

Type: Reference Data Messages

Description: A Forward Rate Agreement instrument.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
8forwardRateAgreementIdLongThe internal FRA Id for RTC.
9externalForwardRateAgreementIdrequiredString (100) The external FRA Id received from Master reference data system.
10forwardRateAgreementNamerequiredString (128) User friendly name of the FRA.
12dayCountConventionrequiredString (100) Day count convention.

Allowed values: see constant group DAY_COUNT_CONVENTION

18compoundingConventionrequiredString (100) Compounding convention.

Allowed values: see constant group CompoundingConvention

20rtcCalendarIdrequiredString (100) Calendar used for holidays.
21businessDayConventionrequiredString (100) Day count convention.

Allowed values: see constant group BusinessDayConvention

23rollsOnrequiredString (100) Rolls on convention.

Allowed values: see constant group RollsOnConvention

24tenorPeriodTyperequiredString (100) Tenor period type. Example M in 3M.

Allowed values: see constant group PeriodType

25tenorPeriodrequiredintTenor length. Example 3 in 3M.
26resetLagPeriodTyperequiredString (100) Reset lag.

Allowed values: see constant group PeriodType

27resetLagPeriodrequiredintReset lag.
28pePartitionIdIntegerPartition ID for the instrument in the RTC Price Engine. Not required, 1 will be used if the field is blank.

Message: Instrument

Message ID: 295

Type: Reference Data Messages

Description: The Instrument holds basic background information, such as instrument id, type and (optionally) primary market for an instrument. Since an instrument can be traded in different currencies and visibility (normal, dark etc), the instrument has a set of child objects called TradableInstrument in which the actual trading takes place. An Instrument may reference another Instrument using the "parentInternalId" attribute. The parentInternalId is typically used by warrants or options to reference the underlying instrument.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
7internalIdString (128) A unique instrument identifier. May be an ISIN, CUSIP or symbol name. The InternalID is created using the InstrumentID and InstrumentIdType fields. Example: SE0000108656_ISIN
8parentInternalIdString (128) This is a reference to the parent instrument, if any. A parent instrument is typically an underlying instrument when trading derivatives. Shall be set to null if this instrument is a "root" instrument.
9isEnabledBooleanThe state of this item.
11disabledCountIntegerNot used in this configuration of RTC.
12instrumentIdrequiredString (64) The global identity of the instrument. The type of identifier (ISIN, CUSIP etc) is defined by the instrumentIdType attribute.
13instrumentIdTyperequiredString (32) The type of the InstrumentId (ISIN, CUSIP etc)

Allowed values: see constant group InstrumentIdType

14prevInstrumentIdString (64) Not used in this configuration of RTC.
15prevInstrumentIdTypeString (32) Not used in this configuration of RTC.

Allowed values: see constant group InstrumentIdType

16typerequiredString (32) The type of instrument (equity, warrant, future etc).

Allowed values: see constant group InstrumentType

17shortNamerequiredString (64) The short display name for the instrument, ERICB for example.
18namerequiredString (255) The complete instrument name, Ericsson B for example.
19issuerString (255) The issuer of the instrument
20sectorString (128) The financial sector to which the instrument belong
21primaryMarketIdString (32) A unique id that defines market/market that is to be considered primary for the instrument, XLON, XSSE for example.)
22adtLongNot used in this configuration of RTC.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

23adtCurrencyString (3) Not used in this configuration of RTC.
27validFromDaterequiredString (10) The first date the instrument is valid. The format is yyyy-MM-dd.
28validToDateString (10) The last date the instrument is valid. The format is yyyy-MM-dd.
30listOfAliasesString (256) A list of other markets'/exchanges' ID of this instrument in the format: market1:id1,market2:id2,...
10047pmPartitionIdIntegerThe instrument partition for the Position Manager server.
10048rtcInternalIdLongThe RTC internal ID for the underlying product.

Message: InterestRateSwap

Message ID: 10215

Type: Reference Data Messages

Description: A Interest rate swap instrument.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
8interestRateSwapIdLongThe internal IRS Id for RTC.
9externalInterestRateSwapIdrequiredString (100) The external IRS Id received from Master reference data system.
10interestRateSwapNamerequiredString (128) User friendly name of the IRS.
12rollsOnrequiredString (100) Rolls on convention.

Allowed values: see constant group RollsOnConvention

13dayCountConventionrequiredString (100) Day count convention.

Allowed values: see constant group DAY_COUNT_CONVENTION

19compoundingConventionrequiredString (100) Compounding convention.

Allowed values: see constant group CompoundingConvention

21rtcCalendarIdrequiredString (100) Calendar used for holidays.
22businessDayConventionrequiredString (100) Day count convention.

Allowed values: see constant group BusinessDayConvention

24tenorPeriodTyperequiredString (100) Tenor period type. Example M in 3M.

Allowed values: see constant group PeriodType

25tenorPeriodrequiredintTenor length. Example 3 in 3M.
26resetLagPeriodTyperequiredString (100) Reset lag period. Example M in 3M.

Allowed values: see constant group PeriodType

27resetLagPeriodrequiredintReset lag length. Example 3 in 3M.
28pePartitionIdIntegerPartition ID for the instrument in the RTC Price Engine. Not required, 1 will be used if the field is blank.

Message: Market

Message ID: 299

Type: Reference Data Messages

Description: Defines a market.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
7marketIdrequiredString (64) A system-unique identifier of the Market. May only contain characters a-z, A-Z, 0-9, "_", "-", "+" and ".".
8isEnabledBooleanThe state of this item.
9disabledCountIntegerA count of how many times this element has been enabled/disabled. An element will not be enabled until disabledCount is zero.
10namerequiredString (255) The name of the Market.
11countryCoderequiredString (16) The country code for this market.
12wwwPageString (256) A reference to a market specific internet site.
19validFromDateString (10) The first date the market is valid. The format is yyyy-MM-dd.
10021lookbackPeriodrequiredLongJSPAN attribute. The lookback period used to get historical prices. For example, 90 to use the last 90 days prices.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

10023volatilityLookbackPeriodrequiredLongJSPAN attribute. The volatility lookback period used when calculating volatilities.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

10026maxScaleUprequiredLongJSPAN attribute. The maximum amount volatility may be scaled up. This should be a number between 1 and 2.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.DECIMAL.

10027maxScaleDownrequiredLongJSPAN attribute. The maximum amount volatility may be scaled down. This should be a number between 0 and 1.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.DECIMAL.

10028confidencePercentilerequiredLongJSPAN attribute. A percentile stored as a decimal, e.g. 0.975 for 97.5%.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.DECIMAL.

10030imrStatisticsPeriodrequiredLongNumber of days to compare price and volatility move for.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

10031manualExerciseEndTimerequiredString (12) The end time for option exercise on the expiration date. Must be in the format HH:MM:SS.
10032optionAllocationModelTyperequiredIntegerAllocation model for options, eg Pro-rata or Random.

Allowed values: see constant group OptionAllocationModelType

10033dailyMaximumParticipationFactorrequiredLongDaily Maximum Participation Factor for Liquidation Period add-on.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.DECIMAL.

10034nonTradingDaysBeforeDefaultrequiredLongUsed in the Liquidation Period Add-on calculation. Number of days it will take the JSE to confirm default before it starts to close out positions.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

10035volRoundingrequiredIntegerNumber of decimals for volatility calculated by RTC.

Message: MarketList

Message ID: 300

Type: Reference Data Messages

Description: The MarketList is a child object of a Market. The purpose of the MarketList is mainly to organize the different instruments on a market into separate lists. The actual interpretation of the MarketList is customer specific. Operations such as halt and enable/disable performed on a MarketList will affect all Segments and TradableInstruments within the MarketList.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
7internalMarketListIdString (128) The internal (unique) id of the MarketList. Set by RTC.
8isEnabledBooleanThe state of this item.
9disabledCountIntegerA count of how many times this element has been enabled/disabled. An element will not be enabled until disabledCount is zero.
10marketListIdrequiredString (128) The display id of the MarketList. Must be unique within the Market. May only contain characters: a-z, A-Z, 0-9, "_", "-", "+" and ".".
11namerequiredString (255) This is the name of this Market
12parentInternalIdrequiredString (128) The parent market id (EMAPI).
20validFromDateString (10) The first date the market list is valid. The format is yyyy-MM-dd.

Message: Member

Message ID: 101

Type: Reference Data Messages

Description: This object represents a member firm and holds all basic member data such as id, full name, mail addresses and contact persons etc.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
7memberIdrequiredString (64) The public ID of the participant. This id has to be unique.
8fullNamerequiredString (128) Complete name of the member firm
10addressString (255) Company postal address.
11phoneString (64) Company phone number.
12faxString (64) Company fax address.
13complianceContactString (128) Name of contact person in compliance matters
14complianceContactPhoneString (64) Phone number to the compliance contact person
15complianceContactMailString (128) Mail address to the compliance contact person
16matchingContactString (128) Matching/BackOffice contact person
17matchingContactPhoneString (64) Phone number to the Matching/BackOffice contact person
18matchingContactMailString (128) Mail address to Matching/BackOffice contact person
19isDisabledBooleanSet to true if this member has been disabled.
26associatedMemberIdString (255) The parent member, for example the parent of a trading member branch or a client.
30memberTypeIntegerThe type of member. N.B. in the documentation member type is also known as Participant type.

Allowed values: see constant group MemberType

33validFromDateString (10) The date from which the member is valid. The format is yyyy-MM-dd
34listOfAliasesString (256) A list of other markets'/exchanges' ID of this member in the format: market1:memberid1,market2:memberid2,... "maket1" is assumed to be a market defined in the "local" system and is automatically converted to uppercase, since this is the conversion for market ids in the system.
39allowedOnBehalfOfMemberIdListString (255) A comma separated list of Member Ids for which this member may act on behalf of.
10043participantUnitTypeIntegerThe type of this participant unit.

Allowed values: see constant group ParticipantUnitType

10046isStaffBooleanIs Staff, true or false
10047isBeneficialBooleanIs Beneficial, true or false
10048allowClientSubAccountsBooleanSub accounts are allowed, true or false
10049vatRegNumberStringVAT registration number
10050bdaCodeIntegerBroker Deal Account number
10051emailStringEmail
10052countryStringCountry Code, e.g. ZA
10053isNonResidentBooleanIs Non Resident is true if country for the client is not equal to ZA
10054nominatedMemberStringMemberId of the nominated member, fulfilling physical settlement when the actual member is not in the Equities market. Otherwise, set to the member itself.
10055strateCodeString (100) Code of client or member at CSD.
10056externalPaymentBooleanIf RTC should expect net payment from the JSE integration layer for this member. Required for clearing members.
10057ownTMStringThis is set for clearing members only, to indicate its own trading member.
10058allowFxCollateralBooleanThis field is mandatory for CMs. If true, RTC will expect system-to-system communication on size of FX collateral payments.
10059allowedMarketsStringA comma-delimited list of market codes that the client is allowed to have trades and positions in.
10060waitForCmBalancingBooleanThis field is mandatory for CMs. If true, RTC will expect the CM to send in a response to a balancing event.
10061clientTypeStringFor clients only - type of client. Information to surveillance. Required for all clients.

Allowed values: see constant group ClientType

10062idNumberLongFor clients only - ID number. Required for local individual clients: Client Type = Individual AND isNonResident = FALSE
10063passportNumberStringFor clients only - Passport number. Required for foreign individual clients: Client Type = Individual AND isNonResident = TRUE
10064companyRegistrationNumberStringFor clients only - Company registration number. Required for all company clients: Client Type = Company
10065isProfessionalBooleanFor clients only - Information to surveillance. Required for all clients.
10066isShariahBooleanFor clients only - Information to surveillance. Required for all clients.
10067isDiscretionaryBooleanIs Discretionary, true or false
10068preferredCcyString (3) Currency used for intraday rebalancing. Needs to be an eligible FX collateral currency (or ZAR, this will be the default though).
10069branchMemberNumberStringFor TM branches only. Unique within a TM. Valid number is between 01 and 99.
10070cmMessageRefString (5) For CM only. Mandatory for CM. Number used when creating settlement instructions. This number is concatenated into the message reference no.

Message: PositionAccount

Message ID: 10045

Type: Reference Data Messages

Description: Position account is used to keep actual clearing positions and settlement positions.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
8positionAccountIdrequiredLongThe internal id of the position Account.
9externalPositionAccountIdrequiredString (10) The external id of the position account. The maximum length is 10 characters. House sub accounts are validated to be a maximum of 9 long.
11positionAccountTyperequiredIntegerThe type of this position account.

Allowed values: see constant group PositionAccountType

12accessGrouprequiredStringThe access group for the Position Account.
13clearingMemberIdrequiredStringThe clearing member for the Position Account.
14riskNoderequiredLongThe risk node for the Position Account.
15participantUnitIdStringSpecifies the parent Participant Unit.
16isEnabledrequiredBooleanThe state of this item.
17positionAccountSubTyperequiredIntegerThe sub type of this position account.

Allowed values: see constant group PositionAccountSubType


Message: RiskNode

Message ID: 10046

Type: Reference Data Messages

Description: Risk node is the entity that defines the level for risk calculations. It has one or several accounts connected and form a tree structure with aggregated risk numbers on parent nodes.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
8riskNodeIdrequiredLongThe id for the Risk Node.
9parentRiskNodeIdLongRisk node Id of the parent.
10riskNodeNamerequiredString (100) The name for the Risk Node.
11isDefaultBooleanThis is used to identify the default risk node for a member.
12accessGrouprequiredStringThe access group for the Risk Node.
13clearingMemberIdrequiredStringThe clearing member for the Position Account.
14participantUnitIdrequiredStringSpecifies Participant Unit that this risk node belongs to.
15positionAccountTypeIntegerThe account type for accounts connected to this risk node.

Allowed values: see constant group PositionAccountType

18isClearingHouseBooleanThis is used to identify if the risk node is for clearing house.
19minimumZARLimitIntegerThe minimum percentage of the collateral that must be in ZAR.
20riskLimitLongThe risk limit after which alert is triggered.
21parentHouseRiskNodeIdLongRisk node Id of the house risk node of the parent.
22amPercentageIntegerThe AM percentage used to calculate additional margin.

Message: RtcCalendar

Message ID: 10145

Type: Reference Data Messages

Description: Represents a calendar in the RTC system.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
8rtcCalendarIdStringThe id of the RtcCalendar.
9calendarDateCalendarIdStringSpecifies which RtcCalendar to use for holidays and half-days .
10displayNamerequiredString (128) The descriptive name for this calendar.
11defaultScheduleStartTimerequiredString (32) The default starting time for this calendar. Must be in the format HH:MM:SS.
12timeZonerequiredString (128) The time zone for this calendar.
13saturdaysSundaysClosedBooleanSet to true if Saturdays and Sundays are closed.

Message: Segment

Message ID: 302

Type: Reference Data Messages

Description: A Segment is a grouping of TradableInstruments that share the same trading rules. Operations on a segment, such as halt and enable/disable affects all tradable instruments related to the segment. A Segment is a child objetc to MarketList.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
7internalSegmentIdString (128) The cache (unique) id of the Segment. The internalSegmentId field is assigned by the system.
8isEnabledBooleanThe state of this item.
9disabledCountIntegerA count of how many times this element has been enabled/disabled. An element will not be enabled until disabledCount is zero.
10segmentIdrequiredString (128) The display id of the Segment. Must be unique within the parent MarketList. May only contain characters: a-z, A-Z, 0-9, "_", "-", "+" and ".".
11parentInternalIdrequiredString (128) The parent Market List ID.
12namerequiredString (255) The name of this Segment
22validFromDateString (10) The first date the segment is valid. The format is yyyy-MM-dd.

Message: SeriesSpreadGroup

Message ID: 10159

Type: Reference Data Messages

Description: Series Spread Group.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
8ssgIdrequiredIntegerUniquely identifies each Series Spread Group.
9groupNamerequiredStringClass Spread Group name.

Message: SettlementAccount

Message ID: 10082

Type: Reference Data Messages

Description: This object defines a settlement account.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
8settlementAccountIdLongThe id for the Settlement Account.
9externalSettlementAccountIdString (100) The external id for the account.
10settlementAccountNameString (100) The name for the Settlement Account.
11isNettingAccountrequiredBooleanIf true, this account is a settlement account where positions are netted together before being sent to an external payment/delivery system.
12isClearingHouseAccountrequiredBooleanIf true, this is a Settlement Account for the Clearing House.
13isEnabledrequiredBooleanDefines whether the account is enabled.
14participantUnitIdStringLinks to participantUnit if the Settlement Account is not a Clearing House Settlement Account
15isDefaultClearingHouseAccountrequiredBooleanIf true, this is the default Settlement Account for the Clearing House.
17accessGrouprequiredStringThe access group for the Settlement Account.

Message: SubscriptionGroup

Message ID: 96

Type: Reference Data Messages

Description: The subscription group is used to filter objects on broadcast flows. When a subscription is set up for a subscription group the system controls the user access rights for that access group.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
7subscriptionGroupIdrequiredIntegerThe business id of the subscription group.
8descriptionrequiredString (255) A text description of the set of order books contained in the group.
9partitionIdrequiredIntegerThe partition this subscription group belong to.
10012accountAccessGroupStringThe account access group.

Message: Surface

Message ID: 10178

Type: Reference Data Messages

Description: A surface. Three axis, z dependent on x and y, z = f(x, y).

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
8surfaceIdLongThe internal surface Id for RTC.
9externalSurfaceIdrequiredString (100) The external surface Id received from Master reference data system.
10surfaceNamerequiredString (128) User friendly name of the surface.
11dayCountConventionrequiredStringDay count convention.

Allowed values: see constant group DAY_COUNT_CONVENTION

12interpolationMethodrequiredStringInterpolation method.

Allowed values: see constant group INTERPOLATION_METHOD

13extrapolationMethodrequiredStringExtrapolation method.

Allowed values: see constant group EXTRAPOLATION_METHOD

19axisUnitXrequiredStringxAxis unit.

Allowed values: see constant group AXIS_UNIT

20axisUnitYrequiredStringyAxis unit.

Allowed values: see constant group AXIS_UNIT

21axisUnitZrequiredStringzAxis unit.

Allowed values: see constant group AXIS_UNIT

22pePartitionIdIntegerPartition ID for the instrument in the RTC Price Engine. Not required, 1 will be used if the field is blank.

Message: TradableInstrument

Message ID: 296

Type: Reference Data Messages

Description: The TradableInstrument is a child object of an Instrument. The TradableInstrument holds trading information (order book id, currency, market, visibility etc) which is necessary for entering orders in a specific instrument. There is one TradableInstrument instance per market/currency/visibility combination. A TradableInstrument instance references a Segment, all trading rules for the referenced Segment applies to the instance.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
7internalIdString (192) The internal id of the TradableInstrument. This id is unique within the system and is created from the fields parentInternalId, market, currency and visibility.
8parentInternalIdString (192) The internal id of the parent Instrument. (The instrumentId and the instrumentIdType of the parent Instrument).
9internalSegmentIdString (198) A "cache" segment reference to which this tradable instrument belongs. Assigned by the server when the TradableInstrument is created. Validated against Market/MarketList/Segment attributes when updating a TradableInstrument.
10isEnabledBooleanThe state of this item.
12disabledCountIntegerA count of how many times this element has been enabled/disabled. An element will not be enabled until disabledCount is zero.
13tradableInstrumentIdrequiredString (64) The tradable instrument id. Typically an ISIN, CUSIP or symbol name. This is the JSE Master ID.
14tradableInstrumentIdTyperequiredString (32) The type of the TradableInstrumentId (ISIN, CUSIP etc)

Allowed values: see constant group InstrumentIdType

15currencyIdrequiredString (3) The currency code according to ISO 4217
16shortNamerequiredString (255) Display name of this tradable instrument.
17marketIdrequiredString (128) The market where this tradable instrument is traded. This field refers to a Market object's marketId field.
18marketListIdrequiredString (128) The market list where this instrument is traded, reflecting a MarketList object's marketListId field. The market list must belong to the market specified by the marketId field.
19segmentIdrequiredString (128) The segment where this instrument is traded, reflecting a Segment object's segmentId field. The segment specified must belong to the market stated in the marketId field and belong to the market list stated by the marketListId field.
27subscriptionGroupIdIntegerThe id of the subscription group to which this tradable instrument belong
31validFromDateString (10) The first date the tradable instrument is valid. The format is yyyy-MM-dd. If this optional data is not specified, the value from the tradable instrument's instrument will be used. The parent tradable instrument must have a validFrom date that is equal to or less than the validFrom date of the child tradable instrument.
32validToDateString (10) The last date the tradable instrument is valid. The format is yyyy-MM-dd. If this optional data is not specified, the value from the tradable instrument's instrument will be used. The parent tradable instrument must have a validTo date that is equal to or greater that the validTo date of the child tradable instrument.
33numberOfSharesLong (64) The number of shares in the instrument. If the number of shares is not defined, then there will not be any qty checks for that instrument.
39listOfAliasesString (256) A list of other markets'/exchanges' ID of this tradable instrument in the format: market1:id1,market2:id2,...
57lastTradingDateString (10) The last date the instrument is open for trading. The format is yyyy-MM-dd.
58corporateActionIndicatorString (24) This attribute is used to indicate that this instrument has been subject to a Corporate Action.
59validForTradingBooleanIf this field is true, this TradebleInstrument is valid for trading. ValidForTrading is typically used when a TradableInstrument is not traded on "this" exchange, but is needed as undelying for derivatives (carrying the price). The default value is true.
10061volatilityScanningRangeLongVolatility Scanning Range (VSR)

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.DECIMAL.

10062contractSizerequiredLongThe size (quantity) of one traded contract.
10063settlementCycleIntegerSettlement cycle in days. Mandatory for instrument type Spot.
10064classSpreadGroupString (255) The Class Spread Group (CSG) to which the contract belongs.
10065classSpreadMarginRequirementLongClass Spread Margin Requirement (CSMR)

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.DECIMAL.

10068expiryDateString (10) The expiration date for this contract. The format is yyyy-mm-dd. Used for options and futures.
10069contractCodeString (100) The Contract Code. Example: AGLS
10072underlyingTradableInstrumentString (100) The Underlying Tradable Instrument. Example: the future (AGLS-20141023) for an option or the underlying (ABL) for a future
10073contractCategoryString (100) The Contract Category. Example: SingleStock
10074settlementTypeIntegerSettlement type, Cash or Physical. If cash settled, only cash is settled at expiry. If physical, the underlying instrument is settled at expiry. Used for futures and options.

Allowed values: see constant group SettlementType

10075exerciseStyleIntegerExercise style, Americal or European. Used for options.

Allowed values: see constant group ExerciseStyle

10076isCallBooleanCall or Put option.
10077strikeLongStrike for option.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.DECIMAL.

10078volatilitySurfaceIdString (100) The Volatility Surface Id. Used for options.
10079yieldCurveIdString (100) The id of yield curve instrument used for valuation. Mandatory for future with valuation model set to RTC Mark-to-Model. Mandatory if InstrumentSubType is Dividend Neutral, International Dividend Neutral, Quanto International Dividend Neutral, Quanto Index Dividend Neutral or Contract for Difference, regardless of valuation model.
10080contractDescriptionString (255) The Contract Description.
10081instrumentTyperequiredString (32) The type of instrument (equity, option, future etc).

Allowed values: see constant group InstrumentType

10084stressPeriodStartDateString (10) In addition to the look-back period other dates of price data can be added. This is the start date of the period used. The format is yyyy-mm-dd. Used for spot instruments.
10085stressPeriodEndDateString (10) In addition to the look-back period other dates of price data can be added. This is the end date of the period used. The format is yyyy-mm-dd. Used for spot instruments.
10086liquidationPeriodIntegerThe liquidation period used in the IMR calculation. Also used for the calculation of the Liquidity Add-on. For example, 1 for daily and 7 for weekly. Mandatory for spot instruments.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.DECIMAL.

10087advtLongThe Average Daily Value Traded, used for the calculation of the Liquidity Add-on. Mandatory for spot instruments.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.DECIMAL.

10088imrOfficialLongOfficial IMR (Initial Margin Requirement)

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.DECIMAL.

10089oneDayVarLong1-day VaR

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.DECIMAL.

10090alphaCoderequiredString (30) The Alpha Code. Example: AGL
10091optionStyleIntegerFuture style or Upfront premium. Used for options.

Allowed values: see constant group OptionStyle

10092atmCentsIntegerCents from ATM. Used for options.
10093isinString (12) ISIN for the instrument.
10094valuationModelTyperequiredString (100) Valuation Model Type.

Allowed values: see constant group ValuationModelType

10095valuationSubTypeString (100) Valuation Sub Type.

Allowed values: see constant group ValuationSubType

10096isTradablerequiredBooleanIndicates whether the instrument can be traded at JSE.
10097baseCurrencyString (10) Base currency, mandatory for FX spot instruments.
10098priceCurrencyString (10) Price currency, mandatory for FX spot instruments.
10099maturityDateString (10) Maturity Date for Bonds. Format yyyy-mm-dd.
10100dayCountConventionStringThe convention determines how interest accrues over time, e.g. number of days between two coupon payments. For Bonds.

Allowed values: see constant group DAY_COUNT_CONVENTION

10101businessDayConventionStringRules for date rolling when a payment day or date used to calculate accrued interest falls on a holiday. For Bonds.

Allowed values: see constant group BusinessDayConvention

10103rtcCalendarIdStringCalendar used for holidays. For Bonds.
10104couponRateLongAnnual Coupon rate for Bonds.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.DECIMAL.

10105listingDateString (10) The date when the Bond was listed.
10107couponFrequencyPeriodIntegerCoupon frequency period length. How often coupons are paid annually. For Bonds.
10108couponIndicatorStringCoupon rate indicator. For Bonds.

Allowed values: see constant group CouponIndicator

10110couponDatesString (1000) For Bonds. Coupon dates, comma separated dates on format MMDD.
10111bookClosingDatesString (1000) For Bonds. Book Closing dates, comma separated dates on format MMDD.
10112priceFormatrequiredIntegerNumber of decimals in prices.
10113smrOfficialLongOfficial SMR (Settlement Margin Requirement)

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.DECIMAL.

10114instrumentSubTyperequiredString (32) The sub type of instrument (spot, index, CFD, etc.).

Allowed values: see constant group InstrumentSubType

10115assetClassrequiredString (255) The asset class this tradable instrument belongs to.

Allowed values: see constant group AssetClass

10116pePartitionIdIntegerPartition ID for the instrument in the RTC Price Engine. Not required, 1 will be used if the field is blank.
10117assetSubClassrequiredStringAsset sub class used for stress testing.

Allowed values: see constant group AssetSubClass

10118baseRateInstrumentString (100) Master ID of the base rate instrument
10120priceProxyMasterIDString (100) The Master ID of another underlying instrument to use as proxy when calculating the IMR %. Will mostly be used for foreign instruments where the price history is not available.
10121interestCommencementDateString (10) For Bonds. This date is used as last coupon date equivalent if no coupon has yet been paid.
10122inwardListedrequiredBooleanDesignated as Inward listed by the South African Reserve Bank.
10123anydayrequiredBooleanIf Anyday is true, the expiry date of the instrument may be on any business day.
10124nominalLongThe Nominal Amount for Bonds.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.DECIMAL.

10125redemptionFractionLongFraction of Nominal to be returned at maturity. For Bonds.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.DECIMAL.

10126compoundingConventionOfYieldStringCompounding Convention of yield. For Bonds.

Allowed values: see constant group CompoundingConvention

10127compoundingConventionOfRateStringCompounding Convention of coupon rate. For Bonds, information only.

Allowed values: see constant group CompoundingConvention

10128exchangerequiredString (100) ID of the exchange where the instrument is traded
10129countryrequiredString (100) Country code of instrument.
10130contractSizeTypeIntegerIndicator if the contract is base (standard), mini/maxi etc.

Allowed values: see constant group ContractSizeType

10132negativePriceAllowedBooleanIf NPA is True, prices in the tradable instrument may be negative, otherwise not. Only be allowed to be True for Spot and Future, used for structured products.

Message: TripartiteAgreement

Message ID: 10146

Type: Reference Data Messages

Description: This object defines agreement for tripartite.

Field no. Field name (tag) Mand. Type (max length) Comment
1keyStringIs used to identify the parent object (is set to null if this is the root object). This field is set by RTC, only set on outgoing messages on the reference data flow.
2cacheIdStringIs used to identify the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.
3actionIntegerIdentify the reason for the cache action (CACHE_ACTION), i.e. if it is an addition of a new reference data object, an update of an existing object or a removal of an object from the reference data cache. This field is set by RTC, only set on outgoing messages on the reference data flow.

Allowed values: see constant group CACHE_ACTION

4stateSequenceNumberlongA sequence number that is incremented with each reference data update, i.e. a version number for the cache contents. The sequence number series is common for all caches. This means that for a specific cache instance, the sequence number is not necessarily consecutive (but constantly increasing). This field is set by RTC, only set on outgoing messages on the reference data flow.
5uniqueObjectIdStringThe id is unique among all objects and may be used to retrieve a specific instance. Do not however, try to interpret the contents. This field is set by RTC, only set on outgoing messages on the reference data flow.
6timeStampString (23) The date and time of the latest modification for this reference data object. Format: yyyy-mm-ddTHH.MM.SS.sss. May be null if the object never has been updated. This field is set by RTC, only set on outgoing messages on the reference data flow.
8tripartiteAgreementIdrequiredString (100) Uniquely identifies each tripartite agreement.
9initiatorrequiredString (100) Initiator of the tripartite allocation. ID of Trading Member or Branch.
10acknowledgerrequiredString (100) Acknowledger (receiver) of the tripartite allocation. ID of Trading Member or Branch.
11clientrequiredString (100) Client of the tripartite allocation.
12fromDaterequiredStringFrom date of tripartite agreement. The format is yyyy-mm-dd.
13toDateStringTo date of tripartite agreement. The format is yyyy-mm-dd.

External Members

Message: CdAddRtcMemberClientClearingLinkReq

Message ID: 10127

Type: External Members

Description: Request to add a Clearing member to a client

Field no. Field name (tag) Mand. Type (max length) Comment
1possDupbooleanThe possible duplicate flag
12memberClientIdrequiredStringThe member id
13clearingMemberIdrequiredStringThe clearing member

This request will normally return a response of type CdResponse .


Message: CdAddRtcMemberClientReq

Message ID: 10031

Type: External Members

Description: Request to add a Client

Field no. Field name (tag) Mand. Type (max length) Comment
1possDupbooleanThe possible duplicate flag
14addressrequiredStringThe address
15phonerequiredStringThe phone
16associatedMemberIdrequiredStringThe parent member
18emailrequiredStringThe email address
20clientIdStringThe client id
21clientNamerequiredStringThe client name
22vatRegNumberStringVAT registration number
24isStaffrequiredBooleanIs Staff, true or false
25isBeneficialrequiredBooleanIs Beneficial, true or false
26bdaCodeIntegerBDA Code
27countryrequiredStringCountry Code
28strateCodeStringCode of client or member at CSD.
29allowedMarketsrequiredStringA comma-delimited list of market codes that the client is allowed to have trades and positions in.
30clientTyperequiredStringType of client. Information to surveillance.

Allowed values: see constant group ClientType

31idNumberLongID number. Required for local individual clients.
32passportNumberStringPassport number. Required for foreign individual clients.
33companyRegistrationNumberStringCompany registration number. Required for all company clients.
34isProfessionalbooleanInformation to surveillance.
35isShariahbooleanInformation to surveillance.
36isDiscretionaryrequiredBooleanIs Discretionary, true or false
37nominatedMemberStringThe member id of the nominated member.
38preferredCcyString (3) Currency used for intraday rebalancing. Needs to be an eligible FX collateral currency (or ZAR, this will be the default though).

This request will normally return a response of type CdAddRtcMemberClientRsp .


Message: CdAddRtcMemberClientRsp

Message ID: 10474

Type: External Members

Description: The response to add rtc member client request.

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
3subCodeint [] Status code for each leg of the request. Only used for batched requests.
6latestSSNlongThis is the latest and most likely the highest state sequence number, SSN, that has been assigned to the reference data.
8clientIdStringThe client id generated by the system.

Message: CdAddRtcPositionAccountReq

Message ID: 10034

Type: External Members

Description: Request to add a Position Account

Field no. Field name (tag) Mand. Type (max length) Comment
1possDupbooleanThe possible duplicate flag
12participantUnitIdrequiredStringThe owner unit.
14positionAccountTyperequiredIntegerThe type of the position account.

Allowed values: see constant group PositionAccountType

15clearingMemberIdrequiredStringThe clearing member of the Position Account.
16externalPositionAccountIdStringThe external id of the position account.
17positionAccountSubTyperequiredIntegerThe sub type of the position account.

Allowed values: see constant group PositionAccountSubType

This request will normally return a response of type CdAddRtcPositionAccountRsp .


Message: CdAddRtcPositionAccountRsp

Message ID: 10035

Type: External Members

Description: The response to add position account request.

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
3subCodeint [] Status code for each leg of the request. Only used for batched requests.
6latestSSNlongThis is the latest and most likely the highest state sequence number, SSN, that has been assigned to the reference data.
9positionAccountExternalIdStringThe external id of the position account.

Message: CdEnableDisableRtcMemberClientReq

Message ID: 10152

Type: External Members

Description: Request to add a Client

Field no. Field name (tag) Mand. Type (max length) Comment
1possDupbooleanThe possible duplicate flag
12clientIdrequiredStringThe client id
13isDisabledrequiredBooleanSet as enabled or not

This request will normally return a response of type CdResponse .


Message: CdEnableDisableRtcPositionAccountReq

Message ID: 10072

Type: External Members

Description: Request to update a position account

Field no. Field name (tag) Mand. Type (max length) Comment
1possDupbooleanThe possible duplicate flag
12positionAccountIdrequiredLongThe Position account id.
16isEnabledbooleanEnabled (true) or not (false).

This request will normally return a response of type CdEnableDisableRtcPositionAccountRsp .


Message: CdEnableDisableRtcPositionAccountRsp

Message ID: 10073

Type: External Members

Description: The response enableDisable position account.

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
3subCodeint [] Status code for each leg of the request. Only used for batched requests.
6latestSSNlongThis is the latest and most likely the highest state sequence number, SSN, that has been assigned to the reference data.

Message: CdSetClientAMPercentageReq

Message ID: 10443

Type: External Members

Description: Set additional margin percentage. Leaving clientId empty means trading member will set additional margin percentage on all clients for that trading member.

Field no. Field name (tag) Mand. Type (max length) Comment
1possDupbooleanThe possible duplicate flag
12clearingMemberIdStringThe clearing member id. The clearing member (or CM link) the client belongs to.
13clientIdStringThe client id. Only applicable for a clearing member that wants to set the AM percentage on a specific client.
14amPercentageIntegerThe additional margin pergentage used to calculate additional margin from the calculated initial margin.

This request will normally return a response of type CdResponse .


Message: CdSetClientRiskLimitReq

Message ID: 10294

Type: External Members

Description: Set risk limit. Leaving clientId empty means trading member will set risk limit on all clients for that trading member.

Field no. Field name (tag) Mand. Type (max length) Comment
1possDupbooleanThe possible duplicate flag
12clearingMemberIdStringThe clearing member id. The clearing member (or CM link) the client belongs to.
13clientIdStringThe client id. Only applicable for a clearing member that wants to set the risk limit on a specific client.
14riskLimitLongThe risk limit which is validated against the calculated risk on a risk node to check if there is a breach and trigger alert if required. If this field is left blank then the risk limit is removed from the client

This request will normally return a response of type CdResponse .


Message: CdSetMinimumZARLimitReq

Message ID: 10273

Type: External Members

Description: Set minimum ZAR limit. Leaving all fields empty as a clearing member will set minimumZARLimit on all trading members for that clearing member. Leaving all fields empty as a trading member will set minimumZARLimit on all clients for that trading member.

Field no. Field name (tag) Mand. Type (max length) Comment
1possDupbooleanThe possible duplicate flag
12clearingMemberIdStringThe clearing member id. Only applicable for a trading member that wants to set the minimumZARLimit on a specific client.
13tradingMemberIdStringThe trading member id. Only applicable for a clearing member that wants to set the minimumZARLimit on a specific trading member.
14clientIdStringThe client id. Only applicable for a trading member that wants to set the minimumZARLimit on a specific client.
15minimumZARLimitIntegerThe minimum ZAR limit in percent. Must be within the interval 0-100. Leaving this field empty means no specific limit is set and that a value from higher in the hierarchy will be used.

This request will normally return a response of type CdResponse .


Message: CdSetTradingMemberAMPercentageReq

Message ID: 10442

Type: External Members

Description: Set additional margin percentage. Leaving the tradingMemberId field empty means the clearing member will set additional margin percentage on all trading members for that clearing member.

Field no. Field name (tag) Mand. Type (max length) Comment
1possDupbooleanThe possible duplicate flag
12tradingMemberIdStringThe trading member id. Only applicable for a clearing member that wants to set the AM percentage on a specific trading member.
13amPercentageIntegerThe additional margin pergentage used to calculate additional margin from the calculated initial margin.

This request will normally return a response of type CdResponse .


Message: CdSetTradingMemberRiskLimitReq

Message ID: 10293

Type: External Members

Description: Set risk limit. Leaving the tradingMemberId field empty means the clearing member will set risk limit on all trading members for that clearing member.

Field no. Field name (tag) Mand. Type (max length) Comment
1possDupbooleanThe possible duplicate flag
12tradingMemberIdStringThe trading member id. Only applicable for a clearing member that wants to set the limit on a specific trading member.
13riskLimitLongThe risk limit which is validates against the calculated risk on a risk node to check if there is a breach and trigger alert if required. If this field is left blank then the risk limit is removed from the trading member

This request will normally return a response of type CdResponse .


Message: CdUpdateRtcMemberClientReq

Message ID: 10147

Type: External Members

Description: Request to update a Client

Field no. Field name (tag) Mand. Type (max length) Comment
1possDupbooleanThe possible duplicate flag
12clientIdrequiredStringThe client id
13clientNamerequiredStringThe member name
14addressrequiredStringThe address
15phonerequiredStringThe phone
16emailrequiredStringThe email address
17vatRegNumberStringVAT registration number
19isStaffrequiredBoolean"Is Staff, true or false"
20isBeneficialrequiredBoolean"Is Beneficial, true or false"
21bdaCodeIntegerBroker Deal Account number
22countryrequiredStringCountry Code
23strateCodeStringCode of client or member at CSD.
27companyRegistrationNumberStringCompany registration number. Required for all company clients.
28isProfessionalbooleanInformation to surveillance.
29isShariahbooleanInformation to surveillance.
30isDiscretionaryrequiredBoolean"Is Discretionary, true or false"
31nominatedMemberStringThe member id of the nominated member.
32preferredCcyString (3) Currency used for intraday rebalancing.
33idNumberLongID number. Required for local individual clients.
34clientTyperequiredStringType of client. Information to surveillance.

Allowed values: see constant group ClientType

35passportNumberStringPassport number. Required for foreign individual clients.
36isNonResidentrequiredBooleanIndication of the Client is resident of South Africa or not. If Country Code is ZA, the Client must be Resident. If Country Code is not ZA, the Client must be Non Resident, for the From Trade.

This request will normally return a response of type CdResponse .


Event Messages

Message: AccountPositionEvent

Message ID: 10032

Type: Event Messages

Description: Represents a change in a position for a specific instrument in a specific account.

Field no. Field name (tag) Mand. Type (max length) Comment
47sequenceNumberlongThe sequence number is a unique number for all events published for the same flow.
51accountIdrequiredlongAccount id.
53positionTyperequiredIntegerThe position type.

Allowed values: see constant group PositionType

54settlementDateStringSettlement date, used for positions of type SETTLEMENT.
55subIdlongIn some cases, several positions in the same instrument and the same account are held as separate positions, although they both fit the instrument/account key. There may be technical or business logic reasons for this. The risk system can handle that multiple sources have positions in identical instruments and accounts and it will perform the aggregation of such positions itself for calculation purposes.
60longQtylongThe position long quantity in its canonical unit, i.e. longNominalQty multiplied by contract size of tradable instrument. A positive quantity represents a long position. E.g. a position of 10 futures contracts of an instrument with a contract size of 100 would be represented in this field as 1000 (divisor rule to be applied).

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

61shortQtylongThe position short quantity in its canonical unit, i.e. shortNominalQty multiplied by contract size of tradable instrument. A negative quantity represents a short position. E.g. a position of 10 futures contracts of an instrument with a contract size of 100 would be represented in this field as 1000 (divisor rule to be applied).

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

62shortNominalQtyBigIntegerThe position quantity, i.e. number of contracts. Only set for positions in tradable instruments. A negative quantity represents a short position. E.g. a position of 10 futures contracts of an instrument with a contract size of 100 would be represented in this field as 10 (divisor rule to be applied)

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

63shortInitialValueBigIntegerThe value of the position, according to the prices of the trades that build up the position. Simply put, this value is the sum of the price * quantity of all trades in the position. Since long and short quantities have different signs, values of long positions are typically positive and values of short positions are typically negative (the opposite being true if the price is negative). The initial value of the position is expressed in the currency of the instrument the position belongs to.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

64shortMarketValueBigIntegerThe value of the position, according to the market price that was used last time a cash settlement of the variation margin of the position was made. Since long and short quantities have different signs, values of long positions are typically positive and values of short positions are typically negative (the opposite being true if the price is negative). The market value is expressed in the currency of the instrument the position belongs to.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

65longNominalQtyBigIntegerThe position quantity, i.e. number of contracts. Only set for positions in tradable instruments. A positive quantity represents a long position. E.g. a position of 10 futures contracts of an instrument with a contract size of 100 would be represented in this field as 10 (divisor rule to be applied)

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

66longInitialValueBigIntegerThe value of the position, according to the prices of the trades that build up the position. Simply put, this value is the sum of the price * quantity of all trades in the position. Since long and short quantities have different signs, values of long positions are typically positive and values of short positions are typically negative (the opposite being true if the price is negative). The initial value of the position is expressed in the currency of the instrument the position belongs to.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

67longMarketValueBigIntegerThe value of the position, according to the market price that was used last time a cash settlement of the variation margin of the position was made. Since long and short quantities have different signs, values of long positions are typically positive and values of short positions are typically negative (the opposite being true if the price is negative). The market value is expressed in the currency of the instrument the position belongs to.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

68transactionIdlongInternal RTC transaction ID.
69positionReasonint

Allowed values: see constant group PositionReason

70tradeIdlongTrade ID generated by the system, globally unique. A new ID will be created each time the trade is moved to a new account, i.e. when an equal opposite trade is created. Note that an ID will be created also at trade capture.
71positionTimestampStringThe time when the event occurred, on format yyyy-MM-dd'T'HH:mm:ss.SSS.
72tradeTradeThe trade that caused this account position event.
74subscriptionGroupintThe id of subscription group the message is published on.
75longSpreadVolumeBigIntegerTotal spread volume for CFD contract. This is similar to Initial Value, but this is base rate from the trade multiplied with the quantity. Positive for long values, negative for short.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

76shortSpreadVolumeBigIntegerTotal spread volume for CFD contract. This is similar to Initial Value, but this is base rate from the trade multiplied with the quantity. Positive for long values, negative for short.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

77externalInstrumentIdrequiredStringThe external instrument id. This is the JSE Master ID.
78externalAccountIdStringThe ID of the position account as seen by the member.
79clearingMemberIdStringThe member code of the clearing member.
81collateralAccountNameStringThe name of the collateral account.
82tradingMemberStringTM that owns the trade.
83tradingMemberBranchStringTM branch that owns the trade.
84clientIdStringClient ID added to trade by CS. Empty if trade is for TM house.

Message: AccountTradeEvent

Message ID: 10141

Type: Event Messages

Description: This event represents an insertion, deletion or update of a trade in an account. The message includes information on the position on the account after the trade event.

Field no. Field name (tag) Mand. Type (max length) Comment
1sequenceNumberlongThe sequence number is a unique number for all events published for the same flow.
4subscriptionGroupintThe id of subscription group the message is published on.
5accountIdrequiredlongAccount id.
7positionTyperequiredIntegerThe position type.

Allowed values: see constant group PositionType

8settlementDateStringSettlement date, used for positions of type SETTLEMENT.
10positionReasonint

Allowed values: see constant group PositionReason

11positionTimestampStringThe time when the event occurred, on format yyyy-MM-dd'T'HH:mm:ss.SSS.
12tradeTradeThe referenced Trade.
13externalInstrumentIdrequiredStringThe external instrument id. This is the JSE Master ID.
14externalAccountIdStringThe ID of the position account as seen by the member.
15clearingMemberIdStringThe member code of the clearing member.
17collateralAccountNameStringThe name of the collateral account.
18tradingMemberStringTM that owns the trade.
19tradingMemberBranchStringTM branch that owns the trade.
20clientIdStringClient ID added to trade by CS. Empty if trade is for TM house.

Message: AggregatedSummaryClearingMemberEvent

Message ID: 10350

Type: Event Messages

Description: Aggregated account summary event for clearing member.

Field no. Field name (tag) Mand. Type (max length) Comment
1sequenceNumberlongThe sequence number is a unique number for all events published for the same flow.
4subscriptionGroupintThe id of the subscriptionGroup the message is published on.
5clearingMemberIdStringClearing Member ID.
6totalsAggregatedSummaryDetailsAggregated trading member totals.
7interestRateOnCashCollateralLongInterest rate for cash collateral for ZAR

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.INTEREST.

8netFromOtherSystemsLongNet amount from other system. A Positive value means the money being paid by the Client to the CH and a Negative value means the money being paid by the CH to the Client

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

9cmMessageRefStringNumber used when creating settlement instructions. This number is concatenated into the message reference no.
10tagStringPrice Tag that identifies the event.

Allowed values: see constant group CondType

11businessDateStringBusiness Date.
12timestampStringThe time of the event.

Message: AggregatedSummaryTradingMemberEvent

Message ID: 10351

Type: Event Messages

Description: Aggregated account summary event for trading member.

Field no. Field name (tag) Mand. Type (max length) Comment
1sequenceNumberlongThe sequence number is a unique number for all events published for the same flow.
4subscriptionGroupintThe id of the subscriptionGroup the message is published on.
5tradingMemberIdStringTrading Member ID.
6clearingMemberIdStringClearing Member ID.
7totalClientsAggregatedSummaryDetailsAggregated client accounts.
8totalHouseAggregatedSummaryDetailsAggregated house accounts.
9interestRateOnCashCollateralLongInterest rate for cash collateral for ZAR

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.INTEREST.

10tagStringPrice Tag.

Allowed values: see constant group CondType

11businessDateStringBusiness Date.
12timestampStringThe time of the event.

Message: AtmVolatilityEvent

Message ID: 10277

Type: Event Messages

Description: Event with ATM volatilities for an underlying instrument. The dates are expiry dates for the options.

Field no. Field name (tag) Mand. Type (max length) Comment
1sequenceNumberlongThe sequence number is a unique number for all events published for the same flow.
4subscriptionGroupIdintThe id of the subscription group the message is published on.
5condTypeStringPrice Condition type (tag).

Allowed values: see constant group CondType

6businessDateStringBusiness date. Format is YYYY-MM-DD.
8instrumentExternalIdStringThe external instrument id. This is the JSE Master ID.
9feedSourceStringThe source.

Allowed values: see constant group FeedSource

10timestampStringThe time of the market data event. The format is "yyyy-MM-ddTHH:mm:ss.SSS".
11absoluteDatesString [] The absolute instrument expiry dates. Corresponds to the array of volatilities.
12volslong [] The volatilities. Corresponds to the array of dates.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.DECIMAL.


Message: CommissionEvent

Message ID: 10514

Type: Event Messages

Description: Commission to be paid by destination TM to initiating TM.

Field no. Field name (tag) Mand. Type (max length) Comment
1sequenceNumberlongThe sequence number is a unique number for all events published for the same flow.
2subscriptionGroupintThe id of subscription group the message is published on.
3commissionIdrequiredStringThe commission id.
4marketrequiredStringMarket.
5initiatingCMrequiredStringCM that is associated with the initiating TM and will receive the payment.
6initiatingTMrequiredStringTM that sent the commission.
7destinationCMrequiredStringCM that will handle the payment.
8destinationTMrequiredStringTM that will carry the payment.
9clientReferenceStringPayer of the commission. Refer to EMAPI Clearing document, Commission Management section for guidance on the population of this field based on the various trade and deal management scenarios.
10commissionReferenceStringIdentifier of trade or deal associated with the commission. Refer to EMAPI Clearing document, Commission Management section for guidance on the population of this field based on the various trade and deal management scenarios.
11amountrequiredLongAmount to debit the destination TM.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.DECIMAL.

12statusrequiredintThe status of the commission.

Allowed values: see constant group CommissionStatus

13enteredTimestamprequiredStringThe timestamp when the commission first was entered.
14cancelledTimestampStringThe timestamp when the commission was either cancelled or rejected.
15cancellationReferenceStringOptional reference that can be supplied at cancellation or rejection requests.

Message: CurveEvent

Message ID: 10227

Type: Event Messages

Description: Market data for a curve. See the Curve reference data object for a definition of the curve.

Field no. Field name (tag) Mand. Type (max length) Comment
1sequenceNumberlongThe sequence number is a unique number for all events published for the same flow.
4subscriptionGroupIdintThe id of the subscription group the message is published on.
5condTypeStringPrice Condition type (tag).

Allowed values: see constant group CondType

6businessDateStringBusiness date. Format is YYYY-MM-DD.
8curveExternalIdStringThe curve external instrument id. This is the JSE Master ID.
9feedSourceStringThe source of the curve.

Allowed values: see constant group FeedSource

10timestampStringThe time of the market data event. The format is "yyyy-MM-ddTHH:mm:ss.SSS".
11absoluteDateString [] The absolute date on the x-axis of the curve. This field is populated if the xAxis unit of the curve is absolute.
12dateFractionOfAYearlong [] The date on the x-axis represented as fraction of a year using the day time convention on the discount curve. This field is populated if the xAxis unit of the curve is fraction of a year.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.DECIMAL.

13ratelong [] The rate on the y-axis of the curve.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.DECIMAL.


Message: DailyAccountSummaryDetailsEvent

Message ID: 10295

Type: Event Messages

Description: Daily account summary for client or members house nodes.

Field no. Field name (tag) Mand. Type (max length) Comment
1sequenceNumberlongThe sequence number is a unique number for all events published for the same flow.
4subscriptionGroupintThe id of the subscriptionGroup the message is published on.
5riskNodeIdlongThe id of the risk node the message is published on.
6businessDateStringBusiness Date. The format is yyyy-MM-dd.
7tagStringPrice Tag.

Allowed values: see constant group CondType

8clearingMemberIdStringClearing Member Id.
9tradingMemberIdStringTrading Member Id.
10clientIdStringClient Id.
11strateCodeStringStrate Code.
12collateralAccountIdLongCollateral Account Id.
13minimumCashLimitLongPercentage of initial margin that must be covered with cash collateral.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

14initialMarginLongInitial Margin. This value will always be Positive

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

15additionalMarginLongAdditional Margin.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

16requestedSecuritiesAmountLongValue request from Strate.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

17receivedSecuritiesAmountLongReceived value from strate, before haircut.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

18registeredSecuritiesAmountLongMarket Value of the positions in security collateral in ZAR (market value of the security collateral position).This value will always be Positive

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

19registeredCashAmountLongRegistered Cash Amount.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

20securitiesAmountCFLongCurrent securities amount, after haircut. This value will always be Positive

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

21securitiesAmountBFLongPrevious securities amount, after haircut. This value will always be Positive

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

22cashAmountCFLongCurrent cash collateral amount (for ZAR), after haircut. This value will always be Positive

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

23cashAmountBFLongPrevious cash collateral amount (for ZAR), after haircut. This value will always be Positive

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

24stateStringState. Valid values are: REGISTERED, COLLATERAL_CALCULATED, COLLATERAL_SEC_REGISTERED, COLLATERAL_SEC_STEPOVER, COLLATERAL_FX_REGISTERED, COLLATERAL_FX_STEPOVER, COLLATERAL_CASH_SETTLED, CLIENT_PAYMENTS,REBALANCING.
25statusStringStatus of execution. Valid values are: SUCCESS, ERROR, OVERRIDE, VALIDATION_FAILED, VALIDATION_WARNING,
26statusTextStringStatus Text. Description of validation errors.
27variationMarginLongVariation Margin.A Positive value means the money being paid by the Client to the CH and a Negative value means the money being paid by the CH to the Client

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

28fundingInterestAmountLongFunding Interest amount. A Positive value means the money being paid by the Client to the CH and A Negative value means the money being paid by the CH to the Client

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

29dividendAmountLongDividend amount. A Positive value means the money being paid by the Client to the CH and a Negative value means the money being paid by the CH to the Client

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

32settlementDateStringSettlement Date. The format is yyyy-MM-dd.
33previousInitialMarginLongPrevious Business Day Initial Margin. This value will always be Positive

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

34interestAmountOnCashCollateralLongInterest amount earned on cash collateral for ZAR. A Negative value means the money being paid by the CH to the Client

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

35interestRateOnCashCollateralLongInterest rate on cash collateral for ZAR.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.INTEREST.

36fxDailyAccountSummaryDetailsFxDailyAccountSummaryDetails [] The daily account summary details for FX currencies.
37previousAdditionalMarginLongPrevious Business Day Additional Margin.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

38fxCashAmountCFLongCurrent cash collateral amount for FX currency (in ZAR), after haircut. This value will always be Positive

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

39fxCashAmountBFLongPrevious cash collateral amount for FX currency (in ZAR), after haircut. This value will always be Positive

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

40netAmountLongNet amount from other systems.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

41securitiesAmountMovementLongSecurities amount movement.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

42cashAmountMovementLongCash collateral amount (for ZAR) movement.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

43fxCashAmountMovementLongCash collateral amount movement for FX currency (in ZAR)

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

44totalZarCashMovementLongSum of all ZAR movements: Cash Collateral Movement + VM + Booking fees incl. VAT + Risk fees incl. VAT + Commissions + Funding interest + Dividend payment + Interest amount on Cash Collateral. A Positive value means the money being paid by the Client to the CH and a Negative value means the money being paid by the CH to the Client

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

45timestampStringThe time of the event. The format is yyyy-MM-ddTHH:mm:ss.SSS.
46commissionLongSum of all commissions with status New. A Positive value means the money being paid by the Client to the CH and a Negative value means the money being paid by the CH to the Client

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

47bookingFeeAmountLongBooking fee amount excluding VAT. A Positive value means the money being paid by the Client to the CH

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

48bookingFeeVatAmountLongVAT for booking fee

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

49riskFeeAmountLongRisk fee amount excluding VAT. A Positive value means the money being paid by the Client to the CH and a Negative value means the money being paid by the CH to the Client

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

50riskFeeVatAmountLongVAT for risk fee.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.


Message: DividendEvent

Message ID: 10229

Type: Event Messages

Description: Dividend information for a tradable instrument. The instrument is a spot used as underlying for futures. The dividends are used in the future valuation.

Field no. Field name (tag) Mand. Type (max length) Comment
1sequenceNumberlongThe sequence number is a unique number for all events published for the same flow.
4subscriptionGroupIdintThe id of the subscription group the message is published on.
5condTypeStringPrice Condition type (tag).

Allowed values: see constant group CondType

6businessDateStringBusiness date. Format is YYYY-MM-DD.
8instrumentExternalIdStringThe external instrument id. This is the JSE Master ID.
9feedSourceStringThe source of the price.

Allowed values: see constant group FeedSource

10timestampStringThe time of the market data event. The format is "yyyy-MM-ddTHH:mm:ss.SSS".
11exDateStringThe date on or after which a security is traded without rights to a previously declare dividend.
12paymentDateStringThe date on which a declared stock dividend is scheduled to be paid.
13dividendlongThe dividend value.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.


Message: OptionDataEvent

Message ID: 10276

Type: Event Messages

Description: Valuation information for option.

Field no. Field name (tag) Mand. Type (max length) Comment
1sequenceNumberlongThe sequence number is a unique number for all events published for the same flow.
4subscriptionGroupIdintThe id of the subscription group the message is published on.
5condTypeStringPrice Condition type (tag).

Allowed values: see constant group CondType

6businessDateStringBusiness date. Format is YYYY-MM-DD.
8externalInstrumentIdStringThe external instrument id. This is the JSE Master ID.
9pricelongThe option price.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

10deltalongThe delta for the option.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

11volatilitylongThe volatility for the option.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

12feedSourceStringThe source of the curve.

Allowed values: see constant group FeedSource

13timestampStringThe time of the market data event. The format is "yyyy-MM-ddTHH:mm:ss.SSS".
14gammalongThe gamma for the option.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

15vegalongThe vega for the option.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.


Message: PriceEvent

Message ID: 10074

Type: Event Messages

Description: Market data for a tradable instrument.

Field no. Field name (tag) Mand. Type (max length) Comment
9sequenceNumberlongThe sequence number is a unique number for all events published for the same flow.
12subscriptionGroupIdintThe id of the subscription group the message is published on.
14pricelongThe price.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

17condTypeStringPrice Condition type (tag).

Allowed values: see constant group CondType

18businessDateStringBusiness date. Format is YYYY-MM-DD.
19externalInstrumentIdStringThe external instrument id. This is the JSE Master ID.
20feedSourceStringThe source of the curve.

Allowed values: see constant group FeedSource

21timestampStringThe time of the market data event. The format is "yyyy-MM-ddTHH:mm:ss.SSS".

Message: RiskNodeEvent

Message ID: 10033

Type: Event Messages

Description: This event contains calculated risk values for a Risk Node.

Field no. Field name (tag) Mand. Type (max length) Comment
23sequenceNumberlongThe sequence number is a unique number for all events published for the same flow.
27riskNodeIdlongThe id of the risk node the message is published on.
28channelStringThe channel this result was calculated for. DEFAULT is the normal channel.
29currencyStringThe currency code according to ISO 4217.
30portfolioValuelongThis value is not used in the JSE implementation of RTC.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

31variationMarginlongAny profit or loss given the current market value compared to the previous mark-to-market value (or trade value).

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

32portfolioRisklongThe Initial Margin for the risk node, defined as J-SPAN IM + Liquidation Period Add-On + Large Position Add-On  + SM. A positive value indicates a risk.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

33collateralValuelongThe sum of the values of all the collateral positions in the collateral account of the risk node.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

34subscriptionGroupintThe id of the subscriptionGroup the message is published on.
35liquidationAddOnlongThe liquidation period add-on value for the risk node. The liquidation period add-on is an amount that gets added to the margin calculated by J-SPAN. The Liquidation Period add-on increases the margin requirement when the client's notional exposure in a particular underlying forms a significant portion of the value that gets traded in the market on a daily basis.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

36largePositionAddOnlongThe large position add-on value on the risk node. This is an additional IM to compensate for large positions or concentration risk. This calculation takes into account position size thresholds which will are defined by the JSE.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

37jspanValuelongThe J-SPAN IM value, based on the positions on the risk node and the CSE risk arrays. The J-SPAN algorithm uses the netted positions of all the accounts under the risk node.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

38additionalMarginlongThe additional margin value on the risk node. Additional Margin is a margin that is added on top of IM and calculated as a percentage on IM. Different members and clients can have different additional margin percentages.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

39additionalMarginPercentagelongThe additional margin percentage value on the risk node.
40riskLimitlongThe risk limit value on the risk node. The global risk limit for the clearing house, or a more strict limit for the Clearing Member, Trading Member or Client.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

41valueAgainstLimitlongThe value against limit value on the risk node, calculated as (IM + AM) - (VM + Collateral value).

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

42alertbooleanThe alert indicator for the risk node. True if valueAgainstLimit is larger than riskLimit, false otherwise.
43settlementMarginlongThe settlement margin on the risk node. For risk nodes with settlement positions for physical delivery positions: SM = official SMR * quantity (netted on risk node).

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

44equityNotionalValuelongThe notional exposure for asset class Equity for this risk node.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

45fxNotionalValuelongThe notional exposure for asset class FX for this risk node.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

46notionalValuesNotionalValue [] Notional value per underlying.
47collateralPositionsCollateralPositionValue [] Values for collateral positions.

Message: SurfaceEvent

Message ID: 10228

Type: Event Messages

Description: Market data for a surface. See the Surface reference data object for a definition of the surface.

Field no. Field name (tag) Mand. Type (max length) Comment
1sequenceNumberlongThe sequence number is a unique number for all events published for the same flow.
4subscriptionGroupIdintThe id of the subscription group the message is published on.
5condTypeStringPrice Condition type (tag).

Allowed values: see constant group CondType

6businessDateStringBusiness date. Format is YYYY-MM-DD.
9feedSourceStringThe source of the price.

Allowed values: see constant group FeedSource

10timestampStringThe time of the market data event. The format is "yyyy-MM-ddTHH:mm:ss.SSS".
11absoluteDateString [] The absolute date on the x-axis of the surface. This field is populated if the xAxis unit of the surface is absolute.
12dateFractionOfAYearLong [] The date on the x-axis represented as fraction of a year using the day time convention on the surface. This field is populated if the xAxis unit of the surface is fraction of a year.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.DECIMAL.

13strikeOrMoneynessLong [] Value on the y-axis: strike or moneyness.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

14volatilityLong [] Value on the z-axis: volatility in point (x, y).

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

15surfaceExternalIdStringThe surface external instrument id. This is the JSE Master ID.

Message: WithdrawalNotificationEvent

Message ID: 10486

Type: Event Messages

Description: A notification event sent to the Clearing Member that there is a number of payment advices that the CM must confirm.

Field no. Field name (tag) Mand. Type (max length) Comment
1sequenceNumberlongThe sequence number is a unique number for all events published for the same flow.
4subscriptionGroupintThe id of the subscriptionGroup the message is published on.
6clearingMemberStringClearing Member ID.

Message: YieldEvent

Message ID: 10437

Type: Event Messages

Description: The yield for an instrument. The instrument could be of different types, for instance a Bond or a Deposit.

Field no. Field name (tag) Mand. Type (max length) Comment
1sequenceNumberlongThe sequence number is a unique number for all events published for the same flow.
4subscriptionGroupIdintThe id of the subscription group the message is published on.
5condTypeStringPrice Condition type (tag).

Allowed values: see constant group CondType

6businessDateStringBusiness date. Format is YYYY-MM-DD.
8instrumentExternalIdStringThe external instrument id.
9feedSourceStringThe source of the price.

Allowed values: see constant group FeedSource

10timestampStringThe time of the market data event. The format is "yyyy-MM-ddTHH:mm:ss.SSS".
11yieldTypeString

Allowed values: see constant group YieldType

12yieldlongThe dividend expressed in yield (% on decimal form).

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.DECIMAL.


Event Messages (Internal)

Message: AggregatedSummaryDetails

Message ID: 10352

Type: Event Messages

This message can only appear as a sub-object in other messages; it can never be used as a stand-alone message.

Description: Object to hold aggregated account summary details.

Field no. Field name (tag) Mand. Type (max length) Comment
1totalMember_CF_CashLongThe total ZAR Collateral Cash registered for the current day. This value will always be Positive

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

2totalMember_BF_CashLongThe total ZAR Collateral Cash registered for the previous day. This value will always be Positive

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

3totalMember_CF_SecLongThe total Collateral Security registered for the current day. This value will always be Positive

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

4totalMember_BF_SecLongThe total Collateral Security registered for the previous day. This value will always be Positive

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

5initialMarginMovementCashLongThe total overall IM Cash movement balance per member (TM + Client), i.e. C/F (today) Cash Collateral - B/F (previous days) Cash Collateral = Cash IM movement. This value is calculated the same way as totalMember_Cash_Movement. This value is Positive if the current Cash Collateral exceeds the previous Cash Collateral; negative if it is the other way around.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

6initialMarginMovementSecuritiesLongThe total overall IM Securities movement balance per member (TM + Client), i.e. C/F (today) Collateral Securities - B/F (previous days) Collateral Securities = Securities movement. This value is calculated the same way as totalMember_Sec_Movement. This value is Positive if the current Collateral Securities exceeds the previous Collateral Securities; negative if it is the other way around

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

7totalVariationMarginLongTotal variation margin for all clients of a trading member and clients of the trading member's branches. A Positive value means the money being paid by the Client to the CH and a Negative value means the money being paid by the CH to the Client

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

8totalAdditionalMarginLongTotal additional margin. This value will always be Positive

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

9fundingInterestLongThe interest calculated from CFDs. ((base rate + interest spread) X nominal). A Positive value means the money being paid by the Client to the CH and a Negative value means the money being paid by the CH to the Client

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

10dividendPaymentLongThis is calculated from the dividend neutrals journal transactions. A Positive value interprets as money being paid by the Client to the CH and a Negative value means the money being paid by the CH to the Client

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

11totalBookingFeesLongTotal booking fees excluding VAT. A Positive value means the money being paid by the Client to the CH

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

12totalBookingFeesVATLongTotal VAT for booking fees

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

13initialMarginLongInitial Margin. This value will always be Positive

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

14previousInitialMarginLongPrevious Business Day Initial Margin. This value will always be Positive

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

15totalInterestAmountOnCashCollateralLongInterest amount earned on cash collateral for ZAR. A Negative value means the money being paid by the CH to the Client

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

16fxDailyAccountSummaryDetailsFxDailyAccountSummaryDetails [] The daily account summary details for FX currencies.
17totalMember_CF_FxCashLongThe total FX Collateral Cash registered (in ZAR value) for the current day. This value will always be Positive

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

18totalMember_BF_FxCashLongThe total FX Collateral Cash registered (in ZAR value) for the previous day. This value will always be Positive

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

19additionalMarginMovementsLongAdditional Margin Movements (from yesterday). This value can be Positive if the current AM exceeds the previous AM; negative if it is the other way around

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

20totalMember_Cash_MovementLongThe total ZAR Collateral Cash movement balance per member (TM + Client), i.e. C/F (today) Cash Collateral - B/F (previous days) Cash Collateral = Total Cash movement. This value is calculated the same way as initialMarginMovementCash. This value is positive if the current cash collateral exceeds the previous cash collateral and negative if it is the other way around.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

21totalMember_FxCash_MovementLongThe total FX Collateral Cash registered (in ZAR value) Movement. This value is positive if the current FX collateral exceeds the previous FX collateral and negative if it is the other way around

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

22totalMember_Sec_MovementLongThe total Collateral Security movement balance per member (TM + Client), i.e. C/F (today) Collateral Securities - B/F (previous days) Collateral Securities = Securities movement. This value is calculated the same way as initialMarginMovementCash. This value is Positive if the current securities collateral exceeds the previous securities collateral; negative if it is the other way around.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

23totalZARCashMovementLongSum of all ZAR movements for the Member: Net Amount from other system + Member Cash Collateral Movement + Clients Cash Collateral Movement + Member VM + Clients VM + Net Booking Fees including VAT + Risk Fees including VAT + Commissions + Funding interest + Dividend payment + Interest amount on Cash Collateral. A Positive value means the money being paid by the Client to the CH and a Negative value means the money being paid by the CH to the Client

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

24commissionLongSum of all commissions with status New. A Positive value means the money being paid by the Client to the CH and a Negative value means the money being paid by the CH to the Client

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

25totalRiskFeesLongTotal risk fees excluding VAT. A Positive value means the money being paid by the Client to the CH and A Negative value means the money being paid by the CH to the Client

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

26totalRiskFeesVATLongTotal VAT for risk fees

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

27registeredSecuritiesAmountLongMarket Value of the positions in security collateral in ZAR (market value of the security collateral position). This value will always be Positive

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.


Message: CollateralPositionValue

Message ID: 10290

Type: Event Messages

This message can only appear as a sub-object in other messages; it can never be used as a stand-alone message.

Description: Collateral position values before and after haircut.

Field no. Field name (tag) Mand. Type (max length) Comment
2isCashbooleanTrue if it is a cash position.
3quantitylongThe collateral position quantity.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

4marketValuelongMarket value of the collateral position.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

5valueAfterHaircutlongCollateral position value after applying haircut and maximum amount. The haircut and maximum amount are taken from the EligibleSecurity list or EligibleCurrency object.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

6externalInstrumentIdStringThe JSE Master ID of the collateral security, or the currency if the collateral position is in ZAR or FX. When FX or ZAR is posted, the currency-value (USD, EUR, GBP, ZAR) will be populated in the externalInstrumentId field.When securities are pledged, the equity’s InstrumentMasterID will be populated in the externalInstrumentId field.
7pricelongPrice of the collateral position.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

8haircutlongHaircut of the collateral position.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.


Message: FxDailyAccountSummaryDetails

Message ID: 10376

Type: Event Messages

This message can only appear as a sub-object in other messages; it can never be used as a stand-alone message.

Description: FX part of the daily account summary.

Field no. Field name (tag) Mand. Type (max length) Comment
1currencyCodeStringThe Currency Code, ISO 4217 alphabetic Code. Example: USD
2interestRateOnCashCollateralLongInterest rate for the currency.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.INTEREST.

3interestAmountOnCashCollateralLongInterest amount for the currency.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

4cashCollateralMovementLongTotal movement in Cash Collateral for the current day that will be settled in the given currency

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

5fxCollateralQtyLongFX Collateral position quantity (in FX currency). This value will always be Positive

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

6fxMarketValueLongFX collateral position market value (in ZAR). This is the value before haircut: qty * price. This value will always be Positive

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

7fxCollateralValueLongFX collateral value (in ZAR). This is the value calculated during the collateral process (using haircut%, max value). This value will always be Positive

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.


Message: NotionalValue

Message ID: 10289

Type: Event Messages

This message can only appear as a sub-object in other messages; it can never be used as a stand-alone message.

Description: Object to hold notional values per underlying.

Field no. Field name (tag) Mand. Type (max length) Comment
2netNotionalValuelongThe net notional exposure of the specified underlying instrument. The Net Notional Exposure per Underlying is defined as the aggregated notional exposure (with sign) of all positions in tradable instruments with the same underlying spot.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

3grossNotionalValuelongThe gross notional exposure of the specified underlying instrument. Gross is defined as the sum of the absolute notional exposure per position in instruments with the same underlying spot.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

4externalInstrumentIdStringThe external instrument id. This is the JSE Master ID.
5liquidationPeriodlongThe calculated liquidation period.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.


Message: RtcTradeExternalData

Message ID: 10085

Type: Event Messages

This message can only appear as a sub-object in other messages; it can never be used as a stand-alone message.

Description: RtcTradeExternalData contains trade attributes specific for this configuration of RTC.

Field no. Field name (tag) Mand. Type (max length) Comment
10tradingSystemMatchIdStringA system set identifier of the matched trade that was used to enter this trade into the system.
11tradingSystemLinkIdStringA system set identifier of the matched trade that was used to enter this trade into the system.
12aggressorBooleanAggressor from Trading System.
13capacityIntegerCapacity from Trading System.

Allowed values: see constant group Capacity

14tradeTypeStringTrade Type from Trading System.

Allowed values: see constant group RtcTradeType

15tradingSystemTradeHalfIdStringA system set identifier of the trade half from the external trading system.
16clientOrderIdStringReference to an order in the trading system.
17outsidePriceBandbooleanFlag to indicate that the trade price is outside price band. Used both on trades from trading system and on trades created in Deal Management.
18zeroFeeFlagbooleanFlag to indicate that the trade is marked for zero fee.
19timeOfEntryStringTimestamp from Trading System. Format 2014-11-18 13:24:21.
20tradingUserStringThe dealer in the trading system.
21onBookQuantityLongQuantity from trading system for on-book trades. 0 if trade is Off-book. Kept on each side and not changed after trade management unless for accumulations. When an accumulated trade is partly allocated, on-book and off-book quantities are no longer maintained.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

22offBookQuantityLongQuantity from trading system for reported trades. 0 if trade is On-book. Kept on each side and not changed after trade management unless for accumulations. When an accumulated trade is partly allocated, on-book and off-book quantities are no longer maintained.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

23originalTradingSystemMatchIdStringRefers to the original trade. Only used when receiving cancelled trades from the trading system.
24agreedTimeStringTime agreed between TM1 and TM2. Only applicable for reported trades. The format is yyyyMMdd-HH:mm:ss.fff.
25reportedTimeStringThe time the reported trade was received on the trading system (system generated). The format is yyyyMMdd-HH:mm:ss.fff.
26optionDeltaLongOption delta from the trading system. Valid for Options.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

27firmTradeIdStringFree text field carried from the trading system for off book trades.
28tradeReportIdStringFree text field carried from the trading system for on and off book trades.

Message: Trade

Message ID: 10015

Type: Event Messages

This message can only appear as a sub-object in other messages; it can never be used as a stand-alone message.

Description: This class represents a Trade, i.e. one side of a Matched Trade: the buyer's or the seller's.

Field no. Field name (tag) Mand. Type (max length) Comment
1tradeIdlongTrade id. Internal RTC trade Half ID.
2accountIdlongAccount id. Internal RTC ID.
4dealIdlongInternal RTC ID for both sides of a matched trade.
6priceBigIntegerPrice.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

7tradeTimestampStringThe time the trade occurred. The format is yyyy-MM-ddTHH:mm:ss.SSS.
10isBuybooleanTo identify whether buy or sell trade
11tradeBusinessDateStringThe business date the trade occurred. The format is yyyy-MM-dd.
12originalQuantityBigIntegerOriginal quantity of the trade.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

13remainingQuantityBigIntegerRemaining quantity of the trade after allocation(if any).

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

14tradeExternalDataRtcTradeExternalDataExternal information on trade from Trading System.
15nextTradeIdslong [] List of forward referenced trade IDs
16previousTradeIdslong [] List of backward referenced trade IDs
17activeQuantityBigIntegerActive quantity of the trade after allocation (if any).

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

18externalMatchedTradeIdStringTrade ID set by the client entering the trade into the clearing system.
19reservedQuantityBigIntegerReserved quantity for assign operation (if any).

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

21initialValueBigIntegerValue of the trade

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

22interestRateSpreadBigIntegerInterest Rate Spread for trade if CFD.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

23externalInstrumentIdStringThe external instrument id. This is the JSE Master ID.
24referenceStringThe reference supplied with the trade.

External Members

Message: CmBalancing1Event

Message ID: 10411

Type: External Members

Description: Account balancing 1 message to the Clearing Member.

Field no. Field name (tag) Mand. Type (max length) Comment
1sequenceNumberlongThe sequence number is a unique number for all events published for the same flow.
4subscriptionGroupintThe id of the subscriptionGroup the message is published on.
6clearingMemberStringClearing Member ID.
7businessDateStringBusiness date which have generated the various payments. Note it is not the actual payment date, which happens at the business day after. The format is yyyy-MM-dd.
8settlementDateStringDate when the payment is due. The format is yyyy-MM-dd.
9balancesMemberBalance1 [] List of balances for the clearing member or trading member. The totals for all TMs clearing through the CM are available under the CM ID.

Message: CmBalancing2Event

Message ID: 10413

Type: External Members

Description: Account balancing 2 message to CM.

Field no. Field name (tag) Mand. Type (max length) Comment
1sequenceNumberlongThe sequence number is a unique number for all events published for the same flow.
4subscriptionGroupintThe id of the subscriptionGroup the message is published on.
6clearingMemberStringClearing Member ID.
7businessDateStringBusiness date which have generated the various payments. Note it is not the actual payment date, which happens at the business day after. The format is yyyy-MM-dd.
8settlementDateStringDate when the payment is due. The format is yyyy-MM-dd.
9interestRatesFxInterestRate [] Interest rates used for the day for interest on cash collateral calculations.
10balancesMemberBalance2 [] List of balances for the clearing member or trading member. The totals for all TMs clearing through the CM are available under the CM ID.

Message: GiveUpEvent

Message ID: 10124

Type: External Members

Description: This event is for Assign and Tripartite flow from RTC.

Field no. Field name (tag) Mand. Type (max length) Comment
1sequenceNumberlongThe sequence number is a unique number for all events published for the same flow.
5fourEyesIdlongThe ID of the Assign or Tripartite.
6initiatorStringThe initiator of the request. This is used to identify the initiator side.
7stateintThe current state of the operation.

Allowed values: see constant group FourEyesState

8tradeIdlongTrade id.
9fromAccountIdLongThe current account for the Trade. This is used to identify the receiver side. It is not set for the receiver when the take-up request arrives. (It is set by receiver upon Approval).
11quantityLongThe trade quantity.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

13referenceStringAn optional free text field.
14acknowledgerStringThe destination member Id.
17timeInitiatedStringTime the action was initiated
18timeCompleteStringTime the action was completed
19timeCancelledStringTime the action was cancelled
23clientStringThe destination client Id. Applicable for tripartite allocation only
24subscriptionGroupintThe id of the subscription group the message is published on.
25priceLongThe trade price.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

26externalInstrumentIdrequiredStringThe external instrument id. This is the JSE Master ID.
28isBuyBooleanTrue if this trade is a buy trade, false if it is a sell trade.

Message: ReadyConfirmAvailableFXEvent

Message ID: 10377

Type: External Members

Description: Event published to the CMs to inform that RTC is ready to receive information about FX collateral.

Field no. Field name (tag) Mand. Type (max length) Comment
1sequenceNumberlongThe sequence number is a unique number for all events published for the same flow.
4subscriptionGroupintThe id of the subscriptionGroup the message is published on.

Trade Management Messages

Message: AbandonOptionPositionReq

Message ID: 10188

Type: Trade Management Messages

Description: Abandon an option position.

Field no. Field name (tag) Mand. Type (max length) Comment
2accountIdrequiredlongThe account of the position.
3quantityrequiredLongThe abandon quantity.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

5externalInstrumentIdrequiredStringThe external instrument id. This is the JSE Master ID.
6updateIdrequiredStringUnique id that should be set for the request. If the system has already processed an update with this id, a success message is returned without any position change.

This request will normally return a response of type AbandonOptionPositionRsp .


Message: AbandonOptionPositionRsp

Message ID: 10189

Type: Trade Management Messages

Description: Response to the AbandonOptionPositionReq request.

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
3subCodeint [] Status code for each leg of the request. Only used for batched requests.
6tradeIdsLong [] The IDs of the trades that were created as part of this abandon of an option position.
7transactionIdlongThe ID of the transaction that updated the positions affected by this abandon of an option position.

Message: AddCommissionReq

Message ID: 10515

Type: Trade Management Messages

Description: Request to add a Commission

Field no. Field name (tag) Mand. Type (max length) Comment
2marketrequiredStringMarket.
3initiatingTMrequiredStringTM or Branch that sent the commission.
4destinationTMrequiredStringTM or Branch that will carry the payment.
5clientReferenceStringPayer of the commission. Refer to EMAPI Clearing document, Commission Management section for guidance on the population of this field based on the various trade and deal management scenarios.
6commissionReferenceStringIdentifier of trade or deal associated with the commission. Refer to EMAPI Clearing document, Commission Management section for guidance on the population of this field based on the various trade and deal management scenarios.
7amountrequiredLongAmount to debit the destination TM.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.DECIMAL.

8updateIdrequiredStringUnique id that should be set for the commission request. If the system has already processed an update with this id, a success message is returned without any position change.

This request will normally return a response of type ResponseMessage .


Message: AggregateTradesReq

Message ID: 10049

Type: Trade Management Messages

Description: A number of trades can be accumulated into a single trade with a volume weighted average price. The trades need to be on the same account, the same contract and the same side (only buy or only sell) from current day.

Field no. Field name (tag) Mand. Type (max length) Comment
2moveIdLongMust be unique for the referenced trade. Used to prevent duplicate move requests.
3tradeIdsrequiredlong [] Trade ids.
5referenceStringAn optional free text field.
6destinationReferenceStringThe destination for this operation.
8accountIdrequiredlongThe account id for the trades.
9externalInstrumentIdrequiredStringThe external instrument id. This is the JSE Master ID.
10tradingUserIdrequiredStringThe trading user id.

This request will normally return a response of type AggregateTradesRsp .


Message: AggregateTradesRsp

Message ID: 10050

Type: Trade Management Messages

Description: Response to the AggregateTrades request.

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
3subCodeint [] Status code for each leg of the request. Only used for batched requests.
6tradeIdLongThe IDs of the trade that were created as part of this move trade operation.
7transactionIdlongThe ID of the transaction that updated the positions affected by this move trade operation.

Message: AllocateTradeReq

Message ID: 10104

Type: Trade Management Messages

Description: The purpose of trade allocation is to allocate or split a trade from one account to an another account. Allocation is performed by making an opposite trade on the original account and an equal trade on the receiving account.

Field no. Field name (tag) Mand. Type (max length) Comment
2tradeIdrequiredlongTrade id.
3fromAccountIdrequiredlongThe account to allocate the Trade from
6destinationsrequiredTradeDestination [] One or more destinations for this move operation.
7moveIdLongMust be unique for the referenced trade. Used to prevent duplicate move trade requests.
8externalInstrumentIdrequiredStringThe external instrument id. This is the JSE Master ID.
9tradingUserIdrequiredStringThe trading user id.

This request will normally return a response of type AllocateTradeRsp .


Message: AllocateTradeRsp

Message ID: 10105

Type: Trade Management Messages

Description: Response to the AllocateTradeReq request.

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
3subCodeint [] Status code for each leg of the request. Only used for batched requests.
6tradeIdsLong [] The IDs of the trades that were created as part of this move trade operation.
7transactionIdlongThe ID of the transaction that updated the positions affected by this move trade operation.

Message: ApproveGiveUpReq

Message ID: 10130

Type: Trade Management Messages

Description: Request to approve give-up request. The give-up request has been published to the member using GiveUpEvent.

Field no. Field name (tag) Mand. Type (max length) Comment
2fourEyesIdrequiredlongThe ID of the Assign or Tripartite.
3initiatorrequiredStringThe initiator member Id.
4acknowledgerrequiredStringThe destination member Id.
5clientStringThe destination client Id.
8destinationsrequiredTradeDestination [] One or more destinations for this move operation.
11externalInstrumentIdrequiredStringThe external instrument id. This is the JSE Master ID.
12tradingUserIdrequiredStringThe trading user id.

This request will normally return a response of type ResponseMessage .


Message: AssignTradeReq

Message ID: 10114

Type: Trade Management Messages

Description: Request to assign trade to another member.

Field no. Field name (tag) Mand. Type (max length) Comment
2tradeIdrequiredlongTrade id.
3fromAccountIdrequiredlongThe current account for the Trade.
6referenceStringAn optional free text field.
8quantityrequiredLongThe trade quantity.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

9acknowledgerrequiredStringThe destination member Id.
10moveIdLongMust be unique for the referenced trade. Used to prevent duplicate move requests.
14externalInstrumentIdrequiredStringThe external instrument id. This is the JSE Master ID.
15tradingUserIdrequiredStringThe trading user id.

This request will normally return a response of type ResponseMessage .


Message: CancelCommissionReq

Message ID: 10516

Type: Trade Management Messages

Description: Request for TM to cancel a commission that has been sent earlier the same day.

Field no. Field name (tag) Mand. Type (max length) Comment
2commissionIdrequiredStringId of the Commission.
3cancellationReferenceStringOptional reference that can be supplied at cancellation or rejection requests.

This request will normally return a response of type ResponseMessage .


Message: CancelGiveUpReq

Message ID: 10128

Type: Trade Management Messages

Description: Request to cancel giveup request by the initator. The recipient of the GiveUpEvent will then be notified with a new GiveUpEvent where the state is set to CANCELLED.

Field no. Field name (tag) Mand. Type (max length) Comment
2fourEyesIdrequiredlongThe ID of the Assign or Tripartite.
3initiatorrequiredStringThe initiator member Id.
4acknowledgerrequiredStringThe destination member Id.
5reasonStringAn optional free text field.
7externalInstrumentIdrequiredStringThe external instrument id. This is the JSE Master ID.

This request will normally return a response of type ResponseMessage .


Message: CorrectAllocationErrorReq

Message ID: 10108

Type: Trade Management Messages

Description: To correct when a trade has erroneously been allocated to wrong client, i.e. to move the trade from one client to another.

Field no. Field name (tag) Mand. Type (max length) Comment
2tradeIdrequiredlongTrade id.
3fromAccountIdrequiredlongThe current account for the Trade.
5referenceStringAn optional free text field.
6toAccountIdrequiredlongThe new account for the Trade.
7moveIdLongMust be unique for the referenced trade. Used to prevent duplicate move trade requests.
8externalInstrumentIdrequiredStringThe external instrument id. This is the JSE Master ID.
9tradingUserIdrequiredStringThe trading user id.

This request will normally return a response of type CorrectAllocationErrorRsp .


Message: CorrectAllocationErrorRsp

Message ID: 10109

Type: Trade Management Messages

Description: Response to the AllocateTradeReq request.

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
3subCodeint [] Status code for each leg of the request. Only used for batched requests.
6tradeIdsLong [] The IDs of the trades that were created as part of this move trade operation.
7transactionIdlongThe ID of the transaction that updated the positions affected by this move trade operation.

Message: CorrectPrincipalReq

Message ID: 10110

Type: Trade Management Messages

Description: To move a trade from a client account to a member main or sub account.

Field no. Field name (tag) Mand. Type (max length) Comment
2tradeIdrequiredlongTrade id.
3fromAccountIdrequiredlongThe current account for the Trade.
5referenceStringAn optional free text field.
6toAccountIdrequiredlongThe new account for the Trade.
7moveIdLongMust be unique for the referenced trade. Used to prevent duplicate move trade requests.
8externalInstrumentIdrequiredStringThe external instrument id. This is the JSE Master ID.
9tradingUserIdrequiredStringThe trading user id.

This request will normally return a response of type CorrectPrincipalRsp .


Message: CorrectPrincipalRsp

Message ID: 10111

Type: Trade Management Messages

Description: Response to the CorrectPrincipalReq request.

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
3subCodeint [] Status code for each leg of the request. Only used for batched requests.
6tradeIdsLong [] The IDs of the trades that were created as part of this move trade operation.
7transactionIdlongThe ID of the transaction that updated the positions affected by this move trade operation.

Message: ExerciseOptionPositionReq

Message ID: 10186

Type: Trade Management Messages

Description: Exercise an option position. For American style options, this is allowed at any time during the contract’s lifetime. For European style options, this can only be done on the expiry day.

Field no. Field name (tag) Mand. Type (max length) Comment
2accountIdrequiredlongThe account of the position.
3quantityrequiredLongThe exercise quantity.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

5externalInstrumentIdrequiredStringThe external instrument id. This is the JSE Master ID.
6updateIdrequiredStringUnique id that should be set for the request. If the system has already processed an update with this id, a success message is returned without any position change.

This request will normally return a response of type ExerciseOptionPositionRsp .


Message: ExerciseOptionPositionRsp

Message ID: 10187

Type: Trade Management Messages

Description: Response to the ExerciseOptionPositionReq request.

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
3subCodeint [] Status code for each leg of the request. Only used for batched requests.
6tradeIdsLong [] The IDs of the trades that were created as part of this exercise of an option position.
7transactionIdlongThe ID of the transaction that updated the positions affected by this exercise of an option position.

Message: ModifyPositionSubAccountReq

Message ID: 10112

Type: Trade Management Messages

Description: Request to move a position from a house main/house sub/house suspense/client suspense account to a house main or house sub account, or move a position from branch main/branch sub/branch clients suspense account to a branch main or branch sub account.

Field no. Field name (tag) Mand. Type (max length) Comment
2fromAccountIdrequiredlongThe current account for the position.
3quantityrequiredLongThe quantity to move.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

5referenceStringAn optional free text field.
6toAccountIdrequiredlongThe new account for the position.
7moveIdLongMust be unique for the referenced trade. Used to prevent duplicate move requests.
9externalInstrumentIdrequiredStringThe external instrument id. This is the JSE Master ID.
10tradingUserIdrequiredStringThe trading user id.
11priceBigIntegerOptional price to be used for the created trades. If no price, EoD settlement price from the previous business day for the instrument is used.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

This request will normally return a response of type ModifyPositionSubAccountRsp .


Message: ModifyPositionSubAccountRsp

Message ID: 10113

Type: Trade Management Messages

Description: Response to the ModifyPositionSubAccountReq request.

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
3subCodeint [] Status code for each leg of the request. Only used for batched requests.
6tradeIdsLong [] The IDs of the trades that were created as part of this move trade operation.
7transactionIdlongThe ID of the transaction that updated the positions affected by this move trade operation.

Message: ModifyTradeSubAccountReq

Message ID: 10148

Type: Trade Management Messages

Description: To move a trade from house account to other house accounts.

Field no. Field name (tag) Mand. Type (max length) Comment
2tradeIdrequiredlongTrade id.
3moveIdLongMust be unique for the referenced trade. Used to prevent duplicate move trade requests.
4fromAccountIdrequiredlongThe account to allocate the Trade from
7destinationsrequiredTradeDestination [] One or more destinations for this move operation.
8externalInstrumentIdrequiredStringThe external instrument id. This is the JSE Master ID.
9tradingUserIdrequiredStringThe trading user id.

This request will normally return a response of type ModifyTradeSubAccountRsp .


Message: ModifyTradeSubAccountRsp

Message ID: 10149

Type: Trade Management Messages

Description: Response to the ModifyTradeSubAccountReq request.

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
3subCodeint [] Status code for each leg of the request. Only used for batched requests.
6tradeIdsLong [] The IDs of the trades that were created as part of this move trade operation.
7transactionIdlongThe ID of the transaction that updated the positions affected by this move trade operation.

Message: QueryTradesReq

Message ID: 10258

Type: Trade Management Messages

Description: Query trades from previous days. If the flag hasMore is set in the response, there are too many trades matching the search criteria. The client needs to specify narrower criteria and submit the query again.

Field no. Field name (tag) Mand. Type (max length) Comment
2tradeBusinessDateFromrequiredStringQuery trades from date. Can be current or previous business day. The format is yyyy-MM-dd.
3tradeBusinessDateToStringQuery trades to date. The format is yyyy-MM-dd.
4tradeTimeFromStringQuery trades from time. The format is yyyy-MM-ddTHH:mm:ss.SSS.
5tradeTimeToStringQuery trades to time. The format is yyyy-MM-ddTHH:mm:ss.SSS.
6clearingMemberIdStringQuery trades with Clearing Member. If requested by a CM user then mandatory, needs to be set to the same CM as the logged in user.
7tradingMemberStringQuery trades with Trading Member. If requested by TM user then mandatory, needs to be set to the same TM as the TM of the logged in user.
8tradingMemberBranchStringQuery trades with branch. If requested by Branch user then mandatory, needs to be set to the same Branch as the Branch of the logged in user.
9clientIdStringQuery trades with client.
10internalAccountIdLongQuery trades with account. If Client specified: need to be an account of the client. If Branch but not Client specified: needs to be a house account of the Branch. If TM but not Branch or Client specified: needs to be a house account of the TM.
11tradingUserStringQuery trades with Trading User.
12internalTradableInstrumentIdLongQuery trades with Tradable Instrument.
13alphaCodeStringQuery trades with Alpha Code.
14previousTradeIdsStringQuery trades with Previous Trade Ids.
15nextTradeIdsStringQuery trades with Next Trade Ids.
16tradingSystemMatchIdStringQuery trades with Trade Id.
17tradingSystemTradeLinkIdStringQuery trades with Trade Link Id.
18dealIdLongQuery trades with internal Deal Id.
19tradeIdLongQuery trades with internal Trade Id.
20externalInstrumentIdStringQuery trades with Tradable Instrument. This is the JSE Master ID.

This request will normally return a response of type QueryTradesRsp .


Message: QueryTradesRsp

Message ID: 10259

Type: Trade Management Messages

Description: Query trades response.

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
3subCodeint [] Status code for each leg of the request. Only used for batched requests.
6tradesTradeRes [] Trades
7hasMorebooleanA flag indicating whether or not the response was truncated by the server

Message: RejectCommissionReq

Message ID: 10517

Type: Trade Management Messages

Description: Request for the Destination TM to reject a received commission.

Field no. Field name (tag) Mand. Type (max length) Comment
2commissionIdrequiredStringId of the Commission.
3cancellationReferenceStringOptional reference that can be supplied at cancellation or rejection requests.

This request will normally return a response of type ResponseMessage .


Message: RejectGiveUpReq

Message ID: 10132

Type: Trade Management Messages

Description: Reject assigned or tripartite trade as receiver. The initiator will be notified by a GiveUpEvent on the GiveUp Event Flow.

Field no. Field name (tag) Mand. Type (max length) Comment
2fourEyesIdrequiredlongThe ID of the Assign or Tripartite.
3initiatorrequiredStringThe initiator member Id.
4acknowledgerrequiredStringThe destination member Id.
5reasonStringAn optional free text field.
7externalInstrumentIdrequiredStringThe external instrument id. This is the JSE Master ID.

This request will normally return a response of type ResponseMessage .


Message: TripartiteAllocationReq

Message ID: 10134

Type: Trade Management Messages

Description: Tripartite allocation to another member. Tripartite agreement must exist. Tripartite requests that are not handled during the day are removed by the system.

Field no. Field name (tag) Mand. Type (max length) Comment
2tradeIdrequiredlongTrade id.
3fromAccountIdrequiredlongThe current account for the Trade.
5quantityrequiredLongThe trade quantity.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

6referenceStringAn optional free text field.
7acknowledgerrequiredStringThe destination member Id.
8clientrequiredStringThe destination client Id.
11moveIdLongMust be unique for the referenced trade. Used to prevent duplicate move requests.
14externalInstrumentIdrequiredStringThe external instrument id. This is the JSE Master ID.
15tradingUserIdrequiredStringThe trading user id.

This request will normally return a response of type TripartiteAllocationRsp .


Message: TripartiteAllocationRsp

Message ID: 10135

Type: Trade Management Messages

Description: Response to the TripartiteAllocationReq request.

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
3subCodeint [] Status code for each leg of the request. Only used for batched requests.

Trade Management Messages (Internal)

Message: TradeDestination

Message ID: 10018

Type: Trade Management Messages

This message can only appear as a sub-object in other messages; it can never be used as a stand-alone message.

Description: This object describes on which account a trade should be booked and at what quantity.

Field no. Field name (tag) Mand. Type (max length) Comment
1accountIdrequiredlongThe account to book a Trade to.
2quantityrequiredBigIntegerThe quantity to book in the account.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

3referenceStringAn optional free text field.

Message: TradeRes

Message ID: 10260

Type: Trade Management Messages

This message can only appear as a sub-object in other messages; it can never be used as a stand-alone message.

Description: Trade resulted from query in history.

Field no. Field name (tag) Mand. Type (max length) Comment
1tradeIdlongInternal identifier for a trade created by the clearing system. Updates of a trade (if supported) should keep the same TradeId. Unique over time.
2origTradeIdLongUsed to preserve the original trade id when original trade is being referenced in a subsequent trade transaction such as a transfer. For example when moving a trade this refers to the previous trade id. It works for moved/allocated trades as long as the new trade only consist of quantity from one trade. It does not work for aggregations since those trades comes from multiple trades. In case a trade is moved in multiple steps origTradeID points to the previous trade and not the initial trade.
3initialTradeIdLongIf there has been multiple moves this points to the initial trade.
8businessDateStringBusiness date of the transaction according. The format is yyyy-MM-dd.
9tradeDateStringThe trade date of the trade. The format is yyyy-MM-dd.
10dealIdLongInternal identifier for linking the trade to a deal.
11clientDealIdStringReference to the deal id specified by the client.
12clOrdIdStringA optional reference set by the trading member to backtrack the trade to an order at the trading venue
14originalQuantityBigIntegerThe original quantity on the trade, differs from LastQty if quantity has been moved from/to the trade after entering it

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

15activeQuantityBigIntegerThe current active quantity of the trade

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

16reservedQuantityBigIntegerThe current reserved quantity of the trade

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

17remainingQuantityBigIntegerThe current remaining quantity of the trade

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

18priceBigIntegerPrice of the trade.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

19originalPriceBigIntegerPrice of the original trade. Needed for audit since price might be modified in trade management.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

20currencyStringThe currency of LastPx, either add it to the trade or take it from the instrument.
21previousTradeIdsStringComma separated list of trade ids.
22nextTradeIdsStringComma separated list of trade ids.
23textStringOptional free text field from the reference of the original trade.
24initialValueBigIntegerInitial value of the trade (price*qty*contract size)

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

25tradeTimestampStringTrade time according to the clearing system. The format is yyyy-MM-ddTHH:mm:ss.SSS.
28lastMktStringMarket of the trade. Internally set in case of trade management operations.
29positionReasonIntegerContains all different types of event reasons also for all trade management reasons. Can be used for billing and surveillance purpose.

Allowed values: see constant group PositionReason

30isBuybooleanSide of trade (buy/sell)
31traderStringID of the trader of this trade. For new trades caused by deal management it should be the id of the user doing the operation. In case of updating updating the trade (moving qty for example) the trader should remain as the original trader, i.e. this attribute should never be updated once created. The user from the position will state who caused the event, i.e. the user triggering the action.
33underlyingSymbolStringHuman readable representation of the underlying instrument
34contractSizeBigIntegerSize of contract

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

35instrumentTypeStringType of instrument according to system
36instrumentCurrencyStringCurrency of the instrument.
37marketListStringName of the market list
38marketSegmentStringName of the market segment
39marketStringName of the market
40accountIdlongUnique identifier of the account for trade.
42accountTypeStringThe type of account for the trade. References name to constant PositionAccountType.
43accountSubTypeStringThe sub type of account for the trade. References name to constant PositionAccountSubType.
44clearingMemberStringThe clearing member for this trade
45tradingMemberStringThe member who owns this trade
46tmBranchStringTrading member branch if applicable
47clientStringClient ID if applicable
48callPutStringIf this is an option, it represents its type (call or put)
49strikeBigIntegerThe strike price of the instrument if it is an option. Null otherwise

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

50expirationDateStringThe expiry date of the instrument
51alphaCodeStringCommon identifier code for derivative instruments
52tsTradingMatchIdStringTrading Id from the Trading System
53tsTradingLinkIdStringTrading Link Id from the Trading System
54clientTypeStringFor clients only - type of client. Information to surveillance.

Allowed values: see constant group ClientType

55idNumberLongFor clients only - ID number.
56passportNumberStringFor clients only - Passport number.
57companyRegistrationNumberStringFor clients only - Company registration number.
58isProfessionalBooleanFor clients only - Information to surveillance.
59isShariahBooleanFor clients only - Information to surveillance.
60externalInstrumentIdStringThe external instrument id. This is the JSE Master ID.
61timeOfEntryStringTrade time according to the Trading system. The format is yyyy-MM-ddTHH:mm:ss.SSS.
62clientNameStringClient Name if applicable
63tsTradingHalfIdStringTrading Half Id from the Trading System
64isStaffBooleanFor clients only - Information to surveillance.
65isBeneficialBooleanFor clients only - Information to surveillance.
66isDiscretionaryBooleanFor clients only - Information to surveillance.
67aggressorBooleanAggressor from Trading System.
68capacityIntegerCapacity from Trading System.

Allowed values: see constant group Capacity

69onBookQuantityLongThe On Book Quantity. One unit of the currency is expressed by DIVISOR.QTY. This field represents a decimal value. The value of the field is the decimal value multiplied by the constant DIVISOR.QTY. Example: The value "12.50" is represented as 12500000 in this field.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

70offBookQuantityLongThe Off Book Quantity. One unit of the currency is expressed by DIVISOR.QTY. This field represents a decimal value. The value of the field is the decimal value multiplied by the constant DIVISOR.QTY. Example: The value "12.50" is represented as 12500000 in this field.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

71tradeTypeStringTrade Type from Trading System.

Allowed values: see constant group RtcTradeType

72zeroFeeFlagbooleanFlag to indicate that the trade is marked for zero fee.
73interestRateSpreadLongRate added to base rate on a CFD to get the Funding rate. Numeric, positive or negative. The value "2.0%" is represented as 2000000 in this field. Mandatory if the type of the instrument is CFD.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

74isinStringISIN code
75shortNameStringThe user friendly name the tradable instrument. Is not unique.
76instrumentSubTypeStringJSE Instrument Type.
77inwardListedbooleanInward Listed according to the South African Reserve Bank.
78baseRateStringThe base rate name for a CFD.
79tradingUserStringID of the trader of this trade. Carried from the trading system. Also known as dealer.For new trades caused by deal management it should be the id of the user doing the operation. In case of updating updating the trade (moving qty for example) the trader should remain as the original trader, i.e. this attribute should never be updated once created. The user from the position will state who caused the event, i.e. the user triggering the action.
80externalPositionAccountStringExternal ID of the position account. CM/TM link table is used to find the right risk tree.
81participantUnitIdStringThe owner of the account in the member structure. This is the ID of the lowest applicable level in the TM/Branch/Client member structure. Contains the Client ID for client accounts.
82vatRegistrationNumberStringThe VAT Registration number. If the same legal Client is using several TMs, each TM will manage their own instance of the Client. The different instances of the Client in the system will then share the same VAT Registration Number.
83isNonResidentbooleanIndication of the Client is resident of South Africa or not. If Country Code is ZA, the Client must be Resident. If Country Code is not ZA, the Client must be Non Resident.
84addressStringAddress of the client.
85countryStringRegistered Country for client.
86bdaCodeIntegerBroker Dealer Accounting system (BDA) account number.
89assetClassStringAsset Class

Allowed values: see constant group AssetClass

90assetSubClassStringAsset Sub Class

Allowed values: see constant group AssetSubClass

91referenceStringReference field that can be used by user during trade management activities
92agreedTimeStringTime agreed between TM1 and TM2. Only applicable for reported trades. The format is yyyyMMdd-HH:mm:ss.fff.
93reportedTimeStringThe time the reported trade was received on the trading system (system generated). yyyyMMdd-HH:mm:ss.fff.
94fromTradeIdLongTrade ID of original trade in case this tarde is created from a trade management activity.
95fromTradeTimeStringThe time new trades are created or the time a trade management activity is accepted.
96fromRemainingQuantityBigIntegerThe quantity moved to this trade

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.QTY.

97fromTMStringThe TM of the From trade. Will be different from the TM for assigns and tripartite.
98fromBranchStringThe Branch of the From trade.
99fromCMStringThe CM of the From trade.
100fromAccountLongThe account ID of the From trade
101fromAccountTypeStringAccount Type of the From trade. References name to constant PositionAccountType.
102fromAccountSubTypeStringAccount Sub Type of the From trade. References name to constant PositionAccountSubType.
103fromAccountOwnerStringThe owner of the account in the member structure. This is the ID of the lowest applicable level in the TM/Branch/Client member structure. Contains the Client ID for client accounts.
104fromClientNameStringThe name of the to client for the From trade
105fromClientTypeStringType of client. Used mainly for surveillance when creating reports.

Allowed values: see constant group ClientType

107fromIsStaffbooleanTrue for Staff clients, for the From Trade.
108fromIsBeneficialbooleanTrue for Beneficial Account clients, for the From Trade.
109fromIsProfessionalbooleanTrue for professional clients, for the From Trade.
110fromIsShariahbooleanTrue for Shariah clients, for the From Trade.
111fromIsNonResidentbooleanIndication of the Client is resident of South Africa or not. If Country Code is ZA, the Client must be Resident. If Country Code is not ZA, the Client must be Non Resident, for the From Trade.
112fromBdaCodeIntegerBroker Dealer Accounting system (BDA) account number, for the From trade
113fromIsDiscretionarybooleanTrue for Discretionary clients, for the From Trade.
114clearingMemberNameStringThe long name of the CM.
115tradingMemberNameStringThe long name of the TM.
116branchNameStringThe long name of the Branch.
117clientPhoneStringThe phone number of the Client
118fromExternalPositionAccountStringExternal ID of the position account of the From trade.
119fromTradingUserStringTrading user of the From trade
120fromPositionReasonIntegerPosition reason of the From trade

Allowed values: see constant group PositionReason

121nominatedMemberIdStringMember handling physical delivery
122clientNominatedMemberIdStringMember handling physical delivery for the client.
123optionDeltaBigIntegerOption delta from the trading system. Valid for Options.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

124firmTradeIdStringFree text field carried from the trading system for off book trades.
125tradeReportIdStringFree text field carried from the trading system for on and off book trades.

External Members

Message: GetRiskArrayReq

Message ID: 10270

Type: External Members

Description: Query JSPAN risk arrays available in the system.

Field no. Field name (tag) Mand. Type (max length) Comment
3allInstrumentsbooleanIf true, the values in externalInstrumentIds will be ignored. Risk arrays will be returned for all instruments with risk arrays, but startInstrumentOffset and maxNumberOfInstrumentsReturned are used for paging the response.
4externalInstrumentIdsString [] List of instruments for which risk array will be retrieved. JSE Master IDs.
5startInstrumentOffsetrequiredIntegerOffset of first instrument to include. Starts on zero. This field is used to page the response to avoid overflow.
6maxNumberOfInstrumentsReturnedrequiredIntegerMaximum number of rows in response. Must be 500 or smaller. This field is used to page the response to avoid overflow.

This request will normally return a response of type GetRiskArrayRsp .


Message: GetRiskArrayRsp

Message ID: 10271

Type: External Members

Description: Response to a GetRiskArrayReq request.

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
3subCodeint [] Status code for each leg of the request. Only used for batched requests.
6contractsContract [] Risk arrays for all contracts.

External Members (Internal)

Message: Contract

Message ID: 10272

Type: External Members

This message can only appear as a sub-object in other messages; it can never be used as a stand-alone message.

Description: Risk array information for one contract. Sub-object in GetRiskArrayRsp.

Field no. Field name (tag) Mand. Type (max length) Comment
2businessDateStringBusiness date. Format is YYYY-MM-DD.
3expiryDateStringExpiry date of the contract. Format is YYYY-MM-DD.
4mtmPriceLongMark-to-Market price.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

5strikePriceLongStrike price of option contracts.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

6volatilityLongVolatility of the contract. MTM volatility for options. ATM volatility for futures that has options.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

7riskArrayLong [] Risk array of the contract.
8externalInstrumentIdStringThe external instrument id. This is the JSE Master ID.
9timeStampStringRisk array generation time. The format is "yyyy-MM-ddTHH:mm:ss.SSS".
10condTypeStringPrice condition type.

Allowed values: see constant group CondType


Settlement Messages

Message: ConfirmWithdrawalsReq

Message ID: 10487

Type: Settlement Messages

Description: Used for a Clearing Member to confirm or reject payment advices.

Field no. Field name (tag) Mand. Type (max length) Comment
2confirmedrequiredBooleanTrue if the Payment Advice was confirmeded by the CM, false if it was rejected by the CM.
3withdrawalsrequiredPaymentAdvice [] List of withdrawals that are confirmed or rejected by CM.

This request will normally return a response of type ResponseMessage .


Message: GetPaymentAdvicesReq

Message ID: 10491

Type: Settlement Messages

Description: Get payment advices for a particular clearing member.

Field no. Field name (tag) Mand. Type (max length) Comment
2bookmarkStringThe bookmark marks a specific item in a list of data. The bookmark received in the response should be used in next request to get next page of information.
3clearingMemberStringThe clearing member ID.
4settlementDateStringThe settlement date. The format is yyyy-MM-dd.
5pageSizeIntegerThe preferred page size, this means max number of items in the response. If not set, the default pagesize is used.

This request will normally return a response of type GetPaymentAdvicesRsp .


Message: GetPaymentAdvicesRsp

Message ID: 10492

Type: Settlement Messages

Description: Response to the GetPaymentAdvicesReq request.

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
3subCodeint [] Status code for each leg of the request. Only used for batched requests.
6bookmarkStringThe bookmark marks a specific item in a list of data on the server. The bookmark received in the response should be used in next request to get next page of information.
7paymentAdvicesPaymentAdvice [] The payment advices.

Message: GetSettlementInstructionsReq

Message ID: 10301

Type: Settlement Messages

Description: Request to get settlement instructions.

Field no. Field name (tag) Mand. Type (max length) Comment
2clearingMemberStringThe requested clearing member ID.
3settlementDaterequiredStringThe requested settlement date. The format is yyyy-MM-dd.
4settlementRunIdLongSettlement run id.
5settlementInstructionStateStringInstruction state.

Allowed values: see constant group SettlementInstructionState

6bookmarkStringThe bookmark marks a specific item in a list of data. The bookmark received in the response should be used in next request to get next page of information.

This request will normally return a response of type GetSettlementInstructionsRsp .


Message: GetSettlementInstructionsRsp

Message ID: 10302

Type: Settlement Messages

Description: Response to GetSettlementInstructionsReq.

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
3subCodeint [] Status code for each leg of the request. Only used for batched requests.
6instructionsSettlementInstruction [] Settlement instructions.
7bookmarkStringThe bookmark marks a specific item in a list of data on the server. The bookmark received in the response should be used in next request to get next page of information.

Message: PaymentAdvice

Message ID: 10488

Type: Settlement Messages

Description: An indication that the Clearing Member will deposit additional cash collateral.

Field no. Field name (tag) Mand. Type (max length) Comment
1strateReferenceNorequiredStringThe payment reference generated by the CSD.
2strateCoderequiredStringStrate code for the Client or Trading Member.
3riskNodeIdrequiredlongRisk node ID, RTC internal ID.
4amountrequiredLongThe amount in ZAR that must be called for in cash collateral.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

5currencyrequiredStringThe currency code for the amount field, according to ISO 4217. Normally ZAR.
6settlementAmountLongThe amount in 'settlementCurrency' that must be called for in cash collateral. If the settlementCurrency is not ZAR, this amount has been calculated by RTC using the most recent exchange rate. This field is set by RTC.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

7settlementCurrencyStringThe currency used to settle this withdrawal. Is the preferred currency for the member/client or ZAR if preferred currency is not set. This field is set by RTC.
8clearingMemberStringClearing Member ID. Set on outbound messages.
9paymentAdviceStateintThe payment advice state

Allowed values: see constant group PaymentAdviceState

10senderRefStringUnique Id generated by the clearing system.
11participantUnitIdStringThe owner (member or client) of the risk node. Set on outgoing messages from RTC.

Settlement Messages (Internal)

Message: SettlementInstruction

Message ID: 10303

Type: Settlement Messages

This message can only appear as a sub-object in other messages; it can never be used as a stand-alone message.

Description: Settlement instructions suitable to pass on to the settlement systems. The settlement instructions in RTC will be in state PENDING until settlement has been confirmed.

Field no. Field name (tag) Mand. Type (max length) Comment
1instructionIdlongSystem generated unique ID.
2settlementDateStringSettlement date. The format is yyyy-MM-dd.
3referenceNoStringMessage reference no. The reference is built out of 3 components 1. 76 (CM receives payment from JSE) or 77 (CM payments, JSE receives) 2. CM template (from member) 3. Settlement date E.g. 760210515, Merril Lynch receives payment on May 21, 2015
4sendCodeStringJSE BIC.
5minusAccountStringThe receiving member account where the position effect should be booked due to this instruction.
6senderBICStringBIC code of the settlement bank of the paying member. Note that this can be the BIC of the settlement bank of JSE.
7senderBranchStringBranch no of the sender (used for SWIFT).
8senderAccountIdStringAccount number that the receiving member has in the settlement bank. Note that this can be the account of the clearing house.
9externalFromAccountStringThe external account from which the amount should be moved.
10plusAccountStringThe sending member account where the position effect should be booked due to this instruction.
11receiverBICStringBIC code of the settlement bank of the receiving member. Note that this can be the BIC of the settlement bank of JSE.
12receiverBranchStringBranch no of the receiver (used for swift).
13receiverAccountIdStringAccount number that the receiving member has in the settlement bank. Note that this can be the account of the clearing house.
14externalToAccountStringThe external account to which the amount should be moved.
15amountlongThe amount to move.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

16unconfirmedSettledAmountlongThe sum of reported settled amounts that are waiting for confirmation on a position update.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

17settledAmountlongThe sum of reported settled amounts that have been matched to this instruction.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

18currencyIdStringCurrency in which the amount is settled. The currency code according to ISO 4217.
19settlementInstructionStateStringInstruction state.

Allowed values: see constant group SettlementInstructionState

20settlementRunIdlongRefers to the parent settlement run.

External Members

Message: GetRequestsForFXCollateralReq

Message ID: 10384

Type: External Members

Description: Request for the clearing member to get the information about the amounts per client/house that can be covered qith FX collateral. Next step is for the clearing member to send in a confirmation with the different amounts in FX with RegisterFXCollateralReq.

Field no. Field name (tag) Mand. Type (max length) Comment
2valueDaterequiredStringThe requested value date.
3clearingMemberIdStringRequest FX Collateral for a CM.
4bookmarkStringThe bookmark from a paged response.

This request will normally return a response of type GetRequestsForFXCollateralRsp .


Message: GetRequestsForFXCollateralRsp

Message ID: 10385

Type: External Members

Description: Response to GetRequestsForFXCollateralReq request. Includes values in ZAR that could be covered with FX, per client/house.

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
3subCodeint [] Status code for each leg of the request. Only used for batched requests.
6fxRequestsRequestForFXCollateral [] The requests for FX Collateral
7bookmarkStringBookmark to use in query for next batch.

Message: QueryDividendPaymentFactorsReq

Message ID: 10527

Type: External Members

Description: Query the factors used in the calculation of dividend payments.

Field no. Field name (tag) Mand. Type (max length) Comment
2exDaterequiredStringThe ex-date to get dividend payment factors for.
3alphaCodeStringAlpha code for the instrument where dividend is paid. If blank, all dividend factors for the ex-date will be returned.

This request will normally return a response of type QueryDividendPaymentFactorsRsp .


Message: QueryDividendPaymentFactorsRsp

Message ID: 10528

Type: External Members

Description: Response message for the QueryDividendPaymentFactorsReq

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
3subCodeint [] Status code for each leg of the request. Only used for batched requests.
6dividendFactorsDividendFactor [] An array of the dividend factors matching the search criteria.

Message: RegisterFXCollateralReq

Message ID: 10386

Type: External Members

Description: For clearing member to register FX Collateral.

Field no. Field name (tag) Mand. Type (max length) Comment
2valueDaterequiredStringThe requested value date. The format is yyyy-MM-dd.
3clientIdStringThe client ID.
4tradingMemberIdrequiredStringThe ID of the Trading Member.
5clearingMemberIdrequiredStringThe ID of the Clearing Member.
6fxCollateralFXCollateral [] The received currency collateral

This request will normally return a response of type RegisterFXCollateralRsp .


Message: RegisterFXCollateralRsp

Message ID: 10387

Type: External Members

Description: Response to RegisterFXCollateralReq request.

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
3subCodeint [] Status code for each leg of the request. Only used for batched requests.
6fxCollateralStatusFXCollateralStatus [] The status of registered FX collateral
7statusTextrequiredStringDescription of the execution status.

Message: RequestForFXCollateral

Message ID: 10383

Type: External Members

Description: Amount in ZAR per entity that can be covered with FX collateral. Returned as an array in GetRequestsForFXCollateralRsp.

Field no. Field name (tag) Mand. Type (max length) Comment
1valueDaterequiredStringValue date , format YYYY-MM-DD.
2clientIdrequiredStringThe client ID / TM House.
3tradingMemberIdrequiredStringThe ID of the Trading Member.
4clearingMemberIdrequiredStringThe ID of the Clearing Member.
5amountrequiredlongAmount in ZAR that can be covered with FX.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

6ccyrequiredStringValued Currency.

Message: SetCmBalancingStatusReq

Message ID: 10420

Type: External Members

Description: Request to set balance status for a CM.

Field no. Field name (tag) Mand. Type (max length) Comment
2steprequiredStringThe balancing step to set the status for.

Allowed values: see constant group CmBalancingStep

3clearingMemberrequiredStringID of the clearing member.
4balancedbooleanTrue if the CM is balanced, otherwise false.

This request will normally return a response of type SetCmBalancingStatusRsp .


Message: SetCmBalancingStatusRsp

Message ID: 10421

Type: External Members

Description: Response to a SetCmBalancingStatusReq request.

Field no. Field name (tag) Mand. Type (max length) Comment
1codeintStatus code. Code 3001 indicates that the request was processed successfully. For other codes, see the Status Code list in the EMAPI HTML description.
2messageStringA textual description of the status code above.
3subCodeint [] Status code for each leg of the request. Only used for batched requests.

External Members (Internal)

Message: DividendFactor

Message ID: 10529

Type: External Members

This message can only appear as a sub-object in other messages; it can never be used as a stand-alone message.

Description: The dividend factors used for calculating settlement amounts for dividends.

Field no. Field name (tag) Mand. Type (max length) Comment
1exDateStringThe ex-date for the dividend.
2ldtDateStringThe LDT date for the dividend.
3settlementDateStringThe settlement date for the dividend payment.
4externalInstrumentIdStringThe external instrument id. This is the JSE Master ID.
5alphaCodeStringCommon identifier code for derivative instruments
6presentValueLongThe present value factor (DivPV) for this dividend.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

7forwardValueLongThe forward value factor (DivFV) for this dividend.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

8dividendAmountLongThe dividend amount.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

9currencyStringCurrency of the dividend amount.
10timestampStringTime stamp when the dividend calculation was started.

Message: FXCollateral

Message ID: 10388

Type: External Members

This message can only appear as a sub-object in other messages; it can never be used as a stand-alone message.

Description: FX Collateral input.

Field no. Field name (tag) Mand. Type (max length) Comment
2allowedFXAmountrequiredlongAmount of allowed FX in ZAR.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

3availableFXAmountrequiredlongAmount of available Collateral FX Currency.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

4currencyrequiredStringAvailable Currency. The alphabetic currency code according to ISO 4217.
5valuationPricerequiredlongValuation price of FX Currency.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.


Message: FXCollateralStatus

Message ID: 10389

Type: External Members

This message can only appear as a sub-object in other messages; it can never be used as a stand-alone message.

Description: Status of requested registration of FX collateral.

Field no. Field name (tag) Mand. Type (max length) Comment
1postedQtyFxrequiredlongThe resulting posted collateral quantity per FX.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

2postedValueFxrequiredlongThe resulting posted collateral value in ZAR per FX, after haircut.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

3currencyrequiredStringAvailable Currency. The alphabetic currency code according to ISO 4217.
4statusTextrequiredStringDescription of status of the transaction.

Message: FxInterestRate

Message ID: 10414

Type: External Members

This message can only appear as a sub-object in other messages; it can never be used as a stand-alone message.

Description: Keeps information about interest rate for a currency

Field no. Field name (tag) Mand. Type (max length) Comment
1currencyIdStringID of the currency. ISO 4217 alphabetic code.
2interestRateLongInterest rate for the currency.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.


Message: MemberBalance1

Message ID: 10412

Type: External Members

This message can only appear as a sub-object in other messages; it can never be used as a stand-alone message.

Description: CM balance 1 information for the CM or one of its cleared TM members.

Field no. Field name (tag) Mand. Type (max length) Comment
1memberIdStringID of clearing member or trading member.
2initialMarginlongTotal Initial margin for TM house and clients accumulated to the Trading member. Always a positive value.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

3additionalMarginLongTotal additional margin for TM house and clients accumulated to the Trading member. Always a positive value.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

4variationMarginlongTotal Variation margin for TM house and clients. Negative if the total net is a loss.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

5dividendsLongSum of all Dividends for dividend neutral contracts.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

6fundingInterestLongSum of Interest on CFD contracts.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.


Message: MemberBalance2

Message ID: 10415

Type: External Members

This message can only appear as a sub-object in other messages; it can never be used as a stand-alone message.

Description: CM balance 2 information for the CM or one of its cleared TM members.

Field no. Field name (tag) Mand. Type (max length) Comment
1memberIdStringID of clearing member or trading member.
3commissionsLongTotal commission for the specified member ID. A negative number means that the member will pay the amount for commissions.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

4bookingFeesLongTotal net booking fee, including VAT, for the specified member ID. A negative number means that the member will pay the amount.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.

5riskFeesLongTotal net risk fee, including VAT, for the specified member ID. A negative number means that the member will pay the amount.

This field is a fixed point number with a scaling factor equal to 1/DIVISOR.PRICE.



Messages by ID

ID Message name
63TaxLogonReq
64TaxLogonRsp
65TaxLogoutReq
69TaxSnapshotSubscribeReq
70TaxSnapshotSubscribeRsp
71TaxRemoveSubscriptionReq
72TaxStartSnapshot
73TaxEndSnapshot
75TaxHeartbeatReq
76TaxHeartbeatRsp
77TaxSessionStatus
95Currency
96SubscriptionGroup
101Member
126ChangePasswordReq
139CalendarDate
226CdRequest
227CdResponse
230ResponseMessage
231SimpleRsp
232TaxReplayReq
233TaxReplayRsp
234TaxReplayStartEvent
235TaxReplayEndEvent
237RequestMessage
295Instrument
296TradableInstrument
299Market
300MarketList
302Segment
316Country
10015Trade
10018TradeDestination
10031CdAddRtcMemberClientReq
10032AccountPositionEvent
10033RiskNodeEvent
10034CdAddRtcPositionAccountReq
10035CdAddRtcPositionAccountRsp
10045PositionAccount
10046RiskNode
10049AggregateTradesReq
10050AggregateTradesRsp
10051AccessGroup
10072CdEnableDisableRtcPositionAccountReq
10073CdEnableDisableRtcPositionAccountRsp
10074PriceEvent
10082SettlementAccount
10085RtcTradeExternalData
10093CollateralAccount
10104AllocateTradeReq
10105AllocateTradeRsp
10108CorrectAllocationErrorReq
10109CorrectAllocationErrorRsp
10110CorrectPrincipalReq
10111CorrectPrincipalRsp
10112ModifyPositionSubAccountReq
10113ModifyPositionSubAccountRsp
10114AssignTradeReq
10123ClearingMemberLink
10124GiveUpEvent
10127CdAddRtcMemberClientClearingLinkReq
10128CancelGiveUpReq
10130ApproveGiveUpReq
10132RejectGiveUpReq
10134TripartiteAllocationReq
10135TripartiteAllocationRsp
10141AccountTradeEvent
10145RtcCalendar
10146TripartiteAgreement
10147CdUpdateRtcMemberClientReq
10148ModifyTradeSubAccountReq
10149ModifyTradeSubAccountRsp
10152CdEnableDisableRtcMemberClientReq
10158ClassSpreadGroup
10159SeriesSpreadGroup
10177Curve
10178Surface
10185CurveConstituent
10186ExerciseOptionPositionReq
10187ExerciseOptionPositionRsp
10188AbandonOptionPositionReq
10189AbandonOptionPositionRsp
10214Deposit
10215InterestRateSwap
10216ForwardRateAgreement
10227CurveEvent
10228SurfaceEvent
10229DividendEvent
10256EligibleSecurity
10258QueryTradesReq
10259QueryTradesRsp
10260TradeRes
10264CashAccount
10267CdAddCashAccountReq
10268CdUpdateCashAccountReq
10270GetRiskArrayReq
10271GetRiskArrayRsp
10272Contract
10273CdSetMinimumZARLimitReq
10276OptionDataEvent
10277AtmVolatilityEvent
10289NotionalValue
10290CollateralPositionValue
10293CdSetTradingMemberRiskLimitReq
10294CdSetClientRiskLimitReq
10295DailyAccountSummaryDetailsEvent
10301GetSettlementInstructionsReq
10302GetSettlementInstructionsRsp
10303SettlementInstruction
10329CorporateAction
10350AggregatedSummaryClearingMemberEvent
10351AggregatedSummaryTradingMemberEvent
10352AggregatedSummaryDetails
10355EligibleCurrency
10376FxDailyAccountSummaryDetails
10377ReadyConfirmAvailableFXEvent
10383RequestForFXCollateral
10384GetRequestsForFXCollateralReq
10385GetRequestsForFXCollateralRsp
10386RegisterFXCollateralReq
10387RegisterFXCollateralRsp
10388FXCollateral
10389FXCollateralStatus
10411CmBalancing1Event
10412MemberBalance1
10413CmBalancing2Event
10414FxInterestRate
10415MemberBalance2
10420SetCmBalancingStatusReq
10421SetCmBalancingStatusRsp
10430GetSequenceNumbersReq
10431GetSequenceNumbersRsp
10437YieldEvent
10440CurrentSystemState
10442CdSetTradingMemberAMPercentageReq
10443CdSetClientAMPercentageReq
10474CdAddRtcMemberClientRsp
10486WithdrawalNotificationEvent
10487ConfirmWithdrawalsReq
10488PaymentAdvice
10491GetPaymentAdvicesReq
10492GetPaymentAdvicesRsp
10514CommissionEvent
10515AddCommissionReq
10516CancelCommissionReq
10517RejectCommissionReq
10527QueryDividendPaymentFactorsReq
10528QueryDividendPaymentFactorsRsp
10529DividendFactor

Constants

AssetClass
AssetSubClass
AXIS_UNIT
BOOTSTRAPPING_METHOD
BroadcastFlows
BusinessDayConvention
CACHE_ACTION
Capacity
ClearingMemberLinkStatus
ClientType
CmBalancingStep
CommissionStatus
CompoundingConvention
CondType
ContractSizeType
CorporateActionStatus
CouponIndicator
DATE_TYPE
DAY_COUNT_CONVENTION
DIVISOR
ExerciseStyle
EXTRAPOLATION_METHOD
FeedSource
FourEyesState
InstrumentIdType
InstrumentSubType
InstrumentType
INTEREST_RATE_CONVENTION
INTERPOLATION_METHOD
LoginStatus
MemberType
OptionAllocationModelType
OptionStyle
ParticipantUnitType
PaymentAdviceState
PeriodType
PositionAccountSubType
PositionAccountType
PositionReason
PositionType
ReplayRequestType
RollsOnConvention
RtcState
RtcTradeType
SchedulerState
SessionStatus
SettlementInstructionState
SettlementType
SubscriptionRequestType
ValuationModelType
ValuationSubType
YieldType

Constant group: AssetClass
Description: Describes how the asset class available in the system.
Constant name Type Value Comment
EQUITYString"EQUITY"Equity.
FXString"FX"FX.
FIXED_INCOMEString"FIXED_INCOME"Fixed Income.

Constant group: AssetSubClass
Description: Describes how the asset sub class available in the system.
Constant name Type Value Comment
LEString"LOCAL_EQUITY"Local equity.
FEString"FOREIGN_EQUITY"Foreign equity.
FXString"FX"FX.
NIString"NOMINAL_INTEREST_RATE"Nominal interest rate.

Constant group: AXIS_UNIT
Description: Specifies the unit of an axis.
Constant name Type Value Comment
ABSOLUTE_DATEString"ABSOLUTE_DATE"Absolute date.
FRACTION_OF_YEARString"FRACTION_OF_YEAR"Fraction of year.
YIELD_PERCENTAGEString"YIELD_PERCENTAGE"Yield (%).
STRIKEString"STRIKE"Strike.
MONEYNESSString"MONEYNESS"Moneyness.
VOLATILITYString"VOLATILITY"Volatility.

Constant group: BOOTSTRAPPING_METHOD
Description: Method used for bootstrapping.
Constant name Type Value Comment
SWAPString"Swap"Swap.
BONDString"Bond"Bond.
INFLATION_LINKED_BONDString"Inflation linked Bond"Inflation linked Bond.

Constant group: BroadcastFlows
Description: Defines broadcast flows
Constant name Type Value Comment
PUBLIC_GLOBAL_REFERENCE_DATA_FLOWint11Global reference data flow.
ACCOUNT_EVENT_FLOWint301Account event flow.
RISK_EVENT_FLOWint302Risk event flow.
MARKETDATA_EVENT_FLOWint303Market Data event flow.
GIVEUP_EVENT_FLOWint304GiveUp event flow.
SETTLEMENT_EVENT_FLOWint305Settlement event flow.

Constant group: BusinessDayConvention
Description: Business Day convention.
Constant name Type Value Comment
NONEString"NONE"None.
FOLL_GOODString"FOLL_GOOD"Following Good.
MOD_FOLLString"MOD_FOLL"Modified Following.

Constant group: CACHE_ACTION
Description: Defined cache actions
Constant name Type Value Comment
ADDint1Add to cache EMAPI - interpret as Add
UPDATEint2Update cache EMAPI - interpret as Update
BOOTLOADint3Add to cache with bootloader EMAPI - interpret as Add
REMOVE_CACHE_DBint4Remove from cache and db, does not remove if there are references to object. Return status code ValidationHasReference if referenced. EMAPI - interpret as Remove
REMOVE_CACHE_DB_FORCEDint5Remove from cache and db, removes even if there are references to object. EMAPI - interpret as Remove
REMOVE_CACHEint6Remove from cache (does not remove object from db), does not remove if there are references to object. Return status code ValidationHasReference if referenced. The isDeleted attribute is set to BOOLEAN.TRUE EMAPI - interpret as Remove
REMOVE_CACHE_FORCEDint7Remove from cache (does not remove object from db), removes even if there are references to object. The isDeleted attribute is set to BOOLEAN.TRUE EMAPI - interpret as Remove

Constant group: Capacity
Description: Capacity on trade (from Trading System).
Constant name Type Value Comment
PrincipalInteger1Principal.
AgentInteger2Agent.

Constant group: ClientType
Description: Type of client, information to surveillance.
Constant name Type Value Comment
INDIVIDUALString"INDIVIDUAL"Individual.
COMPANYString"COMPANY"Company.
HEDGE_FUNDString"HEDGE_FUND"Hedge fund.
STATE_ENTERPRISEString"STATE_ENTERPRISE"State enterprise.
TRUSTString"TRUST"Trust.
CLOSED_CORPORATIONString"CLOSED_CORPORATION"Closed corporation.
ASSET_MANAGERString"ASSET_MANAGER"Asset manager.
INVESTMENT_MANAGERString"INVESTMENT_MANAGER"Investment manager.

Constant group: CmBalancingStep
Description: Enumeration specifying CM balancing steps.
Constant name Type Value Comment
CM_BALANCING_1String"CM_BALANCING_1"Step 1, involves IM, AM, VM, dividends, funding etc.
CM_BALANCING_2String"CM_BALANCING_2"Step 2, involves fees.

Constant group: CompoundingConvention
Description: Compounding Period Used.
Constant name Type Value Comment
NACCString"NACC"NACC
NACQString"NACQ"NACQ
NACAString"NACA"NACA
NACSString"NACS"NACS
SIMPLEString"SIMPLE"Simple

Constant group: CondType
Description: Price condition types. The value is a price tag that marks the market data values.
Constant name Type Value Comment
ANYString"ANY"Used to get the latest entry regardless of condition.
INDICATIVEString"INDICATIVE"Indicative.
END_OF_DAY_SETTLEMENTString"END_OF_DAY_SETTLEMENT"EoD Margin Call.
INTRA_DAY_1_SETTLEMENTString"INTRA_DAY_1_SETTLEMENT"Intra day margin call.
INTRA_DAY_2_SETTLEMENTString"INTRA_DAY_2_SETTLEMENT"Intra day margin call.
INTRA_DAY_3_SETTLEMENTString"INTRA_DAY_3_SETTLEMENT"Intra day margin call.
INTRA_DAY_4_SETTLEMENTString"INTRA_DAY_4_SETTLEMENT"Intra day margin call.
INTRA_DAY_5_SETTLEMENTString"INTRA_DAY_5_SETTLEMENT"Intra day margin call.
INTRA_DAY_6_SETTLEMENTString"INTRA_DAY_6_SETTLEMENT"Intra day margin call.
INTRA_DAY_7_SETTLEMENTString"INTRA_DAY_7_SETTLEMENT"Intra day margin call.
INTRA_DAY_8_SETTLEMENTString"INTRA_DAY_8_SETTLEMENT"Intra day margin call.
INTRA_DAY_9_SETTLEMENTString"INTRA_DAY_9_SETTLEMENT"Intra day margin call.
INTRA_DAY_10_SETTLEMENTString"INTRA_DAY_10_SETTLEMENT"Intra day margin call.

Constant group: ContractSizeType
Description: Enumeration for contract size type
Constant name Type Value Comment
BASEInteger1Base
MINIInteger2Mini
MAXIInteger3Maxi
SUPERInteger4Super

Constant group: CorporateActionStatus
Description: Status of a Corporate Action task.
Constant name Type Value Comment
NEWint0Task registered and pending for action.
EXECUTEDint1Task executed.
CANCELLEDint2Task cancelled.
FAILEDint-1Task failed.

Constant group: CouponIndicator
Description: Coupon rate indicator for Bonds.
Constant name Type Value Comment
FIXEDString"FIXED"Coupon is Fixed.

Constant group: DATE_TYPE
Description: Defines the different date types.
Constant name Type Value Comment
CLOSEDint1On this day, the exchange is closed.
HALF_DAYint2On this day, the exchange uses a half-day schedule.
NORMALint3On this day, the exchange uses the normal schedule.

Constant group: DAY_COUNT_CONVENTION
Description: Method used for bootstrapping.
Constant name Type Value Comment
ACTUAL_360String"ACTUAL_360"Actual 360.
ACTUAL_365String"ACTUAL_365"Actual 365.

Constant group: DIVISOR
Description: There are integer/long fields that represent decimal numbers. These need to be divided with the following constants.
Constant name Type Value Comment
QTYint1000000Divisor for quantity field
PRICEint1000000Divisor for price fields
INTERESTint1000000Divisor for interest fields.
DELTAint1000000Divisor for delta fields.
DECIMALint1000000Divisor for decimal value fields.

Constant group: ExerciseStyle
Description: Defines the type of option
Constant name Type Value Comment
EUROPEANint1
AMERICANint2

Constant group: EXTRAPOLATION_METHOD
Description: Method used for extrapolation.
Constant name Type Value Comment
LINEARString"LINEAR"Linear extrapolation.
FLATString"FLAT"Use nearest interpolated value.
FLAT_FORWARDString"FLAT_FORWARD"Float forward volatility extrapolation.

Constant group: FeedSource
Description: Market data pricing tag.
Constant name Type Value Comment
RTCString"RTC"Rtc.
PRICING_SYSTEMString"PRICING_SYSTEM"JSE Pricing system.

Constant group: FourEyesState
Description: State of FourEyes operation.
Constant name Type Value Comment
UNKNOWN_REASONint0
RECEIVEDint1This foureyesstate is not used in RTC code.
INITIATEDint2
CONFIRMEDint3
COMPLETEDint4
EXPIREDint5
REQUEST_FAILED_VALIDATIONint6
CONFIRM_FAILED_VALIDATIONint7
ERRORint8
CANCELLEDint9
REJECTEDint10

Constant group: InstrumentIdType
Description: Defines the type of the InstrumentId (ISIN, CUSIP etc)
Constant name Type Value Comment
ISINString"ISIN"ISIN identifier
CUSIPString"CUSIP"CUSIP identifier
SYMBString"SYMB"SYMBOL identifier

Constant group: InstrumentSubType
Description: Defines the type of Instrument
Constant name Type Value Comment
EQUITYString"EQUITY"Equity.
INDEXString"INDEX"Index.
SINGLE_STOCKString"SINGLE_STOCK"Single Stock.
CFDString"CFD"Contract For Difference.
DIVIDEND_NEUTRALString"DIVIDEND_NEUTRAL"Dividend Neutral.
FOREXString"FOREX"Forex.
FOREX_PAIRString"FOREX_PAIR"Forex Pair.
BONDString"BOND"Bond.
BASKETString"BASKET"Basket.
EXOTICString"EXOTIC"Exotic.
FOREX_INDEXString"FOREX_INDEX"Forex index.
FWDFWDString"FWDFWD"FwdFwd.
EXOTIC_OPTIONString"EXOTIC_OPTION"Exotic option.
INTERNATIONAL_DIVIDEND_NEUTRALString"INTERNATIONAL_DIVIDEND_NEUTRAL"International dividend neutral.
INTERNATIONAL_EQUITYString"INTERNATIONAL_EQUITY"International equity.
INTERNATIONAL_INDEXString"INTERNATIONAL_INDEX"International index.
INVERTEDString"INVERTED"Inverted.
OTHERString"OTHER"Other.
QUANTOString"QUANTO"Quanto.
QUANTO_INTLString"QUANTO_INTL"Quanto international.
QUANTO_INDEX_DIVIDEND_NEUTRALString"QUANTO_INDEX_DIVIDEND_NEUTRAL"Quanto index dividend neutral.
QUANTO_INTL_DIVIDEND_NEUTRALString"QUANTO_INTL_DIVIDEND_NEUTRAL"Quanto international dividend neutral.
VARIANCEString"VARIANCE"Variance.

Constant group: InstrumentType
Description: Defines the type of Instrument
Constant name Type Value Comment
FUTUREString"FU"Future.
BONDString"BO"Bond
OPTIONString"OPT"Parent of OptionTradableInstruments
SPOTString"SPOT"Spot type instrument
CFDString"CFD"Contract For Difference.

Constant group: INTEREST_RATE_CONVENTION
Description: Interest rate convention for the interest rate produced.
Constant name Type Value Comment
NACCString"NACC"NACC.

Constant group: INTERPOLATION_METHOD
Description: Method used for interpolation.
Constant name Type Value Comment
LINEARString"LINEAR"Linear.
FLAT_FORWARDString"FLAT_FORWARD"Float forward volatility interpolation.
NATURAL_CUBIC_SPLINEString"NATURAL_CUBIC_SPLINE"Natural cubic spline.
MONOTONE_PRESERVINGString"MONOTONE_PRESERVING"Variant of cubic spline that ensures positive and continuous forward rates. For yield curve interpolation.
MONOTONE_CONVEXString"MONOTONE_CONVEX"Ensures a positive and continuous forward rate. For yield curve interpolation..

Constant group: LoginStatus
Description: Provides the result of a login request.
Constant name Type Value Comment
LOGIN_ACCEPTEDint0The login is accepted.
LOGIN_REJECTEDint-1The login is rejected due to invalid password or invalid user id.
USER_ACCOUNT_LOCKEDint-2User account is locked due to too many erroneous login attempts.
PASSWORD_EXPIREDint-3The password has expired.
LOGIN_ACCESS_DENIEDint-4User does not have access to login service for this application.
WRONG_VERSIONint-5Client and TAX server versions are not compatible.
INITIAL_LOGINint-6Initial login, password must be changed.
USER_ACCOUNT_DISABLEDint-7Account disabled by operational staff.

Constant group: MemberType
Description: Defines the different member/participant types.
Constant name Type Value Comment
MARKETPLACEInteger1The Clearing House itself.
INFORMATION_VENDORInteger5An Information Vendor.
MEMBER_UNITInteger7A member unit is a type of member that must be connected to a parent member, for example to divide an organization into different departments. Trading Member Branches and Clients are both of the type MEMBER_UNIT.
CLEARING_ONLY_MEMBERInteger8A Clearing Member.
TRADING_ONLY_MEMBERInteger9A Trading Member.

Constant group: OptionAllocationModelType
Description: Allocation model for option exercise.
Constant name Type Value Comment
PRO_RATAint1Pro-rata allocation.
RANDOMint2Random allocation.

Constant group: OptionStyle
Description: Style of the Option
Constant name Type Value Comment
FUTURE_STYLEInteger1Future styled
UPFRONT_PREMIUMInteger2Upfront premium

Constant group: ParticipantUnitType
Description: Participant type. Defines the type of participant a member has in the member tree.
Constant name Type Value Comment
CLEARING_MEMBERInteger1Clearing Member.
TRADING_MEMBERInteger2Trading Member
CLIENTInteger3Client.
TRADING_MEMBER_BRANCHInteger4Trading Member Branch.
INFORMATION_VENDORInteger5Information Vendor.

Constant group: PaymentAdviceState
Description: The states of a Payment Advice.
Constant name Type Value Comment
RECEIVEDint0
NOTIFIED_TO_CMint1
REJECTED_BY_CMint2
CONFIRMED_BY_CMint3
SETTLED_BY_CMint4
CANCELLEDint5

Constant group: PeriodType
Description: Period type.
Constant name Type Value Comment
DAYSString"DAYS"Days.
MONTHSString"MONTHS"Months.
YEARSString"YEARS"Years.

Constant group: PositionAccountSubType
Description: The sub type of the position account.
Constant name Type Value Comment
SUSPENSEInteger1Suspense
MAINInteger2Main
SUBInteger3Sub

Constant group: PositionAccountType
Description: The type of the position account.
Constant name Type Value Comment
HOUSEInteger1House
CLIENTInteger2Client

Constant group: PositionType
Description: Defines different Position types.
Constant name Type Value Comment
ACTUALint1A position of type ACTUAL represents ownership of the position.
SETTLEMENTint2A position of type SETTLEMENT represents changed of the position on the settlement date.

Constant group: PositionReason
Description: Reason for position update
Constant name Type Value Comment
UNKNOWN_REASONint0Unknown reason, an internal error has occured.
FEEint1Booking Fee.
TRADEint2New trade.
EXERCISEint5The position in the option was closed out due to early exercise, or the option is in-of-money and the option is exercised automatically. The future trade is the result of an option exercise. (early or in-the-money automatically by the system)
CASH_SETTLEMENT_VMint7Cash settlement of variation margin
SETTLEMENT_NETTINGint17Positions are concentrated to the settlement accounts and netted out on the original accounts.
SETTLEDint18A payment or delivery has been processed by an external system and the settlement position is netted out.
COLLATERALint19Collateral position update.
ALLOCATED_FROMint26The trade is allocated from a trading member account to a client account.
ALLOCATED_TOint27The trade origins from an allocation from a trading member account to a client account.
ALLOCATION_CORRECTION_FROMint28The deal is erroneously moved from the client account to another client account.
ALLOCATION_CORRECTION_TOint29The deal originates from a move from one client account to another client account.
PRINCIPAL_CORRECTION_FROMint30A position is moved from a house main account to a house sub account or from a house sub account to a house main account by creating a new deal.
PRINCIPAL_CORRECTION_TOint31The deal originates from a move from a client account.
ACCUMULATED_FROMint32The deal was aggregated to another deal.
ACCUMULATED_TOint33The deal originates from a deal aggregation activity.
POS_SUBACCOUNT_MOD_FROMint34The position sub account was moved from this account..
POS_SUBACCOUNT_MOD_TOint35The position sub account was moved to this account.
ASSIGNED_FROMint36The deal assign source.
ASSIGNED_TOint37The deal originates from a deal assign activity.
ASSIGN_INITIATEDint40The deal assign initiated from.
ASSIGN_REJECTEDint41The deal assign rejected by receiver.
ASSIGN_CANCELLEDint42The deal assign cancelled by initiator.
ASSIGN_EXPIREDint43The deal assign has expired.
START_OF_DAYint44Start of day position snapshot.
TRIPARTITE_FROMint45The deal has been assigned using Tripartite agreement.
TRIPARTITE_TOint47The deal origins from an assign using Tripartite agreement.
TRIPARTITE_INITIATEDint49Tripartite assign has been initiated.
TRIPARTITE_APPROVEDint50Tripartite assign has been approved.
TRIPARTITE_REJECTEDint51Tripartite assign has been rejected.
TRIPARTITE_CANCELLEDint52Tripartite assign has been cancelled.
TRIPARTITE_EXPIREDint53Tripartite assign has expired.
TRADE_SUBACCOUNT_MOD_FROMint54Position has been moved from this account as Sub account modification.
TRADE_SUBACCOUNT_MOD_TOint55Position has been moved to this account as Sub account modification.
ZERO_FEEint56Trade updated for zero fee.
ABANDONint59Option abandon.
TRANSFERRED_SP_FROMint60Position has been moved from this account by Transfer Single Position.
TRANSFERRED_SP_TOint61Position has been moved to this account by Transfer Single Position.
CLOSE_OUTint62A close-out deal is created by the system to close open positions in a future on expiration of a tradable instrument.
PARTIALLY_SETTLEDint63Partially settled payment.
NET_PAYMENTint64Payment from external system.
FEE_VATint65VAT amount for booking fee.
CANCELLEDint66Trade cancelled.
CANCELLED_BUSTint67Trade busted.
CANCELLED_PRICE_ADJUSTint68Trade cancelled for price adjust
DIVIDENDint69Dividend payment for dividend neutral contracts
CLOSE_OUT_CAint70Close out position for Corporate Action.
NEW_POSITION_CAint71Created position for Corporate Action.
INTEREST_ON_COLLATERALint73Interest amount on collateral.
FUNDING_INTERESTint74Funding interest payment for CFDs.
DEPOSITint76A deposit of an asset in an account.
WITHDRAWALint77A withdrawal of an asset from an account.
TRANSFERRED_FROMint78An opposite trade was created at the original account as a result of a client or TM position transfer.
TRANSFERRED_TOint79A trade was created at the destination account as a result of a client or TM position transfer.
END_OF_DAYint80End of day position snapshot.
SYSTEM_STARTUPint81RTC system startup snapshot.
DEFAULT_FROMint82The position was transferred due to a defaulted member or client.
DEFAULT_TOint83The position was transferred due to a defaulted member or client.
MANUALint84Event due to a manual update.
MIGRATIONint85An add/update due to migration.
COMMISSIONint86Commissions added by members.
RISK_FEEint88Risk Fee.
RISK_FEE_VATint90VAT amount for risk fee.
REVERSE_TRANSACTIONint91A position was updated due to a revert of the EOD step.
DELETEDint92A close out, option exercise or abandon trade was marked as deleted due to a revert of the EOD step.

Constant group: RollsOnConvention
Description: Rolls on convetion. Needed to determine coupon dates.
Constant name Type Value Comment
DAYString"DAY"Day(m).
START_OF_MONTHString"START_OF_MONTH"Start of month.
END_OF_MONTHString"END_OF_MONTH"End of month.
IMM_DAYString"IMM_DAY"IMM Day. (3rd Monday of month).

Constant group: CommissionStatus
Description: The state of the commission.
Constant name Type Value Comment
NEWint1New
CANCELLEDint2Cancelled
REJECTEDint3Rejected

Constant group: ReplayRequestType
Description: Literals describing the type of replay request
Constant name Type Value Comment
REPLAYint0Request to replay specific events; no future updates
REPLAY_UNSEGMENTEDint1Request to replay specific events without having to issue requests for new segments
REPLAY_SUBSCRIPTIONint2Request for unsegmented replay of events up to the latest and for subsequent subscription to future updates

Constant group: RtcState
Description: System state in RTC.
Constant name Type Value Comment
OPENString"OPEN"Open.
END_OF_TRADE_MANAGEMENTString"END_OF_TRADE_MANAGEMENT"Trade management is no longer allowed.
END_OF_DAYString"END_OF_DAY"End of Day process started.
POST_END_OF_DAYString"POST_END_OF_DAY"End of Day process completed.

Constant group: RtcTradeType
Description: Trade type (from Trading System).
Constant name Type Value Comment
ORDERString"ORDER"Order.
REPORTString"REPORT"Report.
CANCEL_TRADEString"CT"Cancel trade.
TRADE_BUSTString"TB"Trade bust.
CANCEL_PRICE_ADJUSTString"PA"Cancel price adjust.

Constant group: SessionStatus
Description: Session status
Constant name Type Value Comment
FORCED_LOGOFF_BY_NEW_LOGINint1The session has been terminated due a new login with the same user.
FORCED_LOGOFF_USER_DISABLEDint2The session has been terminated because the user has been disabled.
FORCED_LOGOFF_USER_DELETEDint3The session has been terminated because the user has been deleted.
FORCED_LOGOFFint4User session logout was forced. Caused by an operator terminating the session.
DISCONNECTint5User session disconnected
NORMAL_LOGOFFint6Normal user requested logout

Constant group: SettlementType
Description: Defines the type of option
Constant name Type Value Comment
CASHint1
PHYSICALint2
CASH_OR_PHYSICALint3

Constant group: SchedulerState
Description: State of the scheduler.
Constant name Type Value Comment
NORMALInteger1Normal state during daily operations.
RERUN_EODInteger2This state is used during End of Day rerun.
INTRADAY_MARGIN_CALLInteger3This current system state is used during Intraday Margin Call.
REBALANCINGInteger4This current system state is used during Intraday Collateral Rebalancing.

Constant group: SubscriptionRequestType
Description: Literals describing the type of subscription request
Constant name Type Value Comment
CURRENT_VALUEint1Request for current values only; no future updates
SUBSCRIPTIONint2Request for subscription of future updates only; no current value
CURRENT_VALUES_AND_SUBSCRIPTIONint3Request for current values and future updates

Constant group: ValuationModelType
Description: Valuation Model Type.
Constant name Type Value Comment
MARK_TO_MODELString"MARK_TO_MODEL"Mark to model.
MARK_TO_MARKETString"MARK_TO_MARKET"Mark to market.

Constant group: ValuationSubType
Description: Valuation Sub Type.
Constant name Type Value Comment
COST_OF_CARRY_DIVIDEND_PROJECTIONString"COST_OF_CARRY_DIVIDEND_PROJECTION"Cost of Carry dividend projection.
COST_OF_CARRY_DIVIDEND_YIELDString"COST_OF_CARRY_DIVIDEND_YIELD"Cost of Carry dividend yield.
COST_OF_CARRY_DIVIDEND_NEUTRALString"COST_OF_CARRY_DIVIDEND_NEUTRAL"Cost of Carry dividend neutral.
BLACK76String"BLACK76"Black76.

Constant group: YieldType
Description: Yield Type.
Constant name Type Value Comment
YIELD_TO_MATURITYString"YIELD_TO_MATURITY"fixed income done in yield to maturity
DIVIDEND_YIELDString"DIVIDEND_YIELD"Percentage value represented as the annual dividend payouts (cash flow) of the instrument in relation to the current market price of the instrument.
INTEREST_RATEString"INTEREST_RATE"Interest specified as a percentage value.

Constant group: ClearingMemberLinkStatus
Description: The status of the clearing member link. The value may be null and means a new link has been added.
Constant name Type Value Comment
IN_PROGRESSInteger1The EOD transfer of member is in progress. This happens when a link shall be changed according to effective date of the link.
ACTIVEInteger2The EOD transfer of member is finished and the new link became active.
OLDInteger3The link that became old after the EOD transfer of member.
FAILEDInteger4The EOD transfer of member failed.
NEWInteger5The EOD transfer of member is not applicable for this link. It is a new link and nothing to transfer from.

Constant group: SettlementInstructionState
Description: Settlement Instruction State.
Constant name Type Value Comment
CREATEDString"CREATED"The instruction has been created but processing has not yet started.
PENDINGString"PENDING"The processing has started for the instruction.
PARTIALLY_SETTLEDString"PARTIALLY_SETTLED"The instruction has been partially settled.
SETTLEDString"SETTLED"The instruction has been completely settled, i.e. the settled amount is the same as the requested amount. This is an end state.
CANCELLEDString"CANCELLED"The instruction has been cancelled. This is an end state.
FAILEDString"FAILED"The instruction has failed. This may be used by an external part if there is something wrong with the instruction, for example an erroneous account number. Not used in JSE.


Status Codes

Value Name Text Comment
3001OkOKOK
3002WarningThe processing succeeded but some errors occurredWarning
3003DeferredThe request is queuedDeferred
3004DeferredWithWarningThe request is enqueued but some errors occurredDeferredWithWarning
4001AfwFailMsgValMessage validation failed, see explanationMessage validation failed,
12001AccNoRightsDefinedUser is not authorized for this service
12002AccNoUserFoundNo user found
12003AccNoRulesDefinedUser is not authorized for this service
12004AccUserDeniedServiceThe service is not allowed
12005AccUserDeniedServiceForObjectThe service is not allowed for this object
16001AfwQueueInfoMissingThe queue information in the configuration is missing. Please check your configuration file.The queue information in the configuration is missing. Please check your configuration file.
16002AfwFailDynValDynamic validation error: This failure should be replaced by a specific one.Dynamic validation error: This failure should be replaced by a specific one.
16003AfwFailStatValStatic validation error: This failure should be replaced by a specific one.Static validation error: This failure should be replaced by a specific one.
16004AfwDynValTapStatusErrProgram error, dynamic validation inconsistency for TapStatusProgram error, dynamic validation inconsistency for TapStatus
16005AfwApplTapStatusErrProgram error, application service inconsistency for TapStatusProgram error, application service inconsistency for TapStatus
16006AfwApplNullReturnProgram error, null not allowed return from serviceProgram error, null not allowed return from service
16007AfwFailValTokenValueToken value must not be undefinedToken value must not be undefined
16008AfwFailValMessageThe message must not be nullThe message is not allowed to be null
16009AfwFailValStateThe request is not allowed during this trading stateThe request is not allowed during this trading state
16010AfwFailValUserUser is not allowed to perform requestUser is not allowed to perform request
16011AfwNoResponseFoundNo response message found within specified time intervalNo response message found within specified time interval
16012AfwQueuedThe request is queued for processingThe request is queued for processing
16013AfwCancelledThe request is cancelledThe request is cancelled
16014AfwExecutingThe request is executingThe request is executing
16015AfwNotFoundThe request is not foundThe request is not found
16016AfwVersionMismatchThrowawayThe request could not be served by the serverThe request could not be served by the server
16017AfwServiceNotAvailableThe requested service is not available in the recipient serverThe requested service is not available in the recipient server
16018AfwInvalidStateForCatchUpCannot perform catch-up when in current stateCannot perform catch-up when in current state
16019AfwInitiateCatchUpFailedFailed to initiate catch-upFailed to initiate catch-up
16020AfwInvalidStateForRecoveryNegotiationCannot perform recovery negotiation when in current stateCannot perform recovery negotiation when in current state
16021AfwInitiateRecoveryNegotiationFailedFailed to initiate recovery negotiationFailed to initiate recovery negotiation
16022AfwDbClassNoMsgIfThe requested object class is not a MessageIfThe requested object class is not a MessageIf
16023AfwDbClassNoDbTableThe requested object class is not a database tableThe requested object class is not a database table
16024AfwDbUnrecognizedChildColumnThe requested child attribute is not a database columnThe requested child attribute is not a database column
16025AfwDbChainErrorThere was an error in the in-chain database serviceThere was an error in the in-chain database service
16026AfwCvSegmentTooOldThe requested snapshot segment is too old and has been dropped by the serverThe requested snapshot segment is too old and has been dropped by the server
16027AfwCvSegmentTooManyThe server cannot allocate more snapshot segments at this time. Try again later.The server cannot allocate more snapshot segments at this time. Try again later.
16028AfwFailedToUnpackRawRequestFailed to unpack raw requestFailed to unpack raw request
16029AfwUnknowRawRequestUnpackerFailed to find unpacker for a raw requestFailed to find unpacker for a raw request
16030AfwUnknowRawRequestDestinationFailed to find destination for a raw requestFailed to find destination for an unpacked raw request
16031AfwXioConnectRefusedConnection to the xio messaging server was refusedConnection to the xio messaging server was refused
16032AfwXioConnectFailedFailed to connect to the xio messaging serverFailed to connect to the xio messaging server
16033AfwInitiateCatchUpNeedTruncateStandby object store might need to be truncatedStandby object store might need to be truncated
17001TaxSessionMissingThere is no valid session available for the user.There is no valid session available for the user.
17002TaxGateletFailureThe gatelet failed to forward the request.The gatelet failed to forward the request.
17003TaxServiceFailureThe service returned a null response.The service returned a null response.
17004TaxMissingMessageCannot service request: Unknown messageThe incoming message is not included in the classpath for TAX.
17005TaxMissingGateletCannot service request: No gatelet reqistered for the message.The incoming message does not have an associated gatelet.
17006TaxComponentActionFailedCannot service request: Failed to start/stop component.Illegal state transition
17007TaxComponentNotFoundCannot service request: Component not found.No such component
17008TaxMissingTepsSubscriptionNo TEPS subscription connectionNo TEPS subscription connection
17009TaxInvalidTepsSubscriptionFailed to activate TEPS subscriptionFailed to activate TEPS subscription
17010TaxUnknownClientSubscriptionFailed to find client subscriptionFailed to find client subscription
17011TaxUserDisabledSession no longer valid - user disabledSession no longer valid - user disabled
17012TaxUserDeletedSession no longer valid - user deletedSession no longer valid - user deleted
17013TaxSessionThrottledSession over-utilized - throttledSession throttled, request delayed
17014TaxRejectedThrottledRequest rejected - rate too highRequest rejected - rate too high
17015TaxSessionThrottledResetOnlySession over-utilized: throttled, delayed - timestamp resetSession throttled, return code not returned, but timestamp was reset.
17016TaxTargetPartitionDownCannot service request. There are no servers available for the target partition.Cannot service request. There are no servers available for the target partition.
17017TaxFailoverInProgressCannot service request: A failover is currently in progress.Cannot service request: A failover is currently in progress.
17018TaxServiceExceptionThe request resulted in an exception in the target service.The request resulted in an exception in the target service.
17019TaxTransportInterruptedCannot service request: Internal communication was interrupted.Cannot service request: Internal communication was interrupted.
18001AlertUnknownIdUnknown alert idThe id of the alert is not known.
52001CdInternalJavaErrorCD internal java error, unexpected exception occurred.CD internal java error, unexpected exception occurred.
52002CdInvalidFirmIdThe provided member ID does not exist.The provided member ID does not exist.
52003CdIllegalFirmIdThe provided member ID is illegal.The provided member ID is illegal.
52004CdInvalidUserIdThe provided user ID does not exist.The provided user ID does not exist.
52005CdIllegalUserIdThe provided user ID is illegal.The provided user ID is illegal.
52006CdInvalidPwdInvalid user ID or password.For some reason the user action failed.
52007CdInvalidPwdSameAsBeforeInvalid password, new password cannot be same as old.Invalid password, new password cannot be same as old.
52008CdInvalidLoginTicketLogin ticket from pre-login is not validInvalid login ticket
52009CdInvalidPwdFormatInvalid password formatInvalid password format
52010CdUserDisabledUser account is disabledUser account is disabled
52011CdUserPasswordNotInitializedUser password not initialized must be changed before loginUser password not initialized must be changed before login
52012CdUserPasswordHasExpiredUser password has expiredUser password has expired
52013CdNoSuchUserUser does not exists.For some reason the user action failed.
52014CdUnknownErrorAn unexpected error occurred.Use this error code with care. It is better to construct a specific message.
52015CdUserActionFailedThe user action failed.For some reason the user action failed.
52016CdPreLoginNotUsedPre-Login service is not configured and usedPre-Login service is not configured and used
52017CdPwdLockedAccount locked.For some reason the user action failed.
52018CdPwdExpiredPassword expired.For some reason the user action failed.
52019CdAccProfileUnavailableUnable to fetch the acc profile.For some reason the user action failed.
52020CdAlreadyLoggedOnThe user is already logged on.User attempted to logon but is already logged on.
52021CdInvalidRoleChangeFIXIt's not allowed to change rules of a FIX_Trader..
52022CdInvalidRoleChangeNonFIXIt's not allowed to change rules for a non-FIX_Trader to a FIX_Trader..
52023CdInvalidFIXLoginUser is FIX user. Not allowed to login via GUI..
52024CdInvalidPwdPropertiesInvalid value: Minimum value is 1..
52025CdInvalidOrderBookRuleGroupThe supplied OrderBookRuleGroup does not existThe supplied OrderBookRuleGroup does not exist
52026CdInvalidOrderBookThe supplied OrderBook does not existThe supplied OrderBook does not exist
52027CdInvalidCombinationOrderBookLegThe supplied Combination OrderBook Leg does not existThe supplied OrderBook does not exist
52028CdInvalidSubscriptionGroupThe supplied SubscriptionGroup does not existThe supplied SubscriptionGroup does not exist
52029CdInvalidCurrencyThe supplied CurrencyId does not existThe supplied CurrencyId does not exist
52030CdInvalidTickSizeTableIdThe supplied TickSizeTableId does not existThe supplied TickSizeTableId does not exist
52031CdInvalidTradingScheduleTableIdThe supplied TradingScheduleTableId does not existThe supplied TradingScheduleTableId does not exist
52032CdInvalidAllowedRequestGroupIdThe supplied AllowedRequestGroupId is invalidThe supplied AllowedRequestGroupId does not exist
52033CdInvalidProcessingSequenceIdThe supplied processingSequenceId is invalidThe supplied processingSequenceId is invalid
52034CdInvalidUserPropertiesCategoryThe supplied UserPropertiesCategory is invalidThe supplied UserPropertiesCategory is invalid
52035CdInvalidServiceProfileIdThe supplied ServiceProfileId is invalidThe supplied ServiceProfileId is invalid
52036CdInvalidServiceProfileGroupIdThe supplied ServiceProfileGroupId is invalidThe supplied ServiceProfileGroupId is invalid
52037CdInvalidServiceProfileRefIdThe supplied ServiceProfileRefId is invalidThe supplied ServiceProfileRefId is invalid
52038CdIllegalServiceProfileIdThe supplied ServiceProfileId contains illegal charactersThe supplied ServiceProfileId contains illegal characters
52039CdIllegalServiceProfileGroupIdThe supplied ServiceProfileGroupId contains illegal charactersThe supplied ServiceProfileGroupId contains illegal characters
52040CdIllegalServiceProfileRefIdThe supplied ServiceProfileRefId contains illegal charactersThe supplied ServiceProfileRefId contains illegal characters
52041CdIllegalServiceProfileEntryDelayClassIdThe supplied ServiceProfileEntryDelayClassId contains illegal charactersThe supplied ServiceProfileEntryDelayClassId contains illegal characters
52042CdInvalidServiceProfileEntryDelayClassIdThe supplied ServiceProfileEntryDelayClassId is invalidThe supplied InvalidServiceProfileRefId contains illegal characters
52043CdIllegalServiceProfileEntryInfoLevelClassIdThe supplied ServiceProfileEntryInfoLevelClassId contains illegal charactersThe supplied ServiceProfileEntryInfoLevelClassId contains illegal characters
52044CdInvalidServiceProfileEntryInfoLevelClassIdThe supplied ServiceProfileEntryInfoLevelClassId is invalidThe supplied ServiceProfileEntryInfoLevelClassId is invalid
52045CdCombinationOrdersLegsMustBelongToTheSameSubscriptionGroupAll legs in a combination order must belong to the same subscription group
52046CdCombinationOrdersLegsMustUseSameSortingAll legs in a combination order must belong to order books using the same type of sorting
52047CdCombinationOrderLegsMustNotShareTheSameOrderBookCombination order legs may not share the same order book
52048CdTooManyCombinationOrderLegsThere were too many legs in the combination order
52049CdCombinationOrderLegsMustNotBeCombinationOrderCombination order legs may not be a combination order
52050CdInvalidServerGroupIdThe supplied ServerGroupId is invalidThe supplied ServerGroupId is invalid
52051CdIllegalServerGroupIdThe supplied ServerGroupId contains illegal charactershe supplied ServerGroupId contains illegal characters
52052CdInvalidServerProcessIdThe supplied ServerProcessId is invalidThe supplied ServerProcessId is invalid
52053CdIllegalServerProcessIdThe supplied ServerProcessId contains illegal charactersThe supplied ServerProcessId contains illegal characters
52054CdInvalidCalendarDateThe supplied CalendarDate is invalidThe supplied CalendarDate is invalid
52055CdIllegalRemoveOperationTypeThe supplied cache remove type is invalidThe supplied cache remove type is invalid
52056CdPartitionMismatchInvalid Partition/Subscription group/Orderbook rule group/Orderbook combinationThre is a missmatch between the defaultPartition in the OrderbookRulegroup and the partition for the supplied subscription group
52057CdInvalidPwdUserOrFirmInvalid userid, password or member firmThe login parameters are invalid
52058CdInvalidPartitionTableIdInvalid partition table IDThe supplied partition table is invalid
52059CdInvalidPartitionIdInvalid partition IDThe supplied partition ID does not exist
52060CdInvalidTickSizeTableThe supplied ticksize table has no rowsThe supplied ticksize table has no rows.
52061CdInvalidLowerLimitThe supplied lower limit is invalidThe supplied lower limit is invalid.
52062CdInvalidFractionalTickThe supplied fractional tick is invalidThe supplied fractional tick is invalid.
52063CdInvalidTradeTickThe supplied trade tick is invalidThe supplied trade tick is invalid.
52064CdTransactionValidationErrorTransaction failed validationTransaction failed validation. One or more mandatory fields are missing or have illegal values.
52065CdInvalidInstrumentIdThe supplied instrumentId is invalidThe supplied InstrumentId is invalid
52066CdInvalidDisplayNameThe supplied displayName is invalidThe supplied DisplayName is invalid
52067CdInvalidOrderBookParameterIdThe supplied OrderBookParameter ID is invalidThe supplied OrderBookParameter ID is invalid
52068CdInvalidOrderBookRuleGroupParameterIdThe supplied OrderBookRuleGroupParameter is invalidThe supplied OrderBookRuleGroupParameter is invalid
52069CdInvalidModificationScheduleThe supplied serviceId is invalidThe supplied serviceId is invalid
52070CdInvalidModificationScheduleDatesThe supplied startTime and endTime are invalidThe supplied startTime and/or endTime is invalid
52071CdUserNotAuthorizedForAnySessionTypeThe user is not authorized to use any session typeThe user is not authorized to use any TAX-type
52072CdNoConnectorForSessionTypeAvailableNo connectors for the user's session types are availableThe user is not authorized to use any TAX-type
52073CdInvalidUserPropertiesCategoryIdThe supplied UserPropertiesCategory ID is invalidThe supplied UserPropertiesCategory ID is invalid
52074CdInvalidExternalMarketIdThe supplied ExternalMarketId is invalidThe supplied ExternalMarketId is invalid
52075CdInvalidServerPartitionTableThe supplied ServerPartitionTable is invalidThe supplied ServerPartitionTable is invalid
52076CdInvalidServerPartitionTableIdThe supplied ServerPartitionTableId is invalidThe supplied ServerPartitionTableId is invalid
52077CdInvalidServerPartitionThe supplied ServerPartition is invalidThe supplied ServerPartition is invalid
52078CdInvalidServerPartitionIdThe supplied ServerPartition ID is invalidThe supplied ServerPartitionId ID is invalid
52079CdInvalidGlobalPasswordPropertiesThe supplied GlobalPasswordProperties is invalidThe supplied GlobalPasswordProperties is invalid
52080CdInvalidDefaultSvcProfHandlingInvalid default ServiceProfile handlingInvalid default ServiceProfile handling
52081CdXmlParsingFailureThe supplied document could not be parsedThere where fatal syntax errors in the provided XML document.
52082CdXmlLoadPartialFailureSome entities were not loaded into CDThe loading of CD data was not a complete success.
52083CdInvalidPostBootActionThe specified post boot action is unknown.The specified post boot action is unknown and could not be executed.
52084CdInvalidDateOrTimeThe specified date or time has incorrect format or is inappropriateThe specified post boot action is unknown and could not be executed.
52085CdScheduledUpdateErrorScheduled reference data update transaction failed.Scheduled reference data update transaction failed.
52086CdScheduledUpdatePreValidationErrorScheduled reference data update pre-validation failed.Scheduled reference data update pre-validation failed.
52087CdScheduledUpdatePreValidationWarningScheduled reference data update pre-validaion resulted in warnings.Scheduled reference data update pre-validaion resulted in warnings.
52088CdPendingScheduledUpdateWarningA scheduled update has been issued for this object. The scheduled update may be lost.A scheduled update has been issued for this object. The scheduled update may be lost.
52089CdInvalidCombinationOrderLegDisplayOrderDuplicate display order numbers on combination legs are not allowed. All numbers null is allowed.
52090CdUpdateWarningThe validation of the request resulted in warning.The validation of the request resulted in warning(s). This code is returned when a reference data operation may conflict with other operations or is potentially dangerous. The actual transction is not performed. To override the warning (and execute the transaction anyway), use the set the overrideWarning attribute to true in the request.
53001CdMimInvalidMarketIdThe marketId field is invalidThe marketId field is invalid
53002CdMimInvalidNameThe name field is invalidThe name field is invalid
53003CdMimInvalidCountryCodeThe countryCode field is invalidThe name countryCode is invalid
53004CdMimInvalidMarketListIdThe marketListId field is invalidThe marketListId field is invalid
53005CdMimInvalidSegmentIdThe supplied segmentId is invalidThe supplied SegmentId is invalid
53006CdMimInvalidInstrumentIdThe supplied instrumentId is invalidThe supplied InstrumentId is invalid
53007CdMimInvalidTradableInstrumentIdThe supplied tradableInstrumentId is invalidThe supplied TradableInstrumentId is invalid
53008CdMimInvalidViewIdThe supplied viewId is invalidThe supplied ViewId is invalid
53009CdMimInvalidViewElementIdThe supplied viewElementId is invalidThe supplied ViewElementId is invalid
53010CdMimInvalidInstrumentTypeThe supplied instrumentType is invalidThe supplied InstrumentType is invalid
53011CdMimInvalidSegmentTypeThe supplied segmentType is invalidThe supplied SegmentType is invalid
53012CdMimInvalidValidFromDateThe supplied validFromDate field is invalidThe supplied validFromDate is unacceptable
53013CdMimInvalidValidToDateThe supplied validToDate field is invalidThe supplied validToDate is a mess
53014CdMimInvalidNavigationLevelThe supplied mimLevel field is invalidThe supplied mimLevel is not a valid MarketInstrumentModelLevel literal.
53015CdMimInvalidActionThe supplied action field is invalidThe supplied action is not a valid MarketInstrumentModelAction literal.
53016CdMimXmlParsingFailureThe supplied document could not be parsedThere were fatal syntax errors in the provided XML document.
53017CdMimXmlLoadPartialFailureSome entities were not loaded into CDThe loading of CD data was not a complete success.
53018CdMimInvalidRoleListInvalid comma-separated role listThe format of the supplied role list is invalid.
53019CdMimInvalidMemberTypeInvalid member typeThe supplied member types does not match any of the values in MemberType.
53020CdMimInvalidListOfAliasesThe supplied listOfAliases is invalidThe supplied listOfAliases is invalid
53021CdMimRecursiveEnableFailedFailed to enable some of the requested ElementsFailed to enable some of the requested Elements, sorry
53022CdMimRecursiveDisableFailedFailed to disable some of the requested ElementsFailed to disable some of the requested Elements, sorry
53023CdMimInvalidHolidayScheduleIdInvalid holidayScheduleId fieldInvalid holidayScheduleId field supplied
53024CdMimInvalidHolidayIdInvalid holidayId fieldInvalid holidayId field supplied
53025CdMimInvalidTimeInvalid time format or valueA specified time either hade an invalid format or value
53026CdMimInvalidConvertibleDataInvalid ConvertibleDataThe supplied ConvertibleData is invalid
53027CdMimInvalidRightDataInvalid RightDataThe supplied RightData is invalid
53028CdMimInvalidSubscriptionOptionDataInvalid SubscriptionOptionDataThe supplied SubscriptionOptionData is invalid
53029CdMimInvalidInterimShareDataInvalid InterimShareDataThe supplied InterimShareData is invalid
53030CdMimInvalidWarrantDataInvalid WarrantDataThe supplied WarrantData is invalid
53031CdMimInvalidCertificateDataInvalid CertificateDataThe supplied CertificateData is invalid
53032CdMimInvalidIndustrySectorInvalid IndustrySectorThe supplied IndustrySector is invalid
53033CdMimInvalidTradableInstrumentDataInvalid TradableInstrumentDataThe supplied TradableInstrumentData is invalid
53034CdMimInvalidGenericInstrumentDataInvalid GenericInstrumentDataThe supplied GenericInstrumentData is invalid
53035CdMimInvalidInstrumentTypeDataInvalid InstrumentTypeDataThe supplied InstrumentTypeData is invalid
53036CdMimInvalidTradableInstrumentTypeDataInvalid TradableInstrumentTypeDataThe supplied TradableInstrumentTypeData is invalid
53037CdMimInvalidScheduledCorporateActionIdInvalid ScheduledCorporateActionIdThe supplied TradableInstrumentTypeData is invalid
53038CdMimInvalidCorporateActionEffectIdInvalid CorporateActionEffectIdThe supplied TradableInstrumentTypeData is invalid
53039CdMimNoGlobalTradingProtectionLimitDefinedNo global Trading Protection Limit definedThere is no Global Trading Protection Limit Defined in the system.
53040CdMimRatioCombLegErrorA ratio combination has to have exactly two legs.A ratio combination has to have exactly two legs.
69001CacheConcurrentModificationError updating cache, recursive call to updateCache
69002CacheErrorError updating the Cache. Possible causes: \n 1) A cache Add on something that already exists in the cache. \n 2) A cache update on something that does not exist in the cache.
69003CacheInvalidKeyKey node not foundSupplied key does not match a cache node
69004CacheDbErrorException from dbCache has encountered a db exception while updating
69005CacheEmptyUpdateReqUpdate Req did not supply any update messagesUpdate Req did not supply any update messages
69006CacheNoSuchNodeUpdate req, node not foundNo node found matching update req
69007CacheNodeAlreadyExistsAdd req, cache does already contain nodeCache already contains node
69008CacheValidationFailedCache failed validationCache failed validation
69009CacheValidationIsReferencedNode is referenced and can not be removedNode is referenced and can not be removed
69010CacheInvalidIdId can not be nullMessageDataIf Id can not be null
69011CacheBlobErrorError encoding or decoding a blobA BlobMangler implementation has thrown an exception
72001TaxUnknownFlowunknown broadcast flowClient has specified and unknown broadcast flow when setting up a subscription
72002TaxSubscriptionHandleNotFoundno active subscription found matching provided subscription handleClient has provided an subscription handle that can not be found
72003TaxUnknownInvalidRqstunknown or invalid EMAPI requestEMAPI message is not known or is invalid
72004TaxUnknownInvalidRspwas not able to translate TAP response to EMAPI responseEMAPI message is not known or is invalid
72005TaxUncompleteSnapshotnot all information could be collected successfully in the snapshotSnapshot did not complete successfully
72006TaxUncompleteRecoverynot all information could be collected successfully in the recoveryRecovery did not complete successfully
72007TaxLoginFaileduser login request failedTAX server was not able to logon the user
72008TaxUserSessionAlreadyLoggedInuser session already logged inUser has already logged in the session
72009TaxPreLoginServiceNotUsedPreLogin service is not usedPreLogin service is not used
72010TaxUserHeartbeatInactivityHave not received heartbeats for user, session will be disconnectedHave not received heartbeats for user, session will be disconnected
72011TaxServiceNotAvailableThe TAX server has yet not reached routing state Active, the client should retry laterThe TAX server has not reached routing state Active. Thus it can not service the request yet. The client should retry later.
72012TaxSubscriptionNotAllowedSubscription not allow, it may still be possible to retrieve the current valuesClient has to poll for data instead of setting up a subscription
72013TaxClientVersionMismatchThe client version is not compatible with the server, logon was rejected.
72014TaxInvalidOrderBookFilterInvalid or zero length order book filter.Invalid or zero length order book filter.
72015TaxUserSessionLoginInternalErrorlogin service failed internallyLogin service failed internally
72016TaxUnknownPartitionCan't map request to any partitionPartition mapping failed
72017TaxUnknownRequestTypeUnknown subscription request typeClient has specified an unknown request type when setting up a subscription
72018TaxOwnerMappingNoUserCan't determine userUser can't be determined from the request
72019TaxOwnerMappingNoTradingMemberCan't determine memberMember can't be determined from the request
72020TaxSystemReverseThe system has reverted to a prior state. Some prevoiusly sent updates may be obsolete. Reverse your data structures accordingly and re-synchronizeThe system has reverted to a prior state. This typically happens when an emergency server is activated, which means that some prevoiusly sent updates may be obsolete and must be reverted.
72021TaxTradeReportCounterpartyMemberUnknownCan't determine the counter party member of the trade reportTradeReportReqProcessor, which fills in trading member information in trade reports, can not find the specified counter party member in the reference data.
85001AhsInternalErrorInternal error
85002AhsInvalidSqlThe SQL query does not make sense
1503001CdRtcMessageValidationFailedGeneric no-text error message, text will be set by reporting code.
1503002CdRtcCacheModificationErrorGeneric no-text error message, text will be set by reporting code.
1503003CdRtcTransactionNotAllowedInCurrentSystemStateThe transaction is not allowed in the current system stateSome transactions, particularly reference data update transactions, are only allowed in the system maintenance state.
1503004CdRtcMulipleErrorsMultiple errors occured. More information is provided in the text message.
1503005CdRtcSwitchScheduleErrorError when trying to switch the current rtc schedule to another schedule. More information is provided in the text message.Error when trying to switch the current rtc schedule to another schedule. More information is provided in the text message.
1504001RtcClearingInvalidTradableInstrumentOnTradeTradable instrument on trade is missingTradable instrument on trade is invalid.
1504002RtcClearingInvalidBuyerTradingMemberBuyer trading member on trade is invalidBuyer trading member on trade is invalid.
1504003RtcClearingInvalidSellingTradingMemberSelling trading member on trade is invalidSelling trading member on trade is invalid.
1504004RtcClearingDealManagementNotAllowedForAccountThe service is not allowed for this combination of from and/or to accountsThe service is not allowed for this combination of from and/or to accounts.
1504005RtcClearingInvalidMemberMember Specified in the request is not valid.Member Specified in the request is not valid.
1504006RtcClearingNoValidCmLinkForBuyerTmBuyer Trading Member Specified in the request has no valid Clearing Member Link.Buyer Trading Member Specified in the request is not valid.
1504007RtcClearingNoValidCmLinkForSellerTmSeller Trading Member Specified in the request has no valid Clearing Member Link.Seller Trading Member Specified in the request is not valid.
1504008RtcClearingInvalidAccountAccount Specified in the request is not valid.Account Specified in the request is not valid.
1504009RtcClearingNotHouseAccountAccount Specified is not a house account.Account Specified is not a house account.
1504010RtcClearingMessageValidationFailedGeneric no-text error message, text will be set by reporting code.
1504011RtcClearingCashSettlementVMFailedAn error occured during the execution of cash settlement variation marginAn error occured during the execution of cash settlement variation margin.
1504012RtcClearingInvalidCollateralAccountCollateral Account Specified in the request is not valid.Collateral Account Specified in the request is not valid.
1504013RtcClearing_UNKNOWN_INSTRUMENTGeneric no-text error message, text will be set by reporting code.
1504014RtcClearing_UNKNOWN_ACCOUNTGeneric no-text error message, text will be set by reporting code.
1504015RtcClearing_INVALID_QUANTITYGeneric no-text error message, text will be set by reporting code.
1504016RtcClearing_INVALID_PRICEGeneric no-text error message, text will be set by reporting code.
1504017RtcClearing_MISSING_ALLOCATIONSGeneric no-text error message, text will be set by reporting code.
1504018RtcClearing_MESSAGE_VALIDATION_FAILEDGeneric no-text error message, text will be set by reporting code.
1504019RtcClearing_INVALID_ALLOCATIONGeneric no-text error message, text will be set by reporting code.
1504020RtcClearing_NOT_VALID_FOR_CASH_SETTLEMENTGeneric no-text error message, text will be set by reporting code.
1504021RtcClearing_NO_MARKET_PRICEGeneric no-text error message, text will be set by reporting code.
1504022RtcClearing_CASH_SETTLEMENT_FAILEDGeneric no-text error message, text will be set by reporting code.
1504023RtcClearing_EXPIRATION_FAILEDGeneric no-text error message, text will be set by reporting code.
1504024RtcClearing_EXPIRATION_NOT_SUPPORTED_IN_CURRENT_STATEGeneric no-text error message, text will be set by reporting code.
1504025RtcClearing_EXPIRATION_NOT_SUPPORTEDGeneric no-text error message, text will be set by reporting code.
1504026RtcClearing_INVALID_INSTRUMENT_STATEGeneric no-text error message, text will be set by reporting code.
1504027RtcClearing_INVALID_INSTRUMENT_PLUGINGeneric no-text error message, text will be set by reporting code.
1504028RtcClearing_INVALID_BASIC_ATTRIBUTESGeneric no-text error message, text will be set by reporting code.
1504029RtcClearing_INVALID_ADDITIONAL_ATTRIBUTESGeneric no-text error message, text will be set by reporting code.
1504030RtcClearing_INVALID_PRODUCT_REFERENCEGeneric no-text error message, text will be set by reporting code.
1504031RtcClearing_INVALID_CURRENCY_REFERENCEGeneric no-text error message, text will be set by reporting code.
1504032RtcClearing_NO_BUSINESS_DATEGeneric no-text error message, text will be set by reporting code.
1504033RtcClearing_UNBALANCED_TRANSACTIONGeneric no-text error message, text will be set by reporting code.
1504034RtcClearing_REVERSE_OPERATION_FAILEDGeneric no-text error message, text will be set by reporting code.
1504035RtcClearing_INVALID_PM_PARTITIONGeneric no-text error message, text will be set by reporting code.
1504036RtcClearing_INVALID_PRODUCT_NAMEGeneric no-text error message, text will be set by reporting code.
1504037RtcClearing_INVALID_SYMBOLGeneric no-text error message, text will be set by reporting code.
1504038RtcClearing_INVALID_NAME_FOR_IDGeneric no-text error message, text will be set by reporting code.
1504039RtcClearing_OPERATION_PENDINGGeneric no-text error message, text will be set by reporting code.
1504040RtcClearing_INVALID_TRADABLE_INSTRUMENT_ATTRIBUTESGeneric no-text error message, text will be set by reporting code.
1504041RtcClearing_ID_NOT_UNIQUEGeneric no-text error message, text will be set by reporting code.
1504042RtcClearing_INVALID_ID_FOR_NAMEGeneric no-text error message, text will be set by reporting code.
1504043RtcClearing_INVALID_PRODUCT_IDGeneric no-text error message, text will be set by reporting code.
1504044RtcClearing_INVALID_TRADABLE_INSTRUMENT_IDGeneric no-text error message, text will be set by reporting code.
1504045RtcClearing_INVALID_ACCOUNT_IDGeneric no-text error message, text will be set by reporting code.
1504046RtcClearing_INVALID_ACCOUNT_NAMEGeneric no-text error message, text will be set by reporting code.
1504047RtcClearing_TRADE_NOT_FOUNDGeneric no-text error message, text will be set by reporting code.
1504048RtcClearing_INVALID_TRADE_DESTINATIONGeneric no-text error message, text will be set by reporting code.
1504049RtcClearing_INVALID_TRADE_DESTINATION_ACCOUNTGeneric no-text error message, text will be set by reporting code.
1504050RtcClearing_INVALID_AUTOMATIC_MOVE_ACCOUNT_IDGeneric no-text error message, text will be set by reporting code.
1504051RtcClearing_POSITION_NOT_FOUNDGeneric no-text error message, text will be set by reporting code.
1504052RtcClearing_EXERCISE_FAILEDGeneric no-text error message, text will be set by reporting code.
1504053RtcClearing_TIMESTAMP_IN_THE_PASTGeneric no-text error message, text will be set by reporting code.
1504054RtcClearing_FOUR_EYES_NOT_FOUNDGeneric no-text error message, text will be set by reporting code.
1504055RtcClearing_OPTION_IS_NOT_AMERICANGeneric no-text error message, text will be set by reporting code.
1504056RtcClearing_INSTRUMENT_IS_NOT_AN_OPTIONGeneric no-text error message, text will be set by reporting code.
1504057RtcClearing_INVALID_POSITIONGeneric no-text error message, text will be set by reporting code.
1504058RtcClearing_FOUR_EYES_EXPIREDGeneric no-text error message, text will be set by reporting code.
1504059RtcClearing_INVALID_FOUR_EYES_STATEGeneric no-text error message, text will be set by reporting code.
1504060RtcClearing_INVALID_FOUR_EYES_FILTERGeneric no-text error message, text will be set by reporting code.
1504061RtcClearing_DUPLICATE_MOVE_TRADEGeneric no-text error message, text will be set by reporting code.
1504062RtcClearing_SAVE_OBJECT_FAILEDGeneric no-text error message, text will be set by reporting code.
1504063RtcClearing_CALENDAR_UNDEFINEDGeneric no-text error message, text will be set by reporting code.
1504064RtcClearing_TRANSACTION_NOT_FOUNDGeneric no-text error message, text will be set by reporting code.
1504065RtcClearing_INVALID_SEQ_NOGeneric no-text error message, text will be set by reporting code.
1504066RtcClearing_INVALID_SOURCE_IDGeneric no-text error message, text will be set by reporting code.
1504067RtcClearing_INVALID_SUBSCRIPTION_IDGeneric no-text error message, text will be set by reporting code.
1504068RtcClearing_NOT_SAME_ACCOUNTGeneric no-text error message, text will be set by reporting code.
1504069RtcClearing_NOT_SAME_INSTRUMENTGeneric no-text error message, text will be set by reporting code.
1504070RtcClearing_NOT_SAME_SIDEGeneric no-text error message, text will be set by reporting code.
1504071RtcClearing_NO_REMAINING_QTYGeneric no-text error message, text will be set by reporting code.
1504072RtcClearing_CASH_SETTL_OF_VM_INVALIDGeneric no-text error message, text will be set by reporting code.
1504073RtcClearing_INVALID_CLIENT_DEAL_IDGeneric no-text error message, text will be set by reporting code.
1504074RtcClearing_CONCURRENT_POSITION_MODIFICATIONGeneric no-text error message, text will be set by reporting code.
1504075RtcClearing_SESSION_TOKEN_REQUIREDGeneric no-text error message, text will be set by reporting code.
1504076RtcClearing_GATHER_CASH_NOT_ALLOWEDGeneric no-text error message, text will be set by reporting code.
1504077RtcClearing_GATHER_CASH_FAILUREGeneric no-text error message, text will be set by reporting code.
1504078RtcClearing_AMBIGUOUS_INSTRUMENT_ROUTINGGeneric no-text error message, text will be set by reporting code.
1504079RtcClearing_INVALID_INSTRUMENTGeneric no-text error message, text will be set by reporting code.
1504080RtcClearing_INVALID_BOOKMARKGeneric no-text error message, text will be set by reporting code.
1504081RtcClearing_DUPLICATE_TRADE_IDGeneric no-text error message, text will be set by reporting code.
1504082RtcClearing_INVALID_INSTRUMENT_LISTGeneric no-text error message, text will be set by reporting code.
1504083RtcClearing_INVALID_DEAL_BUNDLE_LISTGeneric no-text error message, text will be set by reporting code.
1504084RtcClearing_INVALID_HISTORY_FILTERGeneric no-text error message, text will be set by reporting code.
1504085RtcClearing_INVALID_UNDERLYING_REFERENCEGeneric no-text error message, text will be set by reporting code.
1504086RtcClearing_NOT_VALID_FOR_GENERIC_EVENTGeneric no-text error message, text will be set by reporting code.
1504087RtcClearing_GENERIC_EVENT_FAILEDGeneric no-text error message, text will be set by reporting code.
1504088RtcClearing_INVALID_INSTRUMENT_SPECIFIC_ATTRIBUTESGeneric no-text error message, text will be set by reporting code.
1504089RtcClearing_SERVICE_UNAVAILABLEGeneric no-text error message, text will be set by reporting code.
1504090RtcClearing_UNKNOWN_REQUEST_TYPEGeneric no-text error message, text will be set by reporting code.
1504091RtcClearing_INTERNAL_DATABASE_ERRORGeneric no-text error message, text will be set by reporting code.
1504092RtcClearing_INTERNAL_TIMEOUT_ERRORGeneric no-text error message, text will be set by reporting code.
1504093RtcClearing_INTERNAL_ERRORGeneric no-text error message, text will be set by reporting code.
1504094RtcClearing_NOT_INITIALIZEDGeneric no-text error message, text will be set by reporting code.
1504095RtcClearing_TIMED_OUT_OPERATIONGeneric no-text error message, text will be set by reporting code.
1504096RtcClearing_CONCURRENT_OPERATIONGeneric no-text error message, text will be set by reporting code.
1504097RtcClearing_INVALID_FROM_ACCOUNTGeneric no-text error message, text will be set by reporting code.
1504098RtcClearing_TRADE_IN_THE_PASTGeneric no-text error message, text will be set by reporting code.
1504099RtcClearing_DEAL_MANAGEMENT_NOT_ALLOWEDGeneric no-text error message, text will be set by reporting code.
1504100RtcClearing_FOUR_EYES_ALREADY_EXISTSGeneric no-text error message, text will be set by reporting code.
1504101RtcClearing_INVALID_INITIATORGeneric no-text error message, text will be set by reporting code.
1504102RtcClearing_INVALID_CLIENTGeneric no-text error message, text will be set by reporting code.
1504103RtcClearing_MTM_PRICE_MISSING_FOR_INSTRUMENTGeneric no-text error message, text will be set by reporting code.
1504104RtcClearing_INVALID_DELIVERY_INSTRUCTION_IDGeneric no-text error message, text will be set by reporting code.
1504105RtcClearing_ONGOING_FUTURES_EXPIRYGeneric no-text error message, text will be set by reporting code.
1504106RtcClearing_ONGOING_CASH_SETTLEMENTGeneric no-text error message, text will be set by reporting code.
1504107RtcClearing_CALC_DIVIDEND_FAILEDGeneric no-text error message, text will be set by reporting code.
1504108RtcClearing_TRADE_MANAGEMENT_NOT_OPENGeneric no-text error message, text will be set by reporting code.
1504109RtcClearing_INVALID_ORIGINAL_TRADING_SYSTEM_TRADE_MATCH_IDGeneric no-text error message, text will be set by reporting code.
1504110RtcClearing_SUB_ACCOUNT_MODIFICATION_NOT_ALLOWEDGeneric no-text error message, text will be set by reporting code.
1504111RtcClearing_INSTRUMENT_NOT_EXPIREDGeneric no-text error message, text will be set by reporting code.
1504112RtcClearing_AUTHORIZATION_FAILEDGeneric no-text error message, text will be set by reporting code.
1504113RtcClearing_UNKNOW_COMMISSIONGeneric no-text error message, text will be set by reporting code.
1504114RtcClearing_EXISTING_COMMISSIONGeneric no-text error message, text will be set by reporting code.
1504115RtcClearing_INVALID_STATUSGeneric no-text error message, text will be set by reporting code.
1504116RtcClearing_INVALID_MEMBERGeneric no-text error message, text will be set by reporting code.
1504117RtcClearing_OPEN_INTEREST_NETTING_GROUP_ALREADY_EXISTSGeneric no-text error message, text will be set by reporting code.
1505001RtcMessageAlreadyProcessedThis message has already been processedThis message has already been processed. No action taken.
1506001RtcRisk_INVALID_QUANTITYGeneric no-text error message, text will be set by reporting code.
1506002RtcRisk_INVALID_VALUEGeneric no-text error message, text will be set by reporting code.
1506003RtcRisk_INVALID_SETTLEMENT_DATEGeneric no-text error message, text will be set by reporting code.
1506004RtcRisk_NO_BUSINESS_DATEGeneric no-text error message, text will be set by reporting code.
1506005RtcRisk_INVALID_INSTRUMENT_PLUGINGeneric no-text error message, text will be set by reporting code.
1506006RtcRisk_INVALID_BASIC_ATTRIBUTESGeneric no-text error message, text will be set by reporting code.
1506007RtcRisk_INVALID_ADDITIONAL_ATTRIBUTESGeneric no-text error message, text will be set by reporting code.
1506008RtcRisk_INVALID_PRODUCT_REFERENCEGeneric no-text error message, text will be set by reporting code.
1506009RtcRisk_INVALID_CURRENCY_REFERENCEGeneric no-text error message, text will be set by reporting code.
1506010RtcRisk_INVALID_TRADABLE_INSTRUMENT_ATTRIBUTESGeneric no-text error message, text will be set by reporting code.
1506011RtcRisk_DUPLICATE_IDGeneric no-text error message, text will be set by reporting code.
1506012RtcRisk_INVALID_NAME_FOR_IDGeneric no-text error message, text will be set by reporting code.
1506013RtcRisk_IDENTICAL_OPERATION_PENDINGGeneric no-text error message, text will be set by reporting code.
1506014RtcRisk_UNKNOWN_RISK_NODEGeneric no-text error message, text will be set by reporting code.
1506015RtcRisk_UNKNOWN_ACCOUNTGeneric no-text error message, text will be set by reporting code.
1506016RtcRisk_UNKNOWN_INSTRUMENTGeneric no-text error message, text will be set by reporting code.
1506017RtcRisk_INVALID_PARTITIONGeneric no-text error message, text will be set by reporting code.
1506018RtcRisk_INVALID_PRODUCT_NAMEGeneric no-text error message, text will be set by reporting code.
1506019RtcRisk_INVALID_SYMBOLGeneric no-text error message, text will be set by reporting code.
1506020RtcRisk_ID_NOT_UNIQUEGeneric no-text error message, text will be set by reporting code.
1506021RtcRisk_INVALID_ID_FOR_NAMEGeneric no-text error message, text will be set by reporting code.
1506022RtcRisk_INVALID_PRODUCT_IDGeneric no-text error message, text will be set by reporting code.
1506023RtcRisk_INVALID_TRADABLE_INSTRUMENT_IDGeneric no-text error message, text will be set by reporting code.
1506024RtcRisk_INVALID_ACCOUNT_IDGeneric no-text error message, text will be set by reporting code.
1506025RtcRisk_INVALID_ACCOUNT_NAMEGeneric no-text error message, text will be set by reporting code.
1506026RtcRisk_INVALID_CALCULATOR_PROVIDER_IDGeneric no-text error message, text will be set by reporting code.
1506027RtcRisk_INVALID_CALCULATOR_CONFIG_ATTRIBUTESGeneric no-text error message, text will be set by reporting code.
1506028RtcRisk_UNKNOWN_CALCULATOR_IDGeneric no-text error message, text will be set by reporting code.
1506029RtcRisk_INVALID_FOREX_IDGeneric no-text error message, text will be set by reporting code.
1506030RtcRisk_INVALID_FOREX_ATTRIBUTESGeneric no-text error message, text will be set by reporting code.
1506031RtcRisk_UNKNOWN_FILTER_IDGeneric no-text error message, text will be set by reporting code.
1506032RtcRisk_UNKNOWN_EVALUATOR_IDGeneric no-text error message, text will be set by reporting code.
1506033RtcRisk_DUPLICATE_CHANNEL_NAMEGeneric no-text error message, text will be set by reporting code.
1506034RtcRisk_INVALID_RISK_LIMITGeneric no-text error message, text will be set by reporting code.
1506035RtcRisk_RISK_NODE_NOT_READY_FOR_UPDATEGeneric no-text error message, text will be set by reporting code.
1506036RtcRisk_UNKNOWN_CHANNELGeneric no-text error message, text will be set by reporting code.
1506037RtcRisk_DEFAULT_CHANNEL_MUST_EXISTGeneric no-text error message, text will be set by reporting code.
1506038RtcRisk_UNKNOWN_OBJECTGeneric no-text error message, text will be set by reporting code.
1506039RtcRisk_INVALID_FILTER_CONFIGURATIONGeneric no-text error message, text will be set by reporting code.
1506040RtcRisk_INVALID_EVALUATOR_CONFIGURATIONGeneric no-text error message, text will be set by reporting code.
1506041RtcRisk_EVALUATOR_IS_IN_USEGeneric no-text error message, text will be set by reporting code.
1506042RtcRisk_FILTER_IS_IN_USEGeneric no-text error message, text will be set by reporting code.
1506043RtcRisk_CALCULATOR_IS_IN_USEGeneric no-text error message, text will be set by reporting code.
1506044RtcRisk_INVALID_BOOKMARKGeneric no-text error message, text will be set by reporting code.
1506045RtcRisk_MARKETDATA_MISSINGGeneric no-text error message, text will be set by reporting code.
1506046RtcRisk_POSITION_MISSINGGeneric no-text error message, text will be set by reporting code.
1506047RtcRisk_DUPLICATE_FOREXGeneric no-text error message, text will be set by reporting code.
1506048RtcRisk_INVALID_BUSINESS_DATEGeneric no-text error message, text will be set by reporting code.
1506049RtcRisk_INVALID_TRACEABLE_CALC_IDGeneric no-text error message, text will be set by reporting code.
1506050RtcRisk_INVALID_BACKTESTING_IDGeneric no-text error message, text will be set by reporting code.
1506051RtcRisk_SUBSCRIPTION_ERRORGeneric no-text error message, text will be set by reporting code.
1506052RtcRisk_INVALID_UNDERLYING_REFERENCEGeneric no-text error message, text will be set by reporting code.
1506053RtcRisk_SERVICE_UNAVAILABLEGeneric no-text error message, text will be set by reporting code.
1506054RtcRisk_FAILED_RISK_CALCULATIONGeneric no-text error message, text will be set by reporting code.
1506055RtcRisk_CALCULATOR_ERRORGeneric no-text error message, text will be set by reporting code.
1506056RtcRisk_CANNOT_HANDLE_RISKNODEGeneric no-text error message, text will be set by reporting code.
1506057RtcRisk_TIMED_OUT_OPERATIONGeneric no-text error message, text will be set by reporting code.
1506058RtcRisk_CONCURRENT_OPERATIONGeneric no-text error message, text will be set by reporting code.
1506059RtcRisk_CALCULATION_RESULT_EVALUATOR_ERRORGeneric no-text error message, text will be set by reporting code.
1506060RtcRisk_INTERNAL_ERRORGeneric no-text error message, text will be set by reporting code.
1506061RtcRisk_CURRENCY_CONVERSION_ERRORGeneric no-text error message, text will be set by reporting code.
1506062RtcRisk_MULTIPLE_CALCULATOR_ERRORGeneric no-text error message, text will be set by reporting code.
1506063RtcRisk_MISSING_HISTORICAL_PRICESGeneric no-text error message, text will be set by reporting code.
1506064RtcRisk_MISSING_CLOSING_PRICESGeneric no-text error message, text will be set by reporting code.
1506065RtcRisk_MISSING_JSPAN_ATTRIBUTESGeneric no-text error message, text will be set by reporting code.
1506066RtcRisk_DB_OPERATION_FAILEDGeneric no-text error message, text will be set by reporting code.
1506067RtcRisk_IMR_CALCULATION_FAILEDGeneric no-text error message, text will be set by reporting code.
1506068RtcRisk_INVALID_MARKETGeneric no-text error message, text will be set by reporting code.
1506069RtcRisk_FAILED_RISK_ARRAY_CALCULATIONGeneric no-text error message, text will be set by reporting code.
1506070RtcRisk_INVALID_MARKETDATAPRICEKEYSGeneric no-text error message, text will be set by reporting code.
1506071RtcRisk_INVALID_DELETEGeneric no-text error message, text will be set by reporting code.
1506072RtcRisk_NO_MARKET_PRICEGeneric no-text error message, text will be set by reporting code.
1506073RtcRisk_NO_INSTRUMENTS_FOR_BACKTESTINGGeneric no-text error message, text will be set by reporting code.
1506074RtcRisk_HISTORICAL_DATA_NOT_FOUNDGeneric no-text error message, text will be set by reporting code.
1506075RtcRisk_UNKNOWN_STRESS_SCENARIO_FACTORGeneric no-text error message, text will be set by reporting code.
1506076RtcRisk_HISTORICAL_STRESSTEST_NOT_PERMITTEDGeneric no-text error message, text will be set by reporting code.
1506077RtcRisk_INVALID_CALCULATOR_CONFIGGeneric no-text error message, text will be set by reporting code.
1506078RtcRisk_AUTHORIZATION_FAILEDGeneric no-text error message, text will be set by reporting code.
1506079RtcRisk_SERVICE_NOT_SUPPORTEDGeneric no-text error message, text will be set by reporting code.
1506080RtcRisk_MULTIPLE_PARTITIONS_REQUESTEDGeneric no-text error message, text will be set by reporting code.
1506081RtcRisk_INVALID_LAMBDA_NAMEGeneric no-text error message, text will be set by reporting code.
1506082RtcRisk_INVALID_WHAT_IF_CALC_IDGeneric no-text error message, text will be set by reporting code.
1506083RtcRisk_INVALID_WHAT_IF_REQUESTGeneric no-text error message, text will be set by reporting code.
1507001RtcMarketData_PARTIAL_SUCCESSGeneric no-text error message, text will be set by reporting code.
1507002RtcMarketData_INTERNAL_SERVER_ERRORGeneric no-text error message, text will be set by reporting code.
1507003RtcMarketData_NO_RECORD_FOUNDGeneric no-text error message, text will be set by reporting code.
1507004RtcMarketData_TARGET_SERVER_NOT_AVAILABLEGeneric no-text error message, text will be set by reporting code.
1507005RtcMarketData_REQUEST_INTERNAL_TIMEOUTGeneric no-text error message, text will be set by reporting code.
1507006RtcMarketData_REFERENCE_DATA_MISSINGGeneric no-text error message, text will be set by reporting code.
1507007RtcMarketData_MARKET_DATA_MISSINGGeneric no-text error message, text will be set by reporting code.
1507008RtcMarketData_VALUATION_FAILEDGeneric no-text error message, text will be set by reporting code.
1507009RtcMarketData_DISPATCH_ERRORGeneric no-text error message, text will be set by reporting code.
1507010RtcMarketData_MISSING_HISTORICAL_PRICESGeneric no-text error message, text will be set by reporting code.
1507011RtcMarketData_MISSING_CLOSING_PRICESGeneric no-text error message, text will be set by reporting code.
1507012RtcMarketData_MISSING_JSPAN_ATTRIBUTESGeneric no-text error message, text will be set by reporting code.
1507013RtcMarketData_DB_OPERATION_FAILEDGeneric no-text error message, text will be set by reporting code.
1507014RtcMarketData_IMR_CALCULATION_FAILEDGeneric no-text error message, text will be set by reporting code.
1507015RtcMarketData_INVALID_MARKETGeneric no-text error message, text will be set by reporting code.
1507016RtcMarketData_EXTERNAL_USER_ERRORGeneric no-text error message, text will be set by reporting code.
1507017RtcMarketData_ILLEGAL_ARGUMENT_VALUEGeneric no-text error message, text will be set by reporting code.
1507018RtcMarketData_ERRONEOUS_SUBSCRIPTION_IDGeneric no-text error message, text will be set by reporting code.
1507019RtcMarketData_SERVICE_UNAVAILABLEGeneric no-text error message, text will be set by reporting code.
1507020RtcMarketData_INVALID_BOOKMARKGeneric no-text error message, text will be set by reporting code.
1507021RtcMarketData_INSTRUMENT_DOES_NOT_EXISTGeneric no-text error message, text will be set by reporting code.
1507022RtcMarketData_INCORRECT_INSTRUMENT_TYPEGeneric no-text error message, text will be set by reporting code.
1507023RtcMarketData_MISSING_REQUIRED_FIELDGeneric no-text error message, text will be set by reporting code.
1507024RtcMarketData_REFERENCE_DATA_UPDATINGGeneric no-text error message, text will be set by reporting code.
1507025RtcMarketData_UNHANDLED_INSTRUMENT_CLASSGeneric no-text error message, text will be set by reporting code.
1507026RtcMarketData_PARTIALSUCCESSGeneric no-text error message, text will be set by reporting code.
1507027RtcMarketData_AUTHORIZATION_FAILEDGeneric no-text error message, text will be set by reporting code.
1508001RtcSettlement_INVALID_NETTING_RULE_IDGeneric no-text error message, text will be set by reporting code.
1508002RtcSettlement_INVALID_NETTING_RULE_NAMEGeneric no-text error message, text will be set by reporting code.
1508003RtcSettlement_INVALID_NETTING_RULE_ACCOUNTGeneric no-text error message, text will be set by reporting code.
1508004RtcSettlement_INVALID_EXTERNAL_ACCOUNT_REFGeneric no-text error message, text will be set by reporting code.
1508005RtcSettlement_CONCURRENT_POSITION_MODIFICATIONGeneric no-text error message, text will be set by reporting code.
1508006RtcSettlement_INVALID_ACCOUNT_IDGeneric no-text error message, text will be set by reporting code.
1508007RtcSettlement_EXTERNAL_REF_NOT_DEFINEDGeneric no-text error message, text will be set by reporting code.
1508008RtcSettlement_NO_CLEARING_HOUSE_ACCOUNTGeneric no-text error message, text will be set by reporting code.
1508009RtcSettlement_INVALID_INSTRUCTION_IDGeneric no-text error message, text will be set by reporting code.
1508010RtcSettlement_INVALID_NETTING_RULE_TYPEGeneric no-text error message, text will be set by reporting code.
1508011RtcSettlement_INVALID_NETTING_RULE_FILTERGeneric no-text error message, text will be set by reporting code.
1508012RtcSettlement_INVALID_AMOUNTGeneric no-text error message, text will be set by reporting code.
1508013RtcSettlement_INVALID_ACCOUNTGeneric no-text error message, text will be set by reporting code.
1508014RtcSettlement_DUPLICATE_CLIENT_DEPOSIT_IDGeneric no-text error message, text will be set by reporting code.
1508015RtcSettlement_TOO_LARGE_WITHDRAWALGeneric no-text error message, text will be set by reporting code.
1508016RtcSettlement_NO_USER_SPECIFIEDGeneric no-text error message, text will be set by reporting code.
1508017RtcSettlement_INVALID_BOOKMARKGeneric no-text error message, text will be set by reporting code.
1508018RtcSettlement_INVALID_SETTLEMENT_RUN_IDGeneric no-text error message, text will be set by reporting code.
1508019RtcSettlement_INVALID_INSTRUCTIONGeneric no-text error message, text will be set by reporting code.
1508020RtcSettlement_UNKNOWN_ACCOUNTGeneric no-text error message, text will be set by reporting code.
1508021RtcSettlement_UNKNOWN_SSIGeneric no-text error message, text will be set by reporting code.
1508022RtcSettlement_UNKNOWN_INSTRUCTIONGeneric no-text error message, text will be set by reporting code.
1508023RtcSettlement_UNKNOWN_SETTLEMENT_RUNGeneric no-text error message, text will be set by reporting code.
1508024RtcSettlement_INVALID_SSI_IDGeneric no-text error message, text will be set by reporting code.
1508025RtcSettlement_MESSAGE_ALREADY_PROCESSEDGeneric no-text error message, text will be set by reporting code.
1508026RtcSettlement_INVALID_INSTRUCTION_STATEGeneric no-text error message, text will be set by reporting code.
1508027RtcSettlement_EXTERNAL_ACCOUNT_NOT_FOUNDGeneric no-text error message, text will be set by reporting code.
1508028RtcSettlement_SETTLEMENT_RUN_IN_STARTED_STATEGeneric no-text error message, text will be set by reporting code.
1508029RtcSettlement_ADD_SETTLED_AMOUNT_FAILEDGeneric no-text error message, text will be set by reporting code.
1508030RtcSettlement_INVALID_INSTRUCTION_AMOUNTGeneric no-text error message, text will be set by reporting code.
1508031RtcSettlement_INVALID_SETTLEMENT_RUN_STATEGeneric no-text error message, text will be set by reporting code.
1508032RtcSettlement_SETTLEMENT_RUN_NOT_IN_CREATED_STATEGeneric no-text error message, text will be set by reporting code.
1508033RtcSettlement_SETTLEMENT_RUN_IS_CANCELEDGeneric no-text error message, text will be set by reporting code.
1508034RtcSettlement_INVALID_SETTLEMENT_RUN_FILTERGeneric no-text error message, text will be set by reporting code.
1508035RtcSettlement_INVALID_INSTRUCTION_FILTERGeneric no-text error message, text will be set by reporting code.
1508036RtcSettlement_INVALID_TRADABLE_INSTRUMENT_IDGeneric no-text error message, text will be set by reporting code.
1508037RtcSettlement_SERVICE_UNAVAILABLEGeneric no-text error message, text will be set by reporting code.
1508038RtcSettlement_INTERNAL_ERRORGeneric no-text error message, text will be set by reporting code.
1508039RtcSettlement_REQUEST_TIMED_OUTGeneric no-text error message, text will be set by reporting code.
1508040RtcSettlement_REQUEST_TIMED_OUT_STATE_MAY_HAVE_CHANGEDGeneric no-text error message, text will be set by reporting code.
1508041RtcSettlement_VALIDATION_ERRORGeneric no-text error message, text will be set by reporting code.
1508042RtcSettlement_NO_INSTRUMENTSGeneric no-text error message, text will be set by reporting code.
1508043RtcSettlement_AUTHORIZATION_FAILEDGeneric no-text error message, text will be set by reporting code.
1508044RtcSettlement_DAS_OBJECT_NOT_CREATEDGeneric no-text error message, text will be set by reporting code.
1510001BdxRtcMessageValidationFailedGeneric no-text error message, text will be set by reporting code.
1512001RtcDatawarehouse_VALIDATION_ERRORGeneric no-text error message, text will be set by reporting code.
1512002RtcDatawarehouse_SERVICE_UNAVAILABLEGeneric no-text error message, text will be set by reporting code.
1512003RtcDatawarehouse_INTERNAL_ERRORGeneric no-text error message, text will be set by reporting code.
1512004RtcDatawarehouse_SUCCESSGeneric no-text error message, text will be set by reporting code.
1513001TaxEndOfDayServiceNotAvailableThe end of day service is not available in this TAX serverEnd of day service not available.
1513002Tax_MORE_THAN_EXPECTED_POSITIONSGeneric no-text error message, text will be set by reporting code.
1513003TaxMessageValidationFailedGeneric no-text error message, text will be set by reporting code.