Skip to main content

Royal Bank of Canada Trade Connector

Features​

fix-rbcConnector Key
Instruments
FX
Request Types
SUBMITCANCELREPLACE
Order Types
MARKETLIMIT
Time In Force
DAY
Order ID Mapper
SEQUENCE
✓
Order Status Request
✗
Cancel On Disconnect
✗
Commission
✗
Post Only
✗
Fast Cancel
✗
Fast Replace

Notes​

Reset Sequence Numbers​

Per RBC documentation, resetSeqNums must always be set to true.

Algo Trading​

Algo Trading is implemented via strategies and uses the following tags:

  • 7620 - AlgoName
  • 168 - StartTime
  • 126 - EndTime

plus additional strategy-specific tags (see Strategy parameters below).

Strategy parameters​

Strategies use three repeating tags: 958, 959, 960 — each triplet represents one strategy parameter entry. A NewOrderRequest may contain multiple entries, but they must be sent in the order: 958, 959, 960, 958, 959, 960, ...

Example from documentation:

TagField NameValue
957NoStrategyParameters4
958StrategyParameterNameEnablePriceSensitivity
959StrategyParameterType13 (Boolean)
960StrategyParameterValueY
958StrategyParameterNamePriceSensitivityLevel
959StrategyParameterType1 (Int)
960StrategyParameterValue1
958StrategyParameterNameMinimumQuantityPercent
959StrategyParameterType6 (float)
960StrategyParameterValue42.5
958StrategyParameterNameLiquidityPreference
959StrategyParameterType14 (String)
960StrategyParameterValueboth

Tag 957 (NoStrategyParameters) represents the group count and is set automatically by the connector.

Trading in Term Currency​

Order side always reflects direction in terms of the base currency.

Symbology​

Currency pairs in CCY1/CCY2 format (CCY1 = base, CCY2 = term).

ParameterValue
TimeZoneEtc/UTC
Start time22:15:00
End time22:00:00
Daily sessionYes

Configuration​

Connector settings​

ParameterDefault ValueDescription
partyIdSourcepartyIdSource(447)
partyIdpartyId(448)
accountaccount(1)

Supported order attributes​

KeyDescription
7620AlgoName(7620)
168StartTime(168)
126ExpireTime(126)
958StrategyParameterName(958)
959StrategyParameterType(959)
960StrategyParameterValue(960)

Config sample​

connectors {
RBC : ${template.connector.fix.rbc} {
settings : {
host = "<HOST>"
port = <PORT>

senderCompId = "<SENDER_COMP_ID>"
targetCompId = "<TARGET_COMP_ID>"

partyIdSource = "<PARTY_ID_SOURCE>"
partyId = "<PARTY_ID>"

account = "<ACCOUNT>"
}
}
}