Skip to main content

FlexONE Trade Connector

Features

custom-flexoneConnector Key
Instruments
EQUITYETFBONDINDEXFXOPTIONFUTURECFD
Request Types
SUBMITCANCELREPLACE
Order Types
MARKETLIMITSTOPSTOP_LIMIT
Time In Force
DAYGTCAT_THE_OPENINGIOCFOKGOOD_TILL_CROSSINGGTDAT_THE_CLOSE
Order ID Mapper
SEQUENCE
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

SettingsCustom TagSecurities ColumnDefault ValueDescription
brokerAutomationTypeAUTOROUTEBroker automation setting. Valid values: NO_AUTOMATION, AUTOROUTE, PASSTHROUGH, CUSTOM_EMS_ROUTING, ALGOWHEEL
broker7204Executing broker/destination
useAccountTypeDefault7205Default account type flag. Allowed values: true, false.
skipLocate7206Skip locate flag. Allowed values: true, false.
overrideMarking7207Keep the mark and skip auto marking. Allowed values: true, false.
accountTypePRIMEAccount Type. Valid values: PRIME, SWAP, OTC
clientBatchIdentifier7202Client Batch Identifier
positionGroup7203Position Group
quantityType7208QUANTITYQuantity Type. Valid values: QUANTITY, NOTIONAL
portfolioPortfolio
allowedFixTagsList of custom order attributes which should be passed in order's fixTags property.
attributes7201Order 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

ParameterDefault ValueDescription
hostHost
portPort
usernameUsername
passwordPassword
apiKeyAPI Key. Optional. Required for Kong connection.
reconnectInterval60sReconnection interval. The first time after connection lost connector tries to reconnect immediately.
connectTimeout330sConnect timeout. Indicates how long the entire connection procedure can take.
heartbeatTimeout60sHeartbeat timeout. If there are no messages from server within specified period - connector will re-connect.
CAfileThe root certificates to verify the server's identity instead of the system's default. Generally they should be PEM-encoded.
symbolKey[attributeKey]SymbolThe column name in securities stream for broker symbol lookup.
➡️ gRPC Settings_
grpc.maxInboundMessageSize16MMax inbound gRPC message size.
grpc.keepAliveTime330sKeep alive time.
➡️ Order Settings
positionGroupPosition Group.
portfolioPortfolio.
clientBatchIdentifierClient Batch Identifier.
brokerAutomationTypeAUTOROUTEBroker automation setting. Valid values: NO_AUTOMATION, AUTOROUTE, PASSTHROUGH, CUSTOM_EMS_ROUTING, ALGOWHEEL.
brokerExecuting broker/destination - necessary for some forms of automation/auto-routing, and otherwise optional.
useAccountTypeDefaultfalseIf true the server will compute the account type base on the account-type-default.selector-type.
skipLocatefalseIf 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.
overrideMarkingfalseIf true order will keep the mark and skip auto marking.
accountTypePRIMEAccount Type. Valid values: PRIME, SWAP, OTC.
quantityTypeQuantity Type. Valid values: QUANTITY, NOTIONAL.
allowedFixTagsList of custom order attributes which should be passed in order's fixTags property.
➡️ Attributes
attributes[].keyAttribute Key.
attributes[].valueAttribute Value.
attributes[].typeSTRINGAttribute Type. Valid values: STRING, BOOL, INT32, INT64, DOUBLE, CUSTOM.
➡️ Named Params
namedParameters[].nameParameters set name.
namedParameters[].positionGroupSee description of positionGroup parameter above.
namedParameters[].portfolioSee description of portfolio parameter above.
namedParameters[].clientBatchIdentifierSee description of clientBatchIdentifier parameter above.
namedParameters[].brokerAutomationTypeSee description of brokerAutomationType parameter above.
namedParameters[].brokerSee description of broker parameter above.
namedParameters[].useAccountTypeDefaultSee description of useAccountTypeDefault parameter above.
namedParameters[].skipLocateSee description of skipLocate parameter above.
namedParameters[].accountTypeSee description of accountType parameter above.
namedParameters[].quantityTypeSee description of quantityType parameter above.
namedParameters[].allowedFixTagsSee description of allowedFixTags parameter above.

Supported order attributes

KeyDescription
7210Name of parameter set. See - named parameters sections for details.
7201Order attributes in format Key1=Value1#Type;Key2=Value2. Example: Source=FIRM;IsManual=true#BOOL
7202Client Batch Identifier.
7203Position Group.
7204Executing broker/destination.
7205See description of useAccountTypeDefault parameter above.
7206See description of skipLocate parameter above.
7208See description of quantityType parameter above.
54, 5054Market Side. Valid values: BUY, SELL, COVER, SHORT, PAY, RECEIVE, LEND, BORROW
77Option 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"}
]
}
]

}
}
}
}