The TIBCO StreamBase® Adapter for ICAP/EBS enables a StreamBase application to connect to an ICAP/EBS trading venue, and to exchange FIX messages with it.
Because this adapter uses the FIX protocol to communicate with the EBS venue, its user-visible functionality is nearly identical to that of the StreamBase FIX adapter. See the FIX Adapter page for primary instructions on configuring and using the EBS adapter.
The EBS adapter has the following differences, compared to the FIX adapter:
User Logon Values:
The EBS venue requires a username and password to be included at logon along with several additional parameters. The following table defines these logon-related parameters that must be present in configuration file used by the adapter:
Parameter Description CstmApplVerID Contains the custom application version ID used in logging in to the EBS venue. As of January 28, 2011, the only supported value is
1.3, the default value if this line is not present in the configuration file.
Username Contains the username of the account being used to access the EBS venue. Password Contains the initial or current password of the account being used to access the EBS venue. The adapter initially attempts to logon to the EBS venue using this password. If this fails, the adapter emits a warning and attempts to use the
NewPassword Contains the new password of the account being used to access the EBS venue. When the initial password expires, the adapter sends a message to the EBS venue to change the password to value specified by
NewPassword, logs on using the new password, and emits a message indicating the password has been changed. At this point, the
Passwordparameter in the configuration file should be replaced with the value specified by
NewPasswordshould be set to a different new password. Until
NewPasswordare updated, subsequent logons generate a warning attempting to use the obsolete
Passwordvalue and then use the password specified by
Nto indicate whether an existing EBS session for the same user should be cancelled before the new logon is accepted. If
falseand an EBS session already exists for this user, the logon fails.
Nto indicate whether the EBS venue should send trade capture alert messages (MsgType=AE, MatchStatus=2) in response to matched buy or sell orders.
Nto indicate whether the EBS venue should reject a bid price that varies (higher or lower) from the current Dealable Best Bid by more than the large difference pips for the currency pair. Also rejected is an offer price that varies (higher or lower) from the current Dealable Best Offer by more than the large difference pips for the currency pair. If Large Difference check is disabled, no restriction in effect and order accepted.
Nto indicate whether the EBS venue performs a check to determine if the price is acceptable and not inverted. In the ICAP FX Spot trading system, this check is known as “Bid Greater than Offer,” but it applies to both sides of an order. (Refer to the EBS FX Spot Dealing Rules for more details.)
Nto indicate whether the EBS venue ensures that a bid price less than the current Dealable Best Offer by more than the wide spread pips is rejected, and an offer price that exceeds the current Dealable Best Bid by more than the wide spread pips is rejected. If Wide Spread is disabled, no restriction is in effect and the order accepted.
Nto indicate whether local bid and offer prices are displayed in Market Views for the EBS client. If disabled, local bid and offer prices are suppressed. The local price and trader ID are replaced with “NoPrice”. This parameter only affects the information shown in the market update to the client.
Nto indicate whether the trader ID will not appear to other traders on the floor. If another trader on the same floor has this parameter enabled, his Trader ID will not appear in market view updates. This feature is only in effect if the TFA has already allowed any trader on the floor to select this option.
Nto indicate whether to request the Ai Server to provide details regarding tradeable Fixed Date NDFs in the Logon Response message.
Adds a new entry to the
NoUserDatarepeating group of a Logon Request message. For example, the line
UserData.OrderThroughput=10would add an entry with
In addition, you must add the following settings to your engine's configuration file:
For QuickFIX/J, add these to either to the
[DEFAULT]or session-specific section of the configuration file:
For StreamBaseFIX, make sure the <begin-string> element of your EBS session in the configuration file has a value of
FIXT.1.1and the <version> element is set to
Here is an example of the above settings used in the context of a QuickFIX/J configuration file:
# # EBS adapter configuration file for QuickFIX/J # [default] ConnectionType=initiator ResetOnLogon=Y StartTime=00:00:00 EndTime=00:00:00 DefaultApplVerID=FIX.5.0 AppDataDictionary=EBSQFJDictionary.xml # This prevents excessive memory usage over time. # See http://n2.nabble.com/limiting-memory-usage-of-FileStore-(patch)-td839881.html # for details. FileStoreMaxCachedMsgs=0 [session] BeginString=FIXT.1.1 SenderCompID=EBS_Initiator TargetCompID=EBS_Acceptor SocketConnectHost=EBSHostname SocketConnectPort=4340 HeartBtInt=1 FileLogPath=logs/EBSAdapter FileStorePath=store/EBSAdapter # # User login properties # CstmApplVerID=1.3 Username=MyUsername Password=MyCurrentPassword NewPassword=MyNewPassword # Note: the "UserData." prefix is optional in the following property names. # However, this prefix may be required for user login properties added to # the EBS Ai FIX spec in the future. UserData.AutoCancelDuplSession=Y UserData.SendConfirmedDeals=Y UserData.LargeDifferenceCheck=Y UserData.PriceCheck=Y UserData.WideSpreadCheck=Y UserData.LocalPriceDisplay=Y UserData.HideMyPrices=Y UserData.AllowFixedDateNDFs=Y #UserData.OrderThroughput=1 #UserData.dealcode=ABCD
Here are the same settings in the context of a StreamBaseFIX configuration file:
<?xml version="1.0" encoding="UTF-8"?> <sessions> <session name="MySession"> <version>FIX.5.0</version> <begin-string>FIXT.1.1</begin-string> <sender-comp-id>EBS_Initiator</sender-comp-id> <target-comp-id>EBS_Acceptor</target-comp-id> <acceptor-hostname>EBSHostname</acceptor-hostname> <port>4340</port> <initiator>true</initiator> <reset-on-logon>true</reset-on-logon> <dictionary></dictionary> <heartbeat-interval>1</heartbeat-interval> <useDateMilliseconds>true</useDateMilliseconds> <cstm-appl-ver-id>1.3</cstm-appl-ver-id> <username>MyUsername</username> <password>MyCurrentPassword</password> <new-password>MyNewPassword</new-password> <user-data-list> <user-data name="AutoCancelDuplSession" value="Y" /> <user-data name="SendConfirmedDeals" value="Y" /> <user-data name="LargeDifferenceCheck" value="Y" /> <user-data name="PriceCheck" value="Y" /> <user-data name="WideSpreadCheck" value="Y" /> <user-data name="LocalPriceDisplay" value="Y" /> <user-data name="HideMyPrices" value="Y" /> <user-data name="AllowFixedDateNDFs" value="Y" /> <!-- <user-data name="OrderThroughput" value="1" /> <user-data name="dealcode" value="ABCD" /> --> </user-data-list> </session> </sessions>
As shipped with StreamBase software, this adapter can use the QuickFIX/J FIX engine and the TIBCO StreamBase® High-Performance FIX Engine. The QuickFIX/J FIX engine is included in TIBCO StreamBase distributions. The TIBCO StreamBase High-Performance FIX Engine is available as a separate product. Contact TIBCO Technical Support for additional information.