FlexONE Trade Connector
Features
custom-flexoneConnector Key✗
Order Status Request
✗
Cancel On Disconnect
✗
Commission
✗
Post Only
✗
Fast Cancel
✗
Fast Replace
Notes
Self-signed certificate
If server uses self-signed certificate it can be defined via CAfile property:
CAfile = "C:/FlexONE/self-signed-certificate.pem"
Example command to retrieve the server certificate using openssl:
openssl s_client -showcerts -connect flexone-api.flextrade.com:50052 < /dev/null | openssl x509 -outform PEM > flexone-api.flextrade.com.pem
Configuration
| Settings | Custom Tag | Securities Column | Default Value | Description |
|---|---|---|---|---|
| brokerAutomationType | AUTOROUTE | Broker automation setting. Valid values: NO_AUTOMATION, AUTOROUTE, PASSTHROUGH, CUSTOM_EMS_ROUTING, ALGOWHEEL | ||
| broker | 7204 | Executing broker/destination | ||
| useAccountTypeDefault | 7205 | Default account type flag. Allowed values: true, false. | ||
| skipLocate | 7206 | Skip locate flag. Allowed values: true, false. | ||
| overrideMarking | 7207 | Keep the mark and skip auto marking. Allowed values: true, false. | ||
| accountType | PRIME | Account Type. Valid values: PRIME, SWAP, OTC | ||
| clientBatchIdentifier | 7202 | Client Batch Identifier | ||
| positionGroup | 7203 | Position Group | ||
| quantityType | 7208 | QUANTITY | Quantity Type. Valid values: QUANTITY, NOTIONAL | |
| portfolio | Portfolio | |||
| allowedFixTags | List of custom order attributes which should be passed in order's fixTags property. | |||
| attributes | 7201 | Order attributes |
Named Parameters
Multiple named parameter sets can be configured and selected per order by passing the set name in tag 7210.
Parameters priority (topmost overrides the below ones):
- Named parameters
- Parameters passed in custom tags
- Default parameters
Quantity Type
note
Quantity Type is always NOTIONAL for BOND instruments.
Symbology
Load Security Definition
To load security definition upon connector connect - configure the following properties:
securityDefinition = {
securityType = EQUITY
securityIdentifierType = UNSET_SECURITY_IDENTIFIER_TYPE
excludeExpired = true
excludeDeprecated = true
outputFile = "securities-list.csv"
}
Valid values for securityType:
UNSET_SECURITY_TYPE, GENERIC, EQUITY, EQUITY_SWAP, OPTION, INDEX, INDEX_SWAP, FUTURE, FIXED_RATE_BOND, FLOATING_RATE_BOND, BILL,
INFLATION_LINKED_BOND, ACCRUAL, CONVERTIBLE_BOND, INTEREST_RATE_SWAP, CREDIT_DEFAULT_SWAP_SINGLE_NAME, CREDIT_DEFAULT_SWAP_INDEX,
PREFERRED_STOCK, REPO, CURRENCY_PAIR, FX_SPOT, FX_FORWARD, FX_OPTION, MORTGAGE_BACKED_POOL, MORTGAGE_BACKED_TBA, CASH, COMMODITY,
BENCHMARK, WARRANT, BANK_DEBT, CROSS_CURRENCY_BASIS_SWAP, SWAPTION, FUTURE_SWAP
Valid values for securityIdentifierType:
UNSET_SECURITY_IDENTIFIER_TYPE, SYMBOL, TICKER, CUSIP, ISIN, SEDOL, RIC, BLOOMBERG, CURRENCY, MORTGAGE, JAVELIN, EXTERNAL, EMS_SYMBOL,
INVERSE_SYMBOL, COLLATERAL_TYPE, BLOOMBERG_UNIQUE_ID, FIGI, SID, UNIQUE_SWAP_ID, UNIQUE_TRADE_ID, RED_CODE, RED_PAIR_CODE, OSI, REFERENCE_TICKER
Schedule
FlexONE: We don’t restart FlexONE daily, we do an EOD refresh at 02:15 Abu Dhabi time.
Configuration
Connector settings
| Parameter | Default Value | Description |
|---|---|---|
| host | Host | |
| port | Port | |
| username | Username | |
| password | Password | |
| apiKey | API Key. Optional. Required for Kong connection. | |
| reconnectInterval | 60s | Reconnection interval. The first time after connection lost connector tries to reconnect immediately. |
| connectTimeout | 330s | Connect timeout. Indicates how long the entire connection procedure can take. |
| heartbeatTimeout | 60s | Heartbeat timeout. If there are no messages from server within specified period - connector will re-connect. |
| CAfile | The root certificates to verify the server's identity instead of the system's default. Generally they should be PEM-encoded. | |
| symbolKey | [attributeKey]Symbol | The column name in securities stream for broker symbol lookup. |
| ➡️ gRPC Settings_ | ||
| grpc.maxInboundMessageSize | 16M | Max inbound gRPC message size. |
| grpc.keepAliveTime | 330s | Keep alive time. |
| ➡️ Order Settings | ||
| positionGroup | Position Group. | |
| portfolio | Portfolio. | |
| clientBatchIdentifier | Client Batch Identifier. | |
| brokerAutomationType | AUTOROUTE | Broker automation setting. Valid values: NO_AUTOMATION, AUTOROUTE, PASSTHROUGH, CUSTOM_EMS_ROUTING, ALGOWHEEL. |
| broker | Executing broker/destination - necessary for some forms of automation/auto-routing, and otherwise optional. | |
| useAccountTypeDefault | false | If true the server will compute the account type base on the account-type-default.selector-type. |
| skipLocate | false | If the order is marked as a Short and this is set true, the locate step in the order workflow will be skipped provided the system is configured to allow locate skipping. |
| overrideMarking | false | If true order will keep the mark and skip auto marking. |
| accountType | PRIME | Account Type. Valid values: PRIME, SWAP, OTC. |
| quantityType | Quantity Type. Valid values: QUANTITY, NOTIONAL. | |
| allowedFixTags | List of custom order attributes which should be passed in order's fixTags property. | |
| ➡️ Attributes | ||
| attributes[].key | Attribute Key. | |
| attributes[].value | Attribute Value. | |
| attributes[].type | STRING | Attribute Type. Valid values: STRING, BOOL, INT32, INT64, DOUBLE, CUSTOM. |
| ➡️ Named Params | ||
| namedParameters[].name | Parameters set name. | |
| namedParameters[].positionGroup | See description of positionGroup parameter above. | |
| namedParameters[].portfolio | See description of portfolio parameter above. | |
| namedParameters[].clientBatchIdentifier | See description of clientBatchIdentifier parameter above. | |
| namedParameters[].brokerAutomationType | See description of brokerAutomationType parameter above. | |
| namedParameters[].broker | See description of broker parameter above. | |
| namedParameters[].useAccountTypeDefault | See description of useAccountTypeDefault parameter above. | |
| namedParameters[].skipLocate | See description of skipLocate parameter above. | |
| namedParameters[].accountType | See description of accountType parameter above. | |
| namedParameters[].quantityType | See description of quantityType parameter above. | |
| namedParameters[].allowedFixTags | See description of allowedFixTags parameter above. |
Supported order attributes
| Key | Description |
|---|---|
| 7210 | Name of parameter set. See - named parameters sections for details. |
| 7201 | Order attributes in format Key1=Value1#Type;Key2=Value2. Example: Source=FIRM;IsManual=true#BOOL |
| 7202 | Client Batch Identifier. |
| 7203 | Position Group. |
| 7204 | Executing broker/destination. |
| 7205 | See description of useAccountTypeDefault parameter above. |
| 7206 | See description of skipLocate parameter above. |
| 7208 | See description of quantityType parameter above. |
| 54, 5054 | Market Side. Valid values: BUY, SELL, COVER, SHORT, PAY, RECEIVE, LEND, BORROW |
| 77 | Option Side. Valid values: OPEN_BUY, CLOSE_BUY, OPEN_SELL, CLOSE_SELL |
Config sample
connectors {
FLEXONE : ${template.connector.custom.flexone} {
settings {
basketTimeout: 10s
settings {
host = "<HOST>"
port = <PORT>
username = "<USERNAME>"
password = "<PASSWORD>"
apiKey = "<API_KEY>" # optional, required for Kong connection
brokerAutomationType = AUTOROUTE
accountType = PRIME
attributes = [
{key = "Source", value = "FIRM"}, # assuming type = STRING
{key = "StrategyId", value = 234, type = INT32}
]
namedParameters = [
{
name: "GS"
# below all allowed parameters (all are optional)
positionGroup = "<POSITION_GROUP>"
portfolio = "<PORTFOLIO>"
clientBatchIdentifier = "<CLIENT_BATCH_ID>"
broker = "<BROKER>"
overrideMarking = true
useAccountTypeDefault = true
skipLocate = true
brokerAutomationType = PASSTHROUGH
accountType = OTC
allowedFixTags = "9009"
attributes = [
{key = "Source", value = "FIRM"},
{key = "StrategyName", value = "GS"}
]
},
{
name: "JPM"
attributes = [
{key = "Source", value = "PRINCIPAL"},
{key = "StrategyName", value = "JPM"}
]
}
]
}
}
}
}