Contents
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
value instead.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, thePassword
parameter in the configuration file should be replaced with the value specified byNewPassword
, andNewPassword
should be set to a different new password. UntilPassword
andNewPassword
are updated, subsequent logons generate a warning attempting to use the obsoletePassword
value and then use the password specified byNewPassword
.UserData.AutoCancelDuplSession Contains Y
orN
to indicate whether an existing EBS session for the same user should be cancelled before the new logon is accepted. IfAutoCancelDuplSession
isfalse
and an EBS session already exists for this user, the logon fails.UserData.SendConfirmedDeals Contains Y
orN
to indicate whether the EBS venue should send trade capture alert messages (MsgType=AE, MatchStatus=2) in response to matched buy or sell orders.UserData.LargeDifferenceCheck Contains Y
orN
to 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.UserData.PriceCheck Contains Y
orN
to 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.)UserData.WideSpreadCheck Contains Y
orN
to 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.UserData.LocalPriceDisplay Contains Y
orN
to 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.UserData.HideMyPrices Contains Y
orN
to 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.UserData.AllowFixedDateNDFs Contains Y
orN
to indicate whether to request the Ai Server to provide details regarding tradeable Fixed Date NDFs in the Logon Response message.UserData.xxx Adds a new entry to the NoUserData
repeating group of a Logon Request message. For example, the lineUserData.OrderThroughput=10
would add an entry withUserDataName
ofOrderThroughput
andUserDataValue
of10
. -
Additional Settings:
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:-
DefaultApplVerID=FIX.5.0
-
BeginString=FIXT.1.1
-
-
For StreamBaseFIX, make sure the <begin-string> element of your EBS session in the configuration file has a value of
FIXT.1.1
and the <version> element is set toFIX.5.0
.
-
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.