Skip to content

Latest commit

 

History

History
818 lines (630 loc) · 27.6 KB

API.md

File metadata and controls

818 lines (630 loc) · 27.6 KB

TCLRFA - API

TABLE OF CONTENTS

  1. Configuration File
  2. API
    1. Initialization
    2. Configuration
    3. Session
    4. Client
    5. Directory
    6. Dictionary
    7. Logging
    8. Symbol List
    9. Market Price
    10. Market by Order
    11. Market by Price
    12. OMM Posting
    13. Pause and Resume
    14. Timeseries
    15. History
    16. Getting Data
    17. Publication
    18. Interactive Provider

CONFIGURATION FILE

Example of tclrfa.cfg

\tclrfa\debug = false

\Logger\AppLogger\useInternalLogStrings  = true
\Logger\AppLogger\windowsLoggerEnabled   = false
\Logger\AppLogger\fileLoggerEnabled      = true
\Logger\AppLogger\fileLoggerFilename     = "./tclrfa.log"

\Connections\Connection_RSSL1\rsslPort = "14002"
\Connections\Connection_RSSL1\ServerList = "127.0.0.1"
\Connections\Connection_RSSL1\connectionType = "RSSL"
\Connections\Connection_RSSL1\logEnabled = true
\Connections\Connection_RSSL1\UserName = "USERNAME"
\Connections\Connection_RSSL1\InstanceId = "1"
\Connections\Connection_RSSL1\ApplicationId = "180"
\Connections\Connection_RSSL1\Position = "127.0.0.1"
\Connections\Connection_RSSL1\ServiceName = "SERVICE"
\Connections\Connection_RSSL1\fieldDictionaryFilename = "../etc/RDM/RDMFieldDictionary"
\Connections\Connection_RSSL1\enumTypeFilename  = "../etc/RDM/enumtype.def"
\Connections\Connection_RSSL1\downloadDataDict = false

\Sessions\Session1\connectionList = "Connection_RSSL1"

\ServiceGroups\SG1\serviceList = "SERVICE1, SERVICE2"
\Sessions\Session1\serviceGroupList = "SG1"

Parameter

Debug Configuration

Namespace: \#tclrfa\

Parameter Example value Description
debug true/false Enable/Disable debug mode

Logger

Namespace: \Logger\AppLogger\

Parameter Example value Description
fileLoggerEnabled true/false Enable/Disable logging capability
fileLoggerFilename "./tclrfa.log" Log file name

Connection

Namespace: \Connections\<connection_name>\

Parameter Example value Description
rsslPort "14002" P2PS/ADS RSSL port number
ServerList "127.0.0.1" P2PS/ADS IP address or hostnam
connectionType "RSSL" The specific type of the connection. Must be RSSL
logEnabled true/false Enable/Disable logging capability
UserName "tclrfa" DACS username
InstanceId "123" Application instance ID
ApplicationId "180" Application ID
Position "127.0.0.1/net" DACS position
ServiceName "NIP" Service name to be subscribe
VendorName "OMMCProv_DevCartel" Name of the vendor that provides the data for this service
symbolList "0#BMD" Symbollist name to be subscribe(d)
maxSymbols 30 Configure maximum number of symbol inside symbollist
fieldDictionaryFilename "../etc/RDM/RDMFieldDictionary" Dictionary file path
enumTypeFilename "../etc/RDM/enumtype.def" enumtype file path
downloadDataDict true/false Enable/Disable data dictionary download from P2PS/ADS
dumpDataDict true/false Enable/Disable to dump data dictionary from P2PS/ADS

Session

Namespace: \Sessions\<session_name>\

Parameter Example value Description
connectionList "Connection_RSSL1" Match connection_name
serviceGroupList "SG1" Service group name

session_name must be passed to acquireSession() function.

Service Group

Namespace: \ServiceGroups\<service_group_name>\

Parameter Example value Description
serviceList "SERVICE1, SERVICE2" Available service names for the group

API

Initialization

[tclrfa]
➥return: object
Instantiate a TclRFA object

set t [tclrfa]

setDebugMode True|False
Enable or disable debug messages. If argument is empty, it will read a value from \pyrfa\debug in the configuration file. This function can only be called after createConfigDb.

Example:

$t setDebugMode True

Configuration

createConfigDb filename
filename = configuration file location, full or relative path
Read the configuration file. Initialize RFA context.

Example:

$t createConfigDb "./tclrfa.cfg"

printConfigDb config_node
config_node = part of the configuration node to be printed out
Print current configuration values. If the arg is omitted, this function returns all of the configuration values under the ‘Default’ namespace.

Example:

$t printConfigDb "\\Default\\Sessions"

Output:

\Default\Sessions\Session1\connectionList = Connection_RSSL1
\Default\Sessions\Session2\connectionList = Connection_RSSL2
\Default\Sessions\Session3\connectionList = Connection_RSSL3
\Default\Sessions\Session4\connectionList = Connection_RSSL4

Session

acquireSession session
session = session name
Acquire a session as defined in the configuration file and look up for an appropriate connection type then establish a client/server network session.

Example:

$t acquireSession "Session1"

Client

createOMMConsumer
Create an OMM data consumer client.

createOMMProvider
Create an OMM data provider client. Type of provider is defined by connectionType. Use RSSL_PROV for interactive provider and RSSL_NIPROV for non-interactive, full-cached provider.

$t createOMMProvider

login ?username instanceid appid position?
username = DACS user ID
instanceid = unique application instance ID
appid = application ID (1-256)
position = application position e.g. IP address
Send an authentication message with user information. This step is mandatory in order to consume the market data from P2PS/ADS. If arguments are omitted, TclRFA will read values from configuration file.

isLoggedIn
➥return: boolean
Check whether the client successfully receives a login status from the P2PS/ADS.

setInteractionType type
type = “snapshot” or “streaming”
Set subscription type snapshot or streaming. If snapshot is specified, the client will receive only the full image of an instrument then the subscribed stream will be closed.

Example:

$t setInteractionType “snapshot”

setServiceName service
Programmatically set service name for subcription. Call this before making any request. This allows subcription to multiple services.

Example:

$t setServiceName "IDN"
$t marketPriceRequest "EUR="

Directory

directoryRequest
Send a directory request through the acquired session. This step is the mandatory in order to consume the market data from P2PS/ADS.


Dictionary

dictionaryRequest
If downloadDataDict configuration is set to True then TclRFA will send a request for data dictionaries to P2PS/ADS. Otherwise, it uses local data dictionaries specified by fieldDictionaryFilename and enumTypeFilename from configuration file.

isNetworkDictionaryAvailable
➥return: boolean
Check whether the data dictionary is successfully downloaded from the server.

Example:

$t isNetworkDictionaryAvailable

Output:

1

getFieldID field_name
field_name = a valid field name
➥return: int
To translate field name to field ID.

Example:

$t getFieldID BID

Output:

22

Logging

logInfo message
Write an informational message to a log file.

logWarning message
Write a warning message to a log file.

logError message
Write an error message to a log file.


Symbol List

symbolListRequest RIC ?RIC RIC ...?
RIC = Reuters Instrument Code
For consumer application to subscribe symbol lists. User can define multiple symbol list names. Data dispatched using dispatchEventQueue function.

symbolListCloseRequest RIC ?RIC RIC ...?
RIC = Reuters Instrument Code
Unsubscribe the specified symbol lists. User can define multiple symbol list names

symbolListCloseAllRequest
Unsubscribe all symbol lists in the watch list.

isSymbolListRefreshComplete
➥return: boolean
Check whether the client receives a complete list of the symbol list.

getSymbolListWatchList
➥return: str
Return names of the subscribed symbol lists.

getSymbolList RIC
RIC = Reuters Instrument Code
➥return: str
Return item names available under a symbol list in string format.

Example:

$t getSymbolList “0#BMD”

Output:

FPCO FPKC FPRD FPGO

Market Price

marketPriceRequest RIC ?RIC RIC ...?
RIC = Reuters Instrument Code
For consumer client to subscribe market data from P2PS/ADS, user can define multiple item names. The data dispatched through dispatchEventQueue.

Example:

while {1} {
    foreach u [$t dispatchEventQueue] {
        puts "\n[dict get $u]
        }
    }
}

Image

{SERVICE {NIP} RIC {EUR=} MTYPE {REFRESH}}
{SERVICE {NIP} RIC {EUR=} MTYPE {IMAGE} RDNDISPLAY {100} RDN_EXCHID {SES} BID {0.988} ASK {0.999} DIVPAYDATE {23 JUN 2011}}

Update

{SERVICE {NIP} RIC {EUR=} MTYPE {UPDATE} BID_NET_CH {0.0041} BID {0.988} ASK {0.999} ASK_TIME {15:14:24:180:000:000}}

Status

{SERVICE {NIP} RIC {EUR=} MTYPE {STATUS} DATA_STATE {Suspect} STREAM_STATE {Open} TEXT {Source unavailable... will recover when source is up}}
    
{SERVICE {NIP} RIC {JPY=} MTYPE {STATUS} DATA_STATE {Suspect} STREAM_STATE {Close} TEXT {F10: Not In Cache}}

setView FID ?FID FID ...?
FID = a valid field name or number (Optional)
To specify a view (a subset of fields to be filtered) for the next subscribed items. User can define multitple fields.

Example:

% $t setView "RDNDISPLAY TRDPRC_1 22 25"
% $t marketPriceRequest "EUR= JPY="

Or define as multiple arguments:

% $t setView RDNDISPLAY TRDPRC_1 22 25
% $t marketPriceRequest EUR= JPY=

And reset view to subscribe all fields with:

$t setView

marketPriceCloseRequest RIC ?RIC RIC ...?
RIC = Reuters Instrument Code
Unsubscribe items from streaming service. User can define multiple item names.

marketPriceCloseAllRequest
Unsubscribe all items from streaming service.

getMarketPriceWatchList
Returns names of the subscribed items with service names.

Example:

$t getMarketPriceWatchList

Output:

C.N.IDN_SELECTFEED JPY=.IDN_SELECTFEED

Market by Order

marketByOrderRequest RIC ?RIC RIC ...?
RIC = Reuters Instrument Code
For a consumer application to subscribe order book data, user can define multiple item names. The data dispatched through dispatchEventQueue.

Example:

$t marketByOrderRequest "ANZ.AX"
while {1} {
    set updates [$t dispatchEventQueue 1000]
    if {$updates != ""} {
        foreach u [$t dispatchEventQueue] {
        puts "\n[dict get $u]
        }
    }
}

IMAGE:

{SERVICE {NIP} RIC {ANZ.AX} MTYPE {REFRESH}}
{SERVICE {NIP} RIC {ANZ.AX} MTYPE {IMAGE} ACTION {ADD} KEY {538993C200035057B} ORDER_PRC {20.835}}

UPDATE:

{SERVICE {NIP} RIC {ANZ.AX} MTYPE {UPDATE} ACTION {UPDATE} KEY {538993C200035057B} ORDER_PRC {20.214} ORDER_SIZE {41} ORDER_SIDE {BID} SEQNUM_QT {511} EX_ORD_TYP {0} CHG_REAS {10}}

DELETE:

{SERVICE {NIP} RIC {ANZ.AX} MTYPE {UPDATE} ACTION {DELETE} KEY {538993C200083483B}}

STATUS:

{SERVICE {NIP} RIC {ANZ.AX} MTYPE {STATUS} DATA_STATE {Suspect} STREAM_STATE {Open} TEXT {<NIP> Source cannot provide the requested capability of MMT_MARKET_BY_ORDER [7].}}
    
{SERVICE {NIP} RIC {ANZ.AX} MTYPE {STATUS} DATA_STATE {Suspect} STREAM_STATE {Close} TEXT {F10: Not In Cache}}

marketByOrderCloseRequest RIC ?RIC RIC ...?
RIC = Reuters Instrument Code
Unsubscribe items from order book streaming service. User can define multiple item names.

marketByOrderCloseAllRequest
Unsubscribe all items from order book data streaming service.

getMarketByOrderWatchList
➥return: str Return all subscribed item names on order book streaming service with service names.


Market by Price

marketByPriceRequest RIC ?RIC RIC ...?
RIC = Reuters Instrument Code
For consumer application to subscribe market depth data, user can define multiple item names. Data dispatched through dispatchEventQueue.

Example:

$t marketByOrderRequest "ANZ.CHA"
while {1} {
    set updates [$t dispatchEventQueue 1000]
    if {$updates != ""} {
        foreach u [$t dispatchEventQueue] {
        puts "\n[dict get $u]
        }
    }
}

IMAGE:

{SERVICE {NIP} RIC {ANZ.CHA} MTYPE {REFRESH}}
{SERVICE {NIP} RIC {ANZ.CHA} MTYPE {IMAGE} ACTION {ADD} KEY {201000B} ORDER_PRC {20.1000} ORDER_SIDE {BID} ORDER_SIZE {17} NO_ORD {6} QUOTIM_MS {16987567} ORDER_TONE {}}

UPDATE:

{SERVICE {NIP} RIC {ANZ.CHA} MTYPE {UPDATE} ACTION {UPDATE} KEY {201000B} NO_ORD {7} ORDER_SIDE {BID} ORDER_SIZE {5}}

DELETE:

{SERVICE {NIP} RIC {ANZ.CHA} MTYPE {UPDATE} ACTION {DELETE} KEY {202000B}}

STATUS:

{SERVICE {NIP} RIC {ANZ.CHA} MTYPE {STATUS} DATA_STATE {Suspect} STREAM_STATE {Open} TEXT {<NIP> Source cannot provide the requested capability of MMT_MARKET_BY_PRICE [8].}}
    
{SERVICE {NIP} RIC {ANZ.CHA} MTYPE {STATUS} DATA_STATE {Suspect} STREAM_STATE {Close} TEXT {F10: Not In Cache}}

marketByPriceCloseRequest RIC ?RIC RIC ...?
RIC = Reuters Instrument Code
Unsubscribe items from market depth data stream. User can define multiple item names.

marketByPriceCloseAllRequest
Unsubscribe all items from market depth stream.

getMarketByPriceWatchList
➥return: str
Return all subscribed item names on market depth streaming service with service names.


OMM Posting

OMM Posting (off-stream) leverages on consumer login channel to contribute aka. "post" data up to ADH/ADS cache or provider application. The posted service must be up before receiving any post message. For posting to an Interactive Provider, the posted RIC must already be made available by the provider.

marketPricePost data ?data data ...?
data = a Tcl dict
Post market price data. data can be populated as below.MTYPE IMAGE can be added to data in order to post item as an IMAGE (default MTYPE is UPDATE).

Example:

$t marketPricePost "RIC TRI.N TIMACT now TRDPRC_1 123.45"

Pause and Resume

pauseAll
Pause all subscription on all domains. Updates are conflated during the pause.

resumeAll
Resume all subscription.

marketPricePause RIC ?RIC RIC ...?
RIC = Reuters Instrument Code
Pause subscription to the items.

marketPriceResume RIC ?RIC RIC ...?
RIC = Reuters Instrument Code
Resume subscription to the item.


Timeseries

Time Series One (TS1) provides access to historical data distributed via the Reuter Integrated Data Network (IDN). It provides a range of facts (such as Open, High, Low, Close) for the equity, money, fixed income, commodities and energy markets. TS1 data is available in three frequencies; daily, weekly, and monthly. For daily data there is up to two years worth of history, for weekly data there is five years, and for monthly data up to ten years.

setTimeSeriesPeriod daily|weekly|monthly
Define a time period for a time series subscription. Default is daily.

setTimeSeriesMaxRecords max_records
max_records = number of maximum time series output records
Define the maximum record before calling getTimeSeries. Default is 10.

getTimeSeries RIC
RIC = Reuters Instrument Code
➥return: str
A helper function that subscribes, wait for data dissemination to be complete, unsubscribe from the service and return series as a list of records. getTimeSeries supports one time series retrieval at a time.

Example:

set ric "CHK.N"
set period "daily"
set maxrecords "15"
$t setTimeSeriesPeriod $period
$t setTimeSeriesMaxRecords $maxrecords
set timeseries [$t getTimeSeries "CHK.N"]
puts "\n\n############## $ric $period ([llength $timeseries] records)##############"
puts [join $timeseries "\n"]\n\n

Output:

############## CHK.N daily (21 records) ##############
DATE,CLOSE,OPEN,HIGH,LOW,VOLUME,VWAP
2012/02/26,25.110,25.360,25.440,25.010,2457997.000,25.218
2012/02/23,25.450,24.830,25.830,24.820,3420367.000,25.451
2012/02/22,24.980,24.130,24.990,23.960,3786628.000,24.582
2012/02/21,24.030,24.220,24.340,23.640,4144242.000,23.998
2012/02/20,24.620,25.000,25.060,24.540,3713133.000,24.767
2012/02/19,Market holiday
2012/02/16,24.710,24.220,24.980,24.130,5116842.000,24.508
2012/02/15,23.770,23.070,23.790,22.730,3540557.000,23.489
2012/02/14,23.020,22.740,23.270,22.520,3885523.000,22.923
2012/02/13,22.710,22.800,22.950,22.450,3114849.000,22.684
2012/02/12,22.660,22.750,23.320,22.260,5041853.000,22.746
2012/02/09,22.130,21.900,22.190,21.560,3179328.000,21.970
2012/02/08,22.340,22.320,22.640,22.030,3298569.000,22.355
2012/02/07,22.110,22.310,22.510,22.030,2662700.000,22.187
2012/02/06,22.180,22.680,22.680,22.020,2829459.000,22.175

History

historyRequest RIC ?RIC RIC ...?
RIC = Reuters Instrument Code
Request for historical data (data domain 12), this domain is not officially supported by Thomson Reuters. User can define multiple items. The data dispatched through dispatchEventQueue.

Example:

$t historyRequest "tANZ.AX"
while {1} {
    set updates [$t dispatchEventQueue 1000]
    if {$updates != ""} {
        foreach u [$t dispatchEventQueue] {
        puts "\n[dict get $u]
        }
    }
}

IMAGE:

{SERVICE {NIP} RIC {tANZ.AX} MTYPE {REFRESH}} 
{SERVICE {NIP} RIC {tANZ.AX} MTYPE {IMAGE} TRPRC_1 {40.124} SALTIM {14:31:34:335:000:000} TRADE_ID {123456789} BID_ORD_ID {5307FBL20AL7B}ASK_ORD_ID {5307FBL20BN8A}}

historyCloseRequest RIC ?RIC RIC ...?
RIC = Reuters Instrument Code
Unsubscribe items from historical data stream. The user can define multiple item names.

historyCloseAllRequest
Unsubscribe all items from historical data stream.


Getting Data

dispatchEventQueue ?timeout?
timeout = time in milliseconds to wait for data (Optional)
➥return: str
Dispatch the events (data) from EventQueue within a period of time (If timeout is omitted, it will return immediately). If there are many events in the queue at any given time, a single call gets all the data until the queue is empty. Data is in a list of Tcl dicts.


Non-Interactive Provider

directorySubmit ?domain? ?service?
domain = data domain number (Optional)
service = target service (Optional)
Submit directory with domain type (capability) in a provider application, it currently supports:

  • 6 - market price
  • 7 - market by order
  • 8 - market by price
  • 10 - symbol list
  • 12 - history

This function is normally called automatically upon data submission. If service is omitted, it will use the value from configuration file.

Example:

$t directorySubmit "6 8 10" IDN

serviceDownSubmit ?service?
service = target service (Optional)
Submit service down status to ADH. If service is omitted, it uses service from configuration file. For Interactive Provider, service will be ignored and use the default value from configuration file instead. This function must be called after directorySubmit.

serviceUpSubmit ?service?
service = target service (Optional)
Submit service up status to ADH. If service is omitted, it uses service from configuration file. For Interactive Provider, service will be ignored and use the default value from configuration file instead.

symbolListSubmit data ?data data ...?
data = a Tcl dict
For a provider client to publish a list of symbols to MDH/ADH under data domain 10, The Tcl dict must be specify in the below format. MTYPE IMAGE can be added to data in order to publish the IMAGE of the item (default MTYPE is UPDATE). ACTION can be ADD, UPDATE and DELETE.

Example:

$t symbolListSubmit {RIC {0#BMD} KEY {FCPO} ACTION {ADD} PROD_PERM {10} PROV_SYMB {MY439483}}

RIC contains the name of an instrument list. KEY contains an instrument name and ACTION is one of the following:

  • ADD - add a new instrument name to the list
  • UPDATE - update an instrument name's attributes
  • DELETE - remove an instrument from the list

marketPriceSubmit data ?data data...?
data = a Tcl dict
For provider clients to publish market data to MDH/ADH, the market data image/update must be in the below Tcl dict format. MTYPE IMAGE can be added to data in order to publish the IMAGE of the item (default MTYPE is UPDATE).

Example:

$t marketPriceSubmit {RIC {EUR=} RDNDISPLAY {100} RDN_EXCHID {155} BID {0.988} ASK {0.999} DIVPAYDATE {20110623}}

marketByOrderSubmit data ?data data...?
data = a Tcl dict
For a provider client to publish specified order book data to MDH/ADH, marketByOrderSubmit requires two parameters, The Tcl dict must be specify in the below format. MTYPE IMAGE can be added to data in order to publish the IMAGE of the item (default MTYPE is UPDATE).

Example:

set ORDER {RIC {ANZ.AX} KEY {538993C200035057B} ACTION {ADD} ORDER_PRC {20.260} ORDER_SIZE {50} ORDER_SIDE {BID} SEQNUM_QT {2744} EX_ORD_TYP {0} CHG_REAS {6} ORDER_TONE {}}
$t marketByOrderSubmit $ORDER

RIC contains the name of an instrument. KEY contains an order ID name and ACTION is one of the following:

  • ADD - add a new order to the book
  • UPDATE - update an order's attributes
  • DELETE - remove an order from the book

marketByPriceSubmit data ?data data ...?
data = a Tcl dict
For a provider client to publish the specified market depth data to MDH/ADH, marketByPriceSubmit requires two parameters, The Tcl dict must be specify in the below format. MTYPE IMAGE can be added to data in order to publish the IMAGE of the item (default MTYPE is UPDATE).

Example:

set DEPTH { RIC {ANZ.CHA} KEY {201000B} ACTION {ADD} ORDER_PRC {20.1000} ORDER_SIDE {BID} ORDER_SIZE {1300} NO_ORD {13} QUOTIM_MS {16987567} ORDER_TONE {}}
$t marketByPriceSubmit $DEPTH

RIC contains the name of an instrument. KEY contains a price and ACTION is one of the following:

  • ADD - add a new price to the depth
  • UPDATE - update a price's attributes
  • DELETE - remove a price from the depth

historySubmit data ?data data ...?
data = a Tcl dict
For a provider client to publish the specified history data to MDH/ADH, each history data image/update must be in the following format and MTYPE IMAGE can be added to data in order to publish the IMAGE of the item(default MTYPE = UPDATE).

Example:

set UPDATE {RIC {tANZ.AX} TRDPRC_1 {40.124} SALTIM {now} TRADE_ID {123456789} BID_ORD_ID {5307FBL20AL7B} ASK_ORD_ID {5307FBL20BN8A}}
$t historySubmit $UPDATE

closeSubmit RIC.service ?RIC.service RIC.service ...?
RIC = Reuters Instrument Code
service = target service
For a provider to close the published item with specific service. User can define multiple item names.

Example:

$t closeSubmit EUR=.DEV

closeAllSubmit
For a provider to close all published items.


Interactive Provider

A publisher server for market price domain. Interactive provider's dispatchEventQueue() output yields MTYPE of LOGIN, REQUEST, CLOSE and LOGOUT.

Example:

...
$t createOMMProvider
$t dictionaryRequest
while {1} {
    foreach u [$t dispatchEventQueue] {
        puts $u
    }
}

Output:

{MTYPE {LOGIN} USERNAME {tclrfa} SERVICE {DIRECT_FEED} SESSIONID {140672527137824}}
{MTYPE {REQUEST} RIC {EUR=} USERNAME {tclrfa} SERVICE {DIRECT_FEED} SESSIONID {140672527137824}}
{MTYPE {CLOSE} RIC {EUR=} USERNAME {EUR=} SERVICE {DIRECT_FEED} SESSIONID {140672527137824}}
{MTYPE {LOGOUT} USERNAME {tclrfa} SERVICE {DIRECT_FEED} SESSIONID {140672527137824}}

getClientSessions
➥return: str
For interactive provider to obtain the connected client session IDs.

Example:

$t getClientSessions

Output:

140566629350432 140566632265280

getClientWatchList sessionID
sessionID = Client session ID
➥return: str
For interactive provider to obtains the watch list of a specific client referenced by sessionID.

Example:

$t getClientWatchList 140566629350432

Output:

JPY= EUR=

marketPriceSubmit data? data data ...?
data = a Tcl dict
For a provider to submit items to a specific client instead of all clients. data dict can be populated as below and can referrence to the client by sessionID.

Example:

$t marketPriceSubmit "RIC JPY= TRDPRC_1 115.2 TIMACT now SESSIONID 140339066107568" 

closeSubmit RICS ?sessionID?
RICS = Reuters Instrument Code
sessionID = Client session ID (Optional)
For a provider to close published items for all subscribed clients. Or close published items for a spicific client referenced by sessionID. User can define multiple item names.

Example:

$t closeSubmit "EUR= JPY="
$t closeSubmit "EUR= JPY=" 140339066107568

logoutSubmit ?sessionID?
sessionID = Client session ID (Optional)
For a provider to logout subscription from specific client by sessionID.

Example:

$t logoutSubmit 140566632265280

logoutAllSubmit
For a provider to logout subscription from all clients.