Dealerweb Trade Connector
Features
fix-dealerwebConnector KeyNotes
Time In Force
timeInForce(59) DAY value turns to FILL_AND_STORE by default.
Pool ID
PoolId(691) contains the exchange value when specified.
User mapping
The Dealerweb connector maps internal trader IDs ('users') to exchange trader IDs (many-to-one).
For example, users user1, user01, firstTrader may map to exchange trader icapdevexetrd1; users u2, second to icapdevexetrd2, etc.
Users in mappings must not repeat.
A defaultUser can be configured: if the order's user cannot be mapped to a valid exchange trader, the default user is used instead.
If no default user is configured and the order's user has no valid mapping, the order is rejected with 'can't find user mapping'.
If no default user is configured and the order's user has a mapping but that trader is not logged in, the order is rejected with 'user not logged in'.
Logon attempts
The number of trader logon attempts can be configured with the logonAttempts setting.
The interval between attempts can be configured with logonInterval.
Self Match Prevention ID
Clients who opt to leverage Self-Match Prevention functionality will submit 7928 tag to prevent trading against an opposite side order with the same SMP ID.
This feature may lead to a crossed market. If this field is populated but the given pool is not enabled for self-match, the order will be rejected.
Self Match Prevention Mode
Indicate the mode for SMP. The default value is DISABLED.
| Config Value | Tag 7929 | Description |
|---|---|---|
DISABLED | N | Orders with the same SMP ID will be categorized as Internalization match and will be given matching preference over other orders at the same price. |
ENABLED | Y | Orders with the same SMP ID will be excluded from matching. This value is assumed if this tag is missing. |
EXCLUSIVE | E | Orders with the same SMP ID will be categorized as Exclusive match and will only match with orders of the same SMP ID. |
Symbology
Description for Security Metadata
| Extra Attribute | Required? | FIX Tag | Description |
|---|---|---|---|
| Symbol | Yes | Symbol (55) | Security description. The value sent is not significant. |
| Nickname | Yes | SecurityID (48) | The instrument identifier uniquely identifies an instrument in the core system. Can be used nickname |
| SecurityId | Yes | Prefix of the SecurityID for the instrument without ActiveStream route, to identify returned code to symbol. | |
| PoolId | No | PoolId(691) | Specify PoolId for specific exchange. Exchange used first, then PoolId from SMD. |
Example:
| Instrument Type | Symbol | Attribute | Attribute |
|---|---|---|---|
| Nickname | SecurityId | ||
| Bond | DWEB 2Y | OTR_2 | 9128284Y3180831_A |
| Bond | DWEB 5 YEAR | 9128285D8181001_A | 9128285D8181001_A |
Note: SecurityId values may be changed by DealerWeb.
Security Metadata and Configuration options
This section explains how the two instrument identification options — exactMatch and lookupByCusip — affect instrument lookup.
The following examples assume this Execution Report received from DealerWeb:
8=FIX.4.4|9=229|35=D|34=1|49=DWMDT|50=dwmdtdevexe1|56=DEALERWEB|57=dealerweb_exe|52=20250626-14:36:51.024|1=dwmdtdevtrd1|210=10|22=8|48=OTR_2|21=R|40=2|59=8|691=DWMDTCASC02|11=3010895|55=OTR_2|54=1|60=20250626-14:36:51.024|38=10|44=99.396484375|10=187|
8=FIX.4.4|9=368|35=8|34=1|49=DEALERWEB|50=dealerweb_exe|52=20250626-14:36:51.029|56=DWMDT|57=dwmdtdevexe1|41=3010895|6=0|11=3010895|37=5704094109598220291|150=I|39=0|40=2|1=dwmdtdevtrd1|48=91282CNL1250630_A-W372639|55=2 year DWMDTCASC02|22=8|691=DWMDTCASC02|454=1|455=91282CNL1|456=1|54=1|38=10|17=5704200354205726118|210=10|44=99.396484375|151=10|14=0|60=20250626-14:36:51.028|423=3|10=092|
Option exactMatch
If set to true, all other options are ignored.
When enabled, the SecurityId column in the security stream must exactly match the SecurityId (tag 48) value in the Execution Report.
In the example above, the SecurityId field must be set to 91282CNL1250630_A-W372639.
Option lookupByCusip
Note: If this option is set to true, exactMatch must be set to false.
When enabled, only the first 9 characters of SecurityId (the CUSIP prefix) are compared between the security stream and the Execution Report.
For example, if securities has SecurityId 91282CNL1250630_A and the Execution Report carries 91282CNL1250630_A-W372639 in tag 48, both resolve to CUSIP prefix 91282CNL1 and match.
No Options
When both options are disabled, behavior is similar to exactMatch except the tag 48 value from the Execution Report is trimmed at the - character before comparison.
In the example, 91282CNL1250630_A-W372639 becomes 91282CNL1250630_A, which must match the SecurityId column.
Schedule
Time Zone: America/New_York
| Session | Start Time | Start Day | End Time | End Day |
|---|---|---|---|---|
| Session 1 | 18:25 | Sunday | 17:35 | Monday |
| Session 2 | 18:25 | Monday | 17:35 | Tuesday |
| Session 3 | 18:25 | Tuesday | 17:35 | Wednesday |
| Session 4 | 18:25 | Wednesday | 17:35 | Thursday |
| Session 5 | 18:25 | Thursday | 17:35 | Friday |
Configuration
Connector settings
| Parameter | Default Value | Description |
|---|---|---|
| defaultUser | Default DWEB user. | |
| password | Login password. | |
| logonAttempts | 1 | The number of login attempts in case of failure. |
| logonInterval | 1s | The interval between login attempts. |
| exactMatch | false | Define if Nickname should exactly match SecurityID. |
| useExchange | true | Define whether to send request's exchange as Pool ID. If false - Pool ID specified on instrument level will be used. |
| useTrader | false | Define whether to send request's traderId as User ID when traderId is not in the mapping. |
| lookupByCusip | false | Allow to lookup order event only by CUSIP part of SecurityID(48). |
| selfMatchPreventionMode | DISABLED | SMP Mode. See allowed values in Config Value column.. |
| selfMatchPreventionId | SMP ID. | |
| ➡️ Trader Mapping Settings | ||
| users.traderId | DWEB user id. | |
| users.password | DWEB user password. | |
| users.deltixTraders | The list of traders mapped to the this DWEB user. |
Supported order attributes
| Key | Description |
|---|---|
| 18 | ExecInst(18). If more than one instruction is applicable to an order, this field can contain multiple instructions separated by space. |
| 21 | HandlInst(21). Valid values: O - Best, R - Leave (default). |
| 40 | OrderType(40). |
| 59 | TimeInForce(59). |
| 691 | PoolID(691). |
| 7928 | SelfMatchPreventionID(7928). Clients who opt to leverage Self-Match Prevention functionality will submit this tag to prevent trading against an opposite side order with the same SMP ID. |
| 7929 | SelfMatchPreventionMode(7929). See allowed values in tag 7929 column.. |
Config sample
connectors {
DEALERWEB : ${template.connector.fix.dealerweb} {
settings {
host = "<HOST>"
port = <PORT>
senderCompId = "<SENDER_COMP_ID>"
targetCompId = "<TARGET_COMP_ID>"
senderSubId = "<SENDER_SUB_ID>"
targetSubId = "<TARGET_SUB_ID>"
password = "<PASSWORD>"
logonAttempts = 1
defaultUser = "<DEFAULT_DWEB_USER>"
users = [
{
traderId = "<DWEB_USER_ID_1>"
password = "<PASSWORD>"
deltixTraders = ["deltixTrader2","deltixTrader002"]
},
{
traderId = "<DWEB_USER_ID_2>"
password = "<PASSWORD>"
deltixTraders = ["deltixTrader1","deltixTrader001"]
},
{
traderId = "<DWEB_USER_ID>"
password = "<PASSWORD>"
deltixTraders = ["deltixTrader3","deltixTrader003"]
}
]
}
}
}