Académique Documents
Professionnel Documents
Culture Documents
TABLE OF CONTENTS
Page
1
INTRODUCTION.......................................................................................1
1.1
Scope .............................................................................................1
1.2
Intended Audience..........................................................................1
1.3
1.4
Revision History..............................................................................1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12
2.13
2.14
MetaData Retrieval.......................................................................15
3.1.1 getInstrumentList ...............................................................15
3.1.2 getInstrumentRootList........................................................17
3.1.3 getInstrumentMetaData .....................................................18
3.1.4 getCurrencyList..................................................................19
3.1.5 getExchangeList ................................................................20
3.1.6 getUserDefinedInstrumentList ...........................................21
3.1.7 getOptionRootInstruments .................................................23
3.1.8 getVersion..........................................................................25
3.2
TABLE OF CONTENTS
(continued)
Page
3.2.1 getDailyPrices....................................................................26
3.2.2 getHourlyISOPrices ...........................................................29
3.2.3 getDailyISOPrices..............................................................31
3.2.4 getTradePrices ..................................................................33
3.2.5 getLiveQuotePrices ...........................................................35
3.2.6 getIntradayPrices...............................................................38
3.2.7 getNews.............................................................................40
3.2.8 getHourlyISOCorrections ...................................................43
3.2.9 getDailyISOPriceCorrections .............................................45
3.2.10 getPriceCorrections ...........................................................47
3.3
3.4
ii
1 Introduction
MarketView provides customers with access to many data sets, including detailed historical
price data. The system makes available an Application Program Interface (API) as detailed in
this document.
1.1 Scope
This document provides methods definition, sample code, and all technical details necessary for
customers to develop applications that interface with the MarketView ASP system.
Description
API_REQUEST.xsd
API_RESPONSE.xsd
API Version
Document Version
8/23/05
1.0
1.0
1/9/2006
1.0
1.0.1
7/26/2006
2.0
2.0
Page 1
2 System Overview
Data Connection provides easy access to GlobalViews comprehensive data center XML based
Web Services . Data sets include real-time, intraday, and historical prices data sources, including
posted corrections, as well as news. This gives you access to the complete breadth of the
GlobalData services, including exchange data, Platts, Argus and many others, as well as
pproprieatry data from your custom applications.
Data Query Facilities
Easy access to real-time, intraday, and historical price data frequencies, through an
easy-to-use web-centric API
Conditional filters permit easy filtering for the desired data
Instrument metadata
Corrections from the exchange/data provider
News
Set up intra-company data feeds for prices and news; the same data is available for use
by your MarketView desktop applications
Monitor data imports for number of quotes poked; insertion errors
Page 2
API User
XML
https://webapi.gvsi.com/services/mv2
Internet
External
GlobalView Network
Permissions
Data
Data
Data
Data
Data
Data
Page 3
User authentication,
System availability,
The response XML includes price data, a code and description to provide feedback to the caller.
Responses are as detailed as possible, providing feedback on an instrument-by-instrument
basis whenever possible. When a global error occurs, such as credential failure or server error,
a global response is returned. It should be noted also, a permission error may be sent for one
instrument if the user is a valid API user but not entitled to the instrument requested.
Page 4
MarketView software prevents concurrent use of software by the same user credentials. Data
Connection preserves this limitation it will log off users using the same user account, from
either MarketView or Data Connection. It is to your advantage therefore to procure separate
accounts between your MarketView and Data Connection clients.
Notes:
1. A data request comprises of a list of instruments, enclosed in-between two
<INSTRUMENTS> tags. You can request quotes for one-to-many instruments at one
time.
2. You can also search for instruments by passing wildcards in-between two
<INSTRUMENT_SEARCHES> tags. In a price quote request, one or the other pair of
tags must appear. Or, as in the sample above, both sets of tags may appear in the
same request.
3. The <CONDITIONS> tags allows you to set up filters on the returned data, to narrow
the range of returned data.
4. The <TAGS> tags allows you to specify the fields you want returned in response to
your query. In this example, Data Connection will return the fields, INSTRUMENT_ID,
CLOSE, HIGH, and TRADE_DATETIME. If <TAGS> is not specified, Data Connection
will return values for a default set of fields.
Page 5
tagx = conditionx;
Page 6
Although describable in terms of a SQL database, keep in mind that our infrastructure is tuned to
be a ticker plant, not a general-purpose database. Specifically,
We do however offer facilities for date range queries, using START_DATE and
END_DATE tags.
While you can use Data Connection for data-mining queries, its underlying infrastructure runs
most efficiently when given specific queries.
1
2
3
Notes:
1. All responses begin with the line, API_RESPONSE. If there is an error in servicing the
request, that is enumerated as the attribute CODE; DETAILS in turn provides a textual
description of the error.
2. As this function returns one-to-many instrument quotes, it is embedded within the tags,
<INSTRUMENTS>. All Data Connection methods follow this pattern: a plural form of the
tag, followed by one-to-many singular-form tags (INSTRUMENTS versus
INSTRUMENT.)
Page 7
3.
Each individual quote in turm is embedded within the tag, <INSTRUMENT>. The
individual fields are treated as attributes of the INSTRUMENT tag.
Page 8
Given that SOAP/XML is a protocol implemented on top of the HTTP stack, there
naturally is a HTTP header.
2.
3.
These parameters are user, password and requestXML. The values for the first
two, user and password, establishes your authentication on Data Connection.
HTTP/HTTPS protocols authentication, used to gain authorization to a specific
URI/URL, is not used.
4.
The third parameter, requestXML, contains the body of the request, encoded in
XML. To facilitate this, the <, >, , and & characters in the string must be escaped to
their legal XML equivalents.
Page 9
2
3
Notes:
1.
2.
While understanding what the raw XML looks like is helpful, by no means do we
recommend that your application creates or parses messages at this low level. Use a Web
Services library that supports the SOAP/XML protocol. The Apache Foundations
(http://www.apache.org) Axis 1 can be used for your client applications. Microsofts Visual
Studio (2003 and above) also comes with the .Net Web Services API. Other toolkits exist,
targeting different development languages and environments.
While we dont advocate any toolkit over the other, were most familiar with The Apache
Foundations Axis 1, in terms of being able to offer suggestions/support.
Page 10
Tick or Trade data is available for Futures type data from sources such as the
NYMEX or ICE. This data represents each transaction executed on a specific
exchange for a specific contract.
LiveQuote data is the most recent data for a specific instrument. Some data from
Futures exchanges update many times a day, other end-of-day data sources update
only once a day.
Intraday data is tick data aggregated into even minute summaries, showing a open,
high, low, close for each interval. This data is mostly available from Futures
exchanges such as NYMEX or ICE.
Daily data is a summary record for each day, potentially including prices, open, high,
low, close, and also a volume and open interest. Futures data, as well as, end-of-day
data have a record representing an instruments daily activity.
As there are major differences between ISO (electricity-related) instruments and other
energy instruments, we keep those price quotes in a separate datastore, with Daily
and Hourly striping.
Updating the primary data stores, so youll receive the corrected field(s) if you execute
a query.
Updating a correction data store, that keeps the trade date corrected, as well as the
date the correction was issued.
As ISO symbols are different from other symbols, we keep their corrections in a
different data store than other symbols corrections.
Page 11
and be prepared to change your queries several times during the month. To address this
inconvenience, Data Connection supports rolling symbol aliases.
To illustrate, lets look at NYMEX Crude Light Future contracts, whose root symbol is /CL. You
could reference a specific contract by specifying its single-letter month code/single-digit year
code (as in /CLF7 for the January 2007 daily session contract,) but specifying (and editing) the
specific contracts you need is onerous and prone to mistakes. Chances are your business
analysts did not specifically want the January 07 contract, they wanted the front months
contract. It just so happens that at a given time of the year, the front month contract is the
January 07 contract. (But, later in the year, it will be the February 07 contract.)
We address this problem for you by providing rolling symbol aliases. These are
INSTRUMENT_IDs that contains the sequence [num] (squared brackets with a single-digit.)
The digit refers to how many months out from the current months Future Contract you want to
select. For example, assume it is January, and you want the contract that is two months out.
That would be the March contract. So, you should query for /CL[2]. If you want the front months
contract, that would be /CL[0].
The flipside, given that you ask for a symbol by its rolling symbol alias, how do you know that
/CL[0] refers to /CLF7? The Actual contracts symbol has been mapped to the UNDERLIER
tag, which Data Connection can return for you in your requests.
Day Session
Front Month
/CL[0]
Front Month
/GCL[0]
/CL[1]
/GCL[1]
/CL[2]
/GCL[2]
/CL[3]
/GCL[3]
/CL[4]
/GCL[4]
/CL[5]
/GCL[5]
/CL[6]
/GCL[6]
/CL[7]
/GCL[7]
/CL[8]
/GCL[8]
/CL[9]
/GCL[9]
Page 12
Such issues are generally between your IT staff and yourself; were not in a position where we
can provide much help. Although well note that the underlying HTTP protocol layer in your
SOAP/XML toolkit should have support for setting up authentication for any proxies your firm
may have, see its documentation for details. Axis tcpmon is an excellent tool to determine how
your corporate proxy works: it is too simple(or unencumbered) to have your authentication
pre-configured, such as your web browser would be. Place it in-between your client and the
corporate proxy.
Description
Success
General Error
Authentication Error (invalid user name/password)
Invalid Parameters in the web server request
Invalid Instrument Attributes in the web server request
Invalid Conditions Attributes in the web server request
Instrument missing from response
Page 13
120
130
136
138
9001
Page 14
MetaData Retrieval
Data Quality
Data Import/Upload
Utility methods
3.1.1 getInstrumentList
Returns a list of instruments for the given exchange code, for which the user has query
permissions. The user can only specify one exchange code per invocation.
Arguments:
Type
Name
String
User
String
userPassword
String
requestXML
Condition Tags:
Name
EXCHANGE_CODE
Description
API user identifier
API user password (case-sensitive)
Request String, formatted as per the schema at
API_REQUEST.xsd. This request must contain a
<CONDITIONS> clause specifying one (and only one)
EXCHANGE_CODE.
Description
Must be specified. This is due to the high number of instruments
that may be returned (both in terms of response time, and the
length of the returned string)
User-Specifiable Tags:
Name
Description
N/A
N/A
Page 15
Response:
Type
Description
String
XML structured to contain a response for the request. It will identify each
available instrument. If a global error occurs, such as authentication, the
API_RESPONSE will only contain an error code and error description.
Example Request XML:
<API_REQUEST>
<CONDITIONS EXCHANGE_CODE="PLG" />
</API_REQUEST>
Page 16
3.1.2 getInstrumentRootList
Returns a list of root instruments and associated metadata for which the user has permissions
to query/view data. There is no RequestXML parameter.
Arguments:
Type
Name
String
User
String
userPassword
Condition Tags:
Name
N/A
Description
API user identifier
API user password (case-sensitive)
Description
There is no RequestXML parameter
User-Specifiable Tags:
Name
Description
N/A
Response:
Type
Description
String
XML structured to contain a response for the request. It will identify each
available instrument. If a global error occurs, such as authentication, the
API_RESPONSE will only contain an error code and error description.
Example Request XML:
N/A
Example Response XML:
<?xml version="1.0" encoding="UTF-8" ?>
<API_RESPONSE CODE="0" DETAILS="">
<INSTRUMENT_ROOTS>
<INSTRUMENT_ROOT INSTRUMENT_ROOT_NAME="/WS" EXCHANGE_CODE="NYM" CURRENCY_CODE="USD"
INSTRUMENT_DESCRIPTION="WTI Financial" LOT_UNITS="BBL" INSTRUMENT_TYPE="F"
CONVERSION_FACTOR="7.803" />
<INSTRUMENT_ROOT INSTRUMENT_ROOT_NAME="/PN" EXCHANGE_CODE="NYM" CURRENCY_CODE="USD"
INSTRUMENT_DESCRIPTION="Propane Gas" LOT_UNITS="GAL" INSTRUMENT_TYPE="F"
CONVERSION_FACTOR="0.0" />
<INSTRUMENT_ROOT INSTRUMENT_ROOT_NAME="/PL" EXCHANGE_CODE="NYM" CURRENCY_CODE="USD"
INSTRUMENT_DESCRIPTION="NYMEX Futures" LOT_UNITS="TOZ" INSTRUMENT_TYPE="F"
CONVERSION_FACTOR="0.0" />
<INSTRUMENT_ROOT INSTRUMENT_ROOT_NAME="1tBPM" EXCHANGE_CODE="IPE" CURRENCY_CODE="GBP"
INSTRUMENT_DESCRIPTION="ICE UK Baseload Electricity" LOT_UNITS="MWH" INSTRUMENT_TYPE="F"
CONVERSION_FACTOR="1.0" />
<INSTRUMENT_ROOT INSTRUMENT_ROOT_NAME="1tGWM" EXCHANGE_CODE="IPE" CURRENCY_CODE="GBC"
INSTRUMENT_DESCRIPTION="ICE NBP Natrual Gas" LOT_UNITS="THM" INSTRUMENT_TYPE="F"
CONVERSION_FACTOR="1.0" />
<INSTRUMENT_ROOT INSTRUMENT_ROOT_NAME="1tGAS" EXCHANGE_CODE="IPE" CURRENCY_CODE="USD"
INSTRUMENT_DESCRIPTION="IPE Futures" LOT_UNITS="MT" INSTRUMENT_TYPE="F"
CONVERSION_FACTOR="7.46" />
etc
</INSTRUMENT_ROOTS>
</API_RESPONSE>
Page 17
3.1.3 getInstrumentMetaData
Returns metadata associated with a given symbol. NOTE: due to infrastructure limitations, this
method services only one Instrument per invocation.
Arguments:
Type
Name
String
User
String
userPassword
String
requestXML
Condition Tags:
Name
N/A
Description
API user identifier
API user password (case-sensitive)
Request String, formatted as per the schema at
API_REQUEST.xsd. The request must contain a
<INSTRUMENTS> clause, containing one (and only one)
INSTRUMENT_ID.
Description
N/A
User-Specifiable Tags:
Name
Description
N/A
N/A
Response:
Type
Description
String
XML structured to contain a response for the request. It will identify each
available instrument. If a global error occurs, such as authentication, the
API_RESPONSE will only contain an error code and error description.
Example Request XML:
<API_REQUEST>
<!-- You can only specify one instrument per request -->
<INSTRUMENTS>
<INSTRUMENT INSTRUMENT_ID="/NGZ6" />
</INSTRUMENTS>
</API_REQUEST>
Page 18
3.1.4 getCurrencyList
Returns a list of currencies and associated metadata.
Arguments:
Type
Name
String
User
String
userPassword
Condition Tags:
Name
N/A
Description
API user identifier
API user password (case-sensitive)
Description
N/A
User-Specifiable Tags:
Name
Description
N/A
N/A
Response:
Type
Description
String
XML structured to contain a response for the request. It will identify each
available currency. If a global error occurs, such as authentication, the
API_RESPONSE will only contain an error code and error description.
Example Request XML:
N/A
Example Response XML:
<?xml version="1.0" encoding="UTF-8" ?>
<API_RESPONSE CODE="0" DETAILS="">
<CURRENCIES>
<CURRENCY CURRENCY_CODE="USD" CURRENCY_DESCRIPTION="U.S. Dollar" />
<CURRENCY CURRENCY_CODE="CAD" CURRENCY_DESCRIPTION="Canadian Dollar" />
<CURRENCY CURRENCY_CODE="CHF" CURRENCY_DESCRIPTION="Swiss Franc" />
<CURRENCY CURRENCY_CODE="GBP" CURRENCY_DESCRIPTION="British Pound" />
<CURRENCY CURRENCY_CODE="EUR" CURRENCY_DESCRIPTION="Euro" />
<CURRENCY CURRENCY_CODE="JPY" CURRENCY_DESCRIPTION="Japanese Yen" />
<CURRENCY CURRENCY_CODE="SGD" CURRENCY_DESCRIPTION="Singapore Dollar" />
<CURRENCY CURRENCY_CODE="AUD" CURRENCY_DESCRIPTION="Australian Dollar" />
<CURRENCY CURRENCY_CODE="NZD" CURRENCY_DESCRIPTION="New Zealand Dollar" />
<CURRENCY CURRENCY_CODE="HKD" CURRENCY_DESCRIPTION="Hong Kong Dollar" />
<CURRENCY CURRENCY_CODE="DKK" CURRENCY_DESCRIPTION="Danish Krone" />
</CURRENCIES>
</API_RESPONSE>
Page 19
3.1.5 getExchangeList
Returns a list of exchanges available in the infrastructure, and their associated metadata.
Arguments:
Type
Name
String
User
String
userPassword
Condition Tags:
Name
N/A
Description
API user identifier
API user password (case-sensitive)
Description
N/A
User-Specifiable Tags:
Name
Description
N/A
N/A
Response:
Type
Description
String
XML structured to contain a response for the request. It will identify each
available exchange. If a global error occurs, such as authentication, the
API_RESPONSE will only contain an error code and error description.
Example Request XML:
N/A
Example Response XML:
<?xml version="1.0" encoding="UTF-8" ?>
<API_RESPONSE CODE="0" DETAILS="">
<EXCHANGES>
<EXCHANGES>
<EXCHANGE EXCHANGE_CODE="06A" EXCHANGE_DESCRIPTION="Platts Coal International"
EXCHANGE_EXPIRATION_DATETIME="2010-12-31T12:00:00Z" />
<EXCHANGE EXCHANGE_CODE="06B" EXCHANGE_DESCRIPTION="Platts Coal US"
EXCHANGE_EXPIRATION_DATETIME="2010-12-31T12:00:00Z" />
<EXCHANGE EXCHANGE_CODE="06C" EXCHANGE_DESCRIPTION="Platts Natural Gas"
EXCHANGE_EXPIRATION_DATETIME="2010-12-31T12:00:00Z" />
etc
</EXCHANGES>
</API_RESPONSE>
Page 20
3.1.6 getUserDefinedInstrumentList
Returns a list of user-defined instruments. These are known as User Defined Formulas in the
MarketView client, and allow the user to map a formula to an instrument symbol. The
instruments returned by this call in turn can be used in subsequent methods in Data
Connection. The process of defining these instruments are outside the scope of Web
Services; use the MarketView GUI application to create/edit your user defined instruments.
Arguments:
Type
Name
String
User
String
userPassword
Condition Tags:
Name
N/A
Description
API user identifier
API user password (case-sensitive)
Description
N/A
User-Specifiable Tags:
Name
Description
N/A
N/A
Response:
Type
Description
String
XML structured to contain a response for the request. It will identify each
available exchange. If a global error occurs, such as authentication, the
API_RESPONSE will only contain an error code and error description.
Page 21
Page 22
3.1.7 getOptionRootInstruments
Returns a list of instruments associated with a root or an underlier symbol. This is useful if you
would like a list of current future contracts associated with Natural Gas, or options of an
underlying instrument. The CONDITIONS clause must appear in the request.
Arguments:
Type
Name
String
User
String
userPassword
String
requestXML
Condition Tags:
Name
OPTION_ROOT
UNDERLIER
SECURITY_TYPE
CURRENT_SESSION
Description
API user identifier
API user password (case-sensitive)
Request XML, with a requisite CONDITIONS clause.
Description
The root symbol for option or futures contracts Either this or
UNDERLIER must appear.
The underlying symbol. Either this or OPTION_ROOT must
appear.
F for Futures; O for Options
Session the instrument trades on (1=night 2=day)
User-Specifiable Tags:
Name
Description
N/A
N/A
Default Tags:
Name
INSTRUMENT_ID, EXPIRATION_DATE, SYMBOL_DESCRIPTION, CURRENCY,
SECURITY_TYPE
Response:
Type
Description
String
XML structured to contain a response for the request. It will identify each
available exchange. If a global error occurs, such as authentication, the
API_RESPONSE will only contain an error code and error description.
Page 23
Page 24
3.1.8 getVersion
Returns the version of Data Connection. This method exists to facilitate customer support
issues. It is the exception to the rule, as it returns ithe version identifier in the DETAILS
attribute of the API_RESPONSE.
Arguments:
Type
Name
N/A
Condition Tags:
Name
N/A
Description
Description
User-Specifiable Tags:
Name
Description
N/A
N/A
Default Tags:
Name
N/A
Response:
Type
Description
String
XML structured to contain a response for the request. The
API_RESPONSEs error description field contains the version identifier.
Request XML
N/A
Response XML
<?xml version="1.0" encoding="UTF-8"?>
<API_RESPONSE CODE="0" DETAILS="MarketView Web Services: 2.0.228-0 buildDate: Mon Dec 04
12:35:00 CST 2006 javacVersion: 1.4.2_10 javaClass.Ver: 48.0 buildHost: wchpbwh1 vcBuildLabel: MarketView Web Services Version 2.0.228-0 vcRequest-Label: ProductionBuild" />
Page 25
3.2
3.2.1 getDailyPrices
Returns daily strip prices from the intraday datastore, for a user-defined set of instruments,
covering a user-defined period of time. The user may specify which Tags (a.k.a., fields) they
want to have returned, or rely on the default set of Tags.
Arguments:
Type
Name
String
User
String
UserPassword
String
requestXML
Condition Tags:
Name
INSTRUMENT_ID
START_DATE
END_DATE
DAYS_BACK
RECORDS_BACK
Other Tags
Description
API user identifier
API user password (case-sensitive)
Request XML. Any number of instruments can be
requested as shown below.
Description
Does not appear in the <CONDITIONS> clause; instead appears
in <INSTRUMENTS> (specific instrument_ids) or
<INSTRUMENT_SEARCHES> (wildcards)
A date in the format, YYYY-MM-DD. If specified, then
END_DATE must be specified as well. Between the two fields,
creates a date-within-range query.
A date in the format, YYYY-MM-DD. If specified, then
START_DATE must be specified as well, Between the two fields,
creates a date-within-range query.
Expressed as an integer. Synonymous with the START_DATE/
END_DATE pair, with the proviso that END_DATE is the current
date.
Synomyn for DAYS_BACK
Any of the User-Specifiable tags may appear as a CONDITION
tag, with the exception of TRADE_DATE and TRADE_TIME
(Use TRADE_DATETIME instead.) But see INSTRUMENT_ID
above.
Page 26
User-Specifiable Tags:
Name
INSTRUMENT_ID
Description
The securitys instrument identifier. If
<TAGS> are specified, this field must
appear in the request.
This sessions highest transaction
value
This sessions lowest transaction
value
Date and Time of the last reported
Trade, in ISO format
The Date portion (only) of the
TRADE_DATETIME
This session's opening price
Today's total trading volume
Open interest
Settlement price. The official closing
price of a commodity
Midpoint
Name of underlying company
Symbol description
HIGH
LOW
TRADE_DATETIME
TRADE_DATE
OPEN
VOLUME
OPEN_INTEREST
CLOSE
MID_POINT
COMPANY_NAME
SYMBOL_DESCRIPTION
Default Tags:
Name
INSTRUMENT_ID, TRADE_DATETIME, OPEN, HIGH, LOW, CLOSE
Response:
Type
Description
String
XML structured to contain a response for the request. It will identify each
available instrument. If a global error occurs, such as authentication, the
API_RESPONSE will only contain an error code and error description.
Page 27
Page 28
3.2.2 getHourlyISOPrices
Returns ISO data in hourly strips, for a user-defined set of instruments, covering a userdefined period of time. The user may specify which Tags (a.k.a., fields) they want to have
returned, or rely on the default set of Tags.
Arguments:
Type
Name
String
User
String
userPassword
String
requestXML
Condition Tags:
Name
INSTRUMENT_ID
START_DATE
END_DATE
DAYS_BACK
RECORDS_BACK
AGGREGATE_TYPE
Other Tags
Description
API user identifier
API user password (case-sensitive)
Request XML.
Description
Does not appear in the <CONDITIONS> clause; instead
appears in <INSTRUMENTS> (specific instrument_ids) or
<INSTRUMENT_SEARCHES> (wildcards)
A date in the format, YYYY-MM-DD. If specified, then
END_DATE must be specified as well. Between the two fields,
creates a date-within-range query.
A date in the format, YYYY-MM-DD. If specified, then
START_DATE must be specified as well, Between the two
fields, creates a date-within-range query.
Expressed as an integer. Synonymous with the START_DATE/
END_DATE pair, with the proviso that END_DATE is the current
date.
Synomyn for DAYS_BACK
1 for PEAK, 2 for OFFPEAK, 0 for BOTH
Any of the User-Specifiable tags may appear as a CONDITION
tag, with the exception of TRADE_DATE and TRADE_TIME
(Use TRADE_DATETIME instead.) But see INSTRUMENT_ID
above.
User-Specifiable Tags:
Name
INSTRUMENT_ID
Description
The securitys instrument identifier. If
<TAGS> are specified, this field must
appear in the request.
Settlement price
Date and Time of the last reported
trade
Usage hour as 24-hour integer
CLOSE
TRADE_DATETIME
USAGE_HOUR
Default Tags:
Name
INSTRUMENT_ID, TRADE_DATETIME, CLOSE
Response:
Type
Description
String
XML structured to contain a response for the request. It will identify each
available instrument. If a global error occurs, such as authentication, the
GVSI 2005-2007, Proprietary and Confidential
Page 29
Page 30
3.2.3 getDailyISOPrices
Returns ISO data in daily strips, for a user-defined set of instruments, covering a user-defined
period of time. The user may specify which Tags (a.k.a., fields) they want to have returned, or
rely on the default set of Tags.
Arguments:
Type
Name
String
User
String
userPassword
String
requestXML
Condition Tags:
Name
INSTRUMENT_ID
START_DATE
END_DATE
DAYS_BACK
RECORDS_BACK
AGGREGATE_TYPE
Other Tags
Description
API user identifier
API user password (case-sensitive)
Request XML. The request may contain a single
conditions clause identifying either a number of calendar
days back or a START_DATE and END_DATE. The
AGGREGATE_TYPE element can be used to restrict the
result to peak (AGGREGATETYPE of 1) or off-peak (2)
hours.
Description
Does not appear in the <CONDITIONS> clause; instead
appears in <INSTRUMENTS> (specific instrument_ids) or
<INSTRUMENT_SEARCHES> (wildcards)
A date in the format, YYYY-MM-DD. If specified, then
END_DATE must be specified as well. Between the two fields,
creates a date-within-range query.
A date in the format, YYYY-MM-DD. If specified, then
START_DATE must be specified as well, Between the two
fields, creates a date-within-range query.
Expressed as an integer. Synonymous with the START_DATE/
END_DATE pair, with the proviso that END_DATE is the current
date.
Synomyn for DAYS_BACK
1 for PEAK, 2 for OFFPEAK, 0 for BOTH
Any of the User-Specifiable tags may appear as a CONDITION
tag, with the exception of TRADE_DATE and TRADE_TIME
(Use TRADE_DATETIME instead.) But see INSTRUMENT_ID
above.
User-Specifiable Tags:
Name
INSTRUMENT_ID
Description
The securitys instrument identifier. If
<TAGS> are specified, this field must
appear in the request.
Settlement price
Date and Time of the last reported
trade
Usage Day as YYYY-MM-DD
Usage hour as 24-hour integer
Integer; node ID
Location
Security description
CLOSE
TRADE_DATETIME
USAGE_DAY
USAGE_HOUR
NODE_ID
LOCATION
SYMBOL_DESCRIPTION
Page 31
Name
VOLTAGE
POWER_TYPE
Description
Voltage (in KV)
Power type (HUB, ZONE, GEN,
AGGREGATE, INTERFACE, EHV,
LOAD, HUB NODE, NETWORK
NODE)
Default Tags:
Name
INSTRUMENT_ID, CLOSE, TRADE_DATETIME, USAGE_HOUR, USAGE_DAY,
SYMBOL_DESCRIPTION
Response:
Type
Description
String
XML structured to contain a response for the request. It will identify each
available instrument. If a global error occurs, such as authentication, the
API_RESPONSE will only contain an error code and error description.
Example Request XML:
<API_REQUEST>
<INSTRUMENTS>
<INSTRUMENT INSTRUMENT_ID="#JMD33092311" />
</INSTRUMENTS>
<TAGS>
<TAG TAG_NAME=DAILY_AGGREGATE />
<TAG TAG_NAME=OFFPEAK_DAILY_AGGREGATE />
<TAG TAG_NAME=LAST />
<TAG TAG_NAME=PEAK_DAILY_AGGREGATE />
<TAG TAG_NAME=USAGE_HOUR />
<TAG TAG_NAME=EXCHANGE_CODE />
<TAG TAG_NAME=INSTRUMENT_ID />
<TAG TAG_NAME=TRADE_DATETIME />
<TAG TAG_NAME=CLOSE />
</TAGS>
<CONDITIONS DAYS_BACK="3" AGGREGATE_TYPE="1" />
</API_REQUEST>
Page 32
3.2.4 getTradePrices
Returns the Trade (a.k.a., Tick or Historical) prices for a user-defined set of instruments,
covering a user-defined period of time. The user may specify which Tags (a.k.a., fields) they
want to have returned, or rely on the default set of Tags.
Arguments:
Type
Name
String
User
String
userPassword
String
requestXML
Condition Tags:
Name
INSTRUMENT_ID
START_DATE
END_DATE
DAYS_BACK
RECORDS_BACK
Other Tags
Description
API user identifier
API user password (case-sensitive)
Request XML. The request may contain a single
conditions clause identifying either a number of calendar
days back or a START_DATE and END_DATE. The
AGGREGATE_TYPE element can be used to restrict the
result to peak (AGGREGATETYPE of 1) or off-peak (2)
hours.
Description
Does not appear in the <CONDITIONS> clause; instead
appears in <INSTRUMENTS> (specific instrument_ids) or
<INSTRUMENT_SEARCHES> (wildcards)
A date in the format, YYYY-MM-DD. If specified, then
END_DATE must be specified as well. Between the two fields,
creates a date-within-range query.
A date in the format, YYYY-MM-DD. If specified, then
START_DATE must be specified as well, Between the two
fields, creates a date-within-range query.
Expressed as an integer. Synonymous with the START_DATE/
END_DATE pair, with the proviso that END_DATE is the current
date.
Synomyn for DAYS_BACK
Any of the User-Specifiable tags may appear as a CONDITION
tag, with the exception of TRADE_DATE and TRADE_TIME
(Use TRADE_DATETIME instead.) But see INSTRUMENT_ID
above.
User-Specifiable Tags:
Name
INSTRUMENT_ID
Description
The securitys instrument identifier. If
<TAGS> are specified, this field must
appear in the request.
Trade price or value
Date and Time of the last reported
trade
Transactional volume of the last trade
price reported in TRDPRC_1
LAST
TRADE_DATETIME
TRADE_VOLUME
Default Tags:
Name
INSTRUMENT_ID, LAST, TRADE_DATETIME, TRADE_VOLUME
Page 33
Response:
Type
Description
String
XML structured to contain a response for the request. It will identify each
available instrument. If a global error occurs, such as authentication, the
API_RESPONSE will only contain an error code and error description.
Example Request XML:
<API_REQUEST>
<INSTRUMENTS>
<INSTRUMENT INSTRUMENT_ID="/CLZ6" />
</INSTRUMENTS>
<CONDITIONS DAYS_BACK="2" />
</API_REQUEST>
TRADE_DATETIME="2006-11-17T15:06:12-0600"
TRADE_DATETIME="2006-11-17T15:06:19-0600"
TRADE_DATETIME="2006-11-17T15:06:39-0600"
TRADE_DATETIME="2006-11-17T15:06:44-0600"
TRADE_DATETIME="2006-11-17T15:07:22-0600"
TRADE_DATETIME="2006-11-17T15:08:44-0600"
TRADE_DATETIME="2006-11-17T15:11:05-0600"
TRADE_DATETIME="2006-11-17T15:11:05-0600"
TRADE_DATETIME="2006-11-17T15:12:42-0600"
TRADE_DATETIME="2006-11-17T15:12:43-0600"
TRADE_DATETIME="2006-11-17T15:13:36-0600"
TRADE_DATETIME="2006-11-17T15:14:25-0600"
TRADE_DATETIME="2006-11-17T15:14:29-0600"
Page 34
3.2.5 getLiveQuotePrices
Returns Livequote prices for a set of instruments, covering a user-defined period of time. The
user may specify which Tags (a.k.a., fields) they want to have returned, or rely on the default
set of Tags.
Arguments:
Type
Name
String
User
String
userPassword
String
requestXML
Condition Tags:
Name
INSTRUMENT_ID
AGGREGATE_TYPE
START_DATE
END_DATE
DAYS_BACK
RECORDS_BACK
Other Tags
Description
API user identifier
API user password (case-sensitive)
Request XML. The request most contain a single
conditions clause identifying either a number of calendar
days back or a START_DATE and END_DATE:
Description
Does not appear in the <CONDITIONS> clause; instead
appears in <INSTRUMENTS> (specific instrument_ids) or
<INSTRUMENT_SEARCHES> (wildcards)
1 for peak; 2 for off-peak; 0 for all
A date in the format, YYYY-MM-DD. If specified, then
END_DATE must be specified as well. Between the two fields,
creates a date-within-range query.
A date in the format, YYYY-MM-DD. If specified, then
START_DATE must be specified as well, Between the two
fields, creates a date-within-range query.
Expressed as an integer. Synonymous with the START_DATE/
END_DATE pair, with the proviso that END_DATE is the current
date.
Synomyn for DAYS_BACK
Any of the User-Specifiable tags may appear as a CONDITION
tag, with the exception of TRADE_DATE and TRADE_TIME
(Use TRADE_DATETIME instead.) But see INSTRUMENT_ID
above.
User-Specifiable Tags:
Name
INSTRUMENT_ID
Description
The securitys instrument identifier. If
<TAGS> are specified, this field must
appear in the request.
Last trade price or value (most
recent)
Net change from previous close
This session's highest transaction
value
This session's lowest transaction
value
Date and Time of the last reported
trade
Date portion of TRADE_DATETIME
This session's opening price
LAST
NET_CHANGE
HIGH
LOW
TRADE_DATETIME
TRADE_DATE
OPEN
Page 35
Name
HIST_CLOSE
BID
Description
Most recent closing or settlement
price
Latest bid price
ASK
BID_SIZE
ASK_SIZE
TOTAL_VOLUME
OPEN_INTEREST
Open interest
STRIKE
VOLUME
PUT_CALL
TRADE_VOLUME
SYMBOL_DESCRIPTION
COMPANY_NAME
BID_DATETIME
ASK_DATETIME
MID_POINT
DAILY_AGGREGATE
PEAK_DAILY_AGGREGATE
OFFPEAK_DAILY_AGGREGAGE
Default Tags:
Name
INSTRUMENT_ID, LAST, NET_CHANGE, HIGH, LOW, TRADE_DATETIME,
OPEN, BID, ASK, BID_SIZE, ASK_SIZE, COMPANY_NAME
Response:
Type
String
Description
XML structured to contain a response for the request. It will identify each
available instrument which has price corrections for the period specified. If
a global error occurs, such as authentication, the API_RESPONSE will
only contain an error code and error description.
Page 36
Page 37
3.2.6 getIntradayPrices
Returns intraday prices for a set of instruments, covering a user-defined period of time. The
user may specify which Tags (a.k.a., fields) they want to have returned, or rely on the default
set of Tags.
Arguments:
Type
Name
String
User
String
userPassword
String
requestXML
Condition Tags:
Name
INSTRUMENT_ID
AGGREGATE_TYPE
BAR_INTERVAL
START_DATE
END_DATE
DAYS_BACK
RECORDS_BACK
Other Tags
Description
API user identifier
API user password (case-sensitive)
Request XML. The request most contain a single
conditions clause identifying either a number of calendar
days back or a START_DATE and END_DATE. Any
number of instruments can be requested as shown below:
Description
Does not appear in the <CONDITIONS> clause; instead
appears in <INSTRUMENTS> (specific instrument_ids) or
<INSTRUMENT_SEARCHES> (wildcards)
1 for peak; 2 for off-peak; 0 for all
Desired stripping, in minutes. Available are 1, 2, 3, 4, 5, 6, 7, 8,
9, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 90, 120, 150, 180,
210, 240.
A date in the format, YYYY-MM-DD. If specified, then
END_DATE must be specified as well. Between the two fields,
creates a date-within-range query.
A date in the format, YYYY-MM-DD. If specified, then
START_DATE must be specified as well, Between the two
fields, creates a date-within-range query.
Expressed as an integer. Synonymous with the START_DATE/
END_DATE pair, with the proviso that END_DATE is the current
date.
Synomyn for DAYS_BACK
Any of the User-Specifiable tags may appear as a CONDITION
tag, with the exception of TRADE_DATE and TRADE_TIME
(Use TRADE_DATETIME instead.) But see INSTRUMENT_ID
above.
User-Specifiable Tags:
Name
INSTRUMENT_ID
Description
The securitys instrument identifier. If
<TAGS> are specified, this field must
appear in the request.
Last trade price or value
This sessions highest transaction
value
This sessions lowest transaction
value
Date and Time of the last reported
trade
LAST
HIGH
LOW
TRADE_DATETIME
Page 38
Name
TRADE_DATE
OPEN
Description
Date portion of TRADE_DATETIME
This sessions opening price
Default Tags:
Name
INSTRUMENT_ID, TRADE_DATETIME, OPEN, HIGH, LOW, LAST
Response:
Type
Description
String
XML structured to contain a response for the request. It will identify each
available instrument which has price corrections for the period specified. If a
global error occurs, such as authentication, the API_RESPONSE will only
contain an error code and error description.
Example XML Request:
<API_REQUEST>
<INSTRUMENT_SEARCHES>
<INSTRUMENT_SEARCH INSTRUMENT_ID="/CL?6" />
</INSTRUMENT_SEARCHES>
</API_REQUEST>
INSTRUMENT_ID="/CLT6" OPEN="56.30"
INSTRUMENT_ID="/CLT6" OPEN="56.36"
INSTRUMENT_ID="/CLT6" OPEN="56.34"
INSTRUMENT_ID="/CLT6" OPEN="56.36"
INSTRUMENT_ID="/CLT6" OPEN="56.34"
INSTRUMENT_ID="/CLT6" OPEN="56.38"
Page 39
3.2.7
getNews
Returns News articles. Articles either have their own body (e.g., the story,) or have a reference
to a web URL, to be used by a web browser. The user may specify which Tags (a.k.a., fields)
they want to have returned, or rely on the default set of Tags.
Arguments:
Type
Name
String
User
String
userPassword
String
requestXML
Condition Tags:
Name
NEWS_SOURCE
NEWS_DEPTH
START_DATE
END_DATE
DAYS_BACK
RECORDS_BACK
Other Tags
Description
API user identifier
API user password (case-sensitive)
Request XML. The request most contain a single
conditions clause identifying either a number of calendar
days back or a START_DATE and END_DATE.
Description
ID Code for News Source. Must appear
Not a condition per se, but controls the number of headlines
returned by query. Defaults to 300.
A date in the format, YYYY-MM-DD. If specified, then
END_DATE must be specified as well. Between the two fields,
creates a date-within-range query.
A date in the format, YYYY-MM-DD. If specified, then
START_DATE must be specified as well, Between the two
fields, creates a date-within-range query.
Expressed as an integer. Synonymous with the START_DATE/
END_DATE pair, with the proviso that END_DATE is the current
date.
Synomyn for DAYS_BACK
Any of the User-Specifiable tags may appear as a CONDITION
tag, with the exception of NEWS_DATE and NEWS_TIME (Use
NEWS_DATETIME instead.)
User-Specifiable Tags:
Name
NEWS_DATETIME
NEWS_DATE
NEWS_TIME
NEWS_HEADLINE
NEWS_BODY
NEWS_STORY_NUMBER
NEWS_SOURCE
NEWS_PAGE
NEWS_CATEGORIES
NEWS_SYMBOL
Description
News Story DateTime
Date portion of NEWS_DATETIME
Time portion of NEWS_DATETIME
Headline Text
Story Text
News Story ID Number
ID Code for News Source
The News Page Number
News Category
Instrument/Symbol associated with
Story
Keywords in the headlines
Server News Story Date
Server News Story Time
URL/URI pointing to the story on the
Web (used in conjunction with web
NEWS_KEYWORDS
NEWS_SERVER_DATE
NEWS_SERVER_TIME
NEWS_HREF
Page 40
browser component.)
Default Tags:
Name
NEWS_DATETIME, NEWS_HEADLINE, NEWS_BODY,
NEWS_STORY_NUMBER, NEWS_SOURCE, NEWS_PAGE,
NEWS_CATEGORIES, NEWS_SYMBOL, NEWS_KEYWORDS,
NEWS_SERVER_DATE, NEWS_SERVER_TIME, NEWS_HREF
Response:
Type
String
Description
XML structured to contain a response for the request. It will identify each
available instrument which has price corrections for the period specified. If
a global error occurs, such as authentication, the API_RESPONSE will
only contain an error code and error description.
Page 41
Page 42
3.2.8 getHourlyISOCorrections
Returns price corrections for ISO instruments. The user may specify which Tags (a.k.a., fields)
they want to have returned, or rely on the default set of Tags.
Arguments:
Type
Name
String
User
String
userPassword
String
requestXML
Condition Tags:
Name
INSTRUMENT_ID
START_DATE
END_DATE
DAYS_BACK
RECORDS_BACK
Other Tags
Description
API user identifier
API user password (case-sensitive)
Request XML. The request most contain a single
conditions clause identifying either a number of calendar
days back or a START_DATE and END_DATE.
Description
Does not appear in the <CONDITIONS> clause; instead
appears in <INSTRUMENTS> (specific instrument_ids)
or <INSTRUMENT_SEARCHES> (wildcards)
A date in the format, YYYY-MM-DD. If specified, then
END_DATE must be specified as well. Between the two
fields, creates a date-within-range query.
A date in the format, YYYY-MM-DD. If specified, then
START_DATE must be specified as well, Between the
two fields, creates a date-within-range query.
Expressed as an integer. Synonymous with the
START_DATE/ END_DATE pair, with the proviso that
END_DATE is the current date.
Synomyn for DAYS_BACK
Any of the User-Specifiable tags may appear as a
CONDITION tag, with the exception of NEWS_DATE and
NEWS_TIME (Use NEWS_DATETIME instead.)
User-Specifiable Tags:
Name
INSTRUMENT_ID
CORRECTION_DATETIME
Description
Instrument ID. Must appear
Date and time on which the correction
was made.
Last trade price or value
Settlement price
Date and time of the trade
Day of Month (format YYYY-MM-DD)
Hour of usage
Node ID
Location
LAST
CLOSE
TRADE_DATETIME
USAGE_DAY
USAGE_HOUR
NODE_ID
LOCATION
Page 43
Default Tags:
Name
INSTRUMENT_ID, CORRECTION_DATETIME, LAST, CLOSE,
TRADE_DATETIME, USAGE_DAY, USAGE_HOUR, NODE_ID, LOCATION
Response:
Type
String
Description
XML structured to contain a response for the request. It will identify each
available instrument which has price corrections for the period specified. If
a global error occurs, such as authentication, the API_RESPONSE will
only contain an error code and error description.
Page 44
3.2.9 getDailyISOPriceCorrections
Returns price corrections for ISO instruments. The user may specify which Tags (a.k.a., fields)
they want to have returned, or rely on the default set of Tags.
Arguments:
Type
Name
String
User
String
userPassword
String
requestXML
Condition Tags:
Name
INSTRUMENT_ID
START_DATE
END_DATE
DAYS_BACK
RECORDS_BACK
Other Tags
Description
API user identifier
API user password (case-sensitive)
Request XML. The request most contain a single
conditions clause identifying either a number of calendar
days back or a START_DATE and END_DATE.
Description
The instrument id. Must appear
A date in the format, YYYY-MM-DD. If specified, then
END_DATE must be specified as well. Between the two
fields, creates a date-within-range query.
A date in the format, YYYY-MM-DD. If specified, then
START_DATE must be specified as well, Between the
two fields, creates a date-within-range query.
Expressed as an integer. Synonymous with the
START_DATE/ END_DATE pair, with the proviso that
END_DATE is the current date.
Synomyn for DAYS_BACK
Any of the User-Specifiable tags may appear as a
CONDITION tag, with the exception of NEWS_DATE and
NEWS_TIME (Use NEWS_DATETIME instead.)
User-Specifiable Tags:
Name
INSTRUMENT_ID
Description
Does not appear in the
<CONDITIONS> clause; instead
appears in <INSTRUMENTS>
(specific instrument_ids) or
<INSTRUMENT_SEARCHES>
(wildcards)
Date and time on which the correction
was made.
Last trade price or value
Settlement price
Date and time of the trade
Day of Month (format YYYY-MM-DD)
Hour of usage
Node ID
Location
CORRECTION_DATETIME
LAST
CLOSE
TRADE_DATETIME
USAGE_DAY
USAGE_HOUR
NODE_ID
LOCATION
Page 45
Default Tags:
Name
INSTRUMENT_ID, CORRECTION_DATETIME, LAST, CLOSE,
TRADE_DATETIME, USAGE_DAY, USAGE_HOUR, NODE_ID, LOCATION
Response:
Type
String
Description
XML structured to contain a response for the request. It will identify each
available instrument which has price corrections for the period specified. If
a global error occurs, such as authentication, the API_RESPONSE will
only contain an error code and error description.
Page 46
3.2.10 getPriceCorrections
Returns price corrections for normal (non-ISO) instruments. The user may specify which Tags
(a.k.a., fields) they want to have returned, or rely on the default set of Tags.
Arguments:
Type
Name
String
User
String
userPassword
String
requestXML
Condition Tags:
Name
INSTRUMENT_ID
START_DATE
END_DATE
DAYS_BACK
RECORDS_BACK
Other Tags
Description
API user identifier
API user password (case-sensitive)
Request XML. The request most contain a single
conditions clause identifying either a number of calendar
days back or a START_DATE and END_DATE.
Description
Does not appear in the <CONDITIONS> clause; instead
appears in <INSTRUMENTS> (specific instrument_ids)
or <INSTRUMENT_SEARCHES> (wildcards)
A date in the format, YYYY-MM-DD. If specified, then
END_DATE must be specified as well. Between the two
fields, creates a date-within-range query.
A date in the format, YYYY-MM-DD. If specified, then
START_DATE must be specified as well, Between the
two fields, creates a date-within-range query.
Expressed as an integer. Synonymous with the
START_DATE/ END_DATE pair, with the proviso that
END_DATE is the current date.
Synomyn for DAYS_BACK
Any of the User-Specifiable tags may appear as a
CONDITION tag, with the exception of NEWS_DATE and
NEWS_TIME (Use NEWS_DATETIME instead.)
User-Specifiable Tags:
Name
INSTRUMENT_ID
CORRECTION_DATETIME
Description
Instrument ID. Must appear
Date and time on which the correction
was made.
Last trade price or value
Settlement price
Date and time of the trade
ORIGINAL_PRICE
NEW_PRICE
TRADE_DATETIME
Page 47
Default Tags:
Name
INSTRUMENT_ID, CORRECTION_DATETIME, ORIGINAL_PRICE, NEW_PRICE,
TRADE_DATETIME
Response:
Type
String
Description
XML structured to contain a response for the request. It will identify each
available instrument which has price corrections for the period specified. If
a global error occurs, such as authentication, the API_RESPONSE will
only contain an error code and error description.
Page 48
3.3
Does the quote lie within a certain threshold of previous quotes in the system
o Expressible as a fixed amount
o Expressible as a percentage
o The positive threshold (amount the quote goes up) can be explicitly expressed
o The negative threshold (amount the quote goes down) can be explicitly expressed
o You can set the sampling size of previous quotes e.g., read and average the
lastmost x quotes, then compare that value to the threshold values.
o The field being compared in the quote is user-definable. So, you could compare
the CLOSE, LAST, or VOLUME.
3.3.1 Are{dataSet}PricesAvailable
Data Connection provides this family of methods (areDailyPricesAvailable,
areHourlyISOPricesAvailable, areDailyISOPricesAvailable, areTradePricesAvailable,
areLiveQuotePricesAvailable, and areIntradayPricesAvailable,,) to determine if a price
quote has been delivered for the given instrument(s) today. Reasons why quotes may not be
available vary, but can include issues such as exchange holidays or transmission problems. If
you are concerned that you may not have a complete dataset, this family of methods can help
you track down issues.
Essentially, these methods run a variant of get{dataSet}Prices methods, documented in
Sections 3.2.1 3.2.6, where there is a <CONDITIONS> clause of DAYS_BACK=2 set, to
previous two days quotes.
Data Connection determines whether a quote for today is available, and returns that
information to you through the tag QUOTE_AVAILABLE. If the quote is available, this tag has
the value of AVAILABLE; else NOT AVAILABLE.
Note that the definition of today is a little nebulous: MarketViews infrastructure stores all
date/times in Greenwich Mean Time, and does not necessarily know then the day ends at
the Exchange where the Instrument is quoted from. Therefore, it is up to you to specify the
Exchanges timezone (through the TIMEZONE tag.) If no timezone is specified, Data
Connection assumes America/Chicago.
Arguments:
Type
Name
String
User
String
userPassword
String
requestXML
Condition Tags:
Name
INSTRUMENT_ID
GVSI 2005-2007, Proprietary and Confidential
Description
API user identifier
API user password (case-sensitive)
Request XML. The request should contain a
<CONDITIONS> clause identifying the TIMEZONE for
which to run the query.
Description
Does not appear in the <CONDITIONS> clause; instead
Page 49
TIMEZONE
Description
XML structured to contain a response for the request. It will identify each
available instrument which has price corrections for the period specified. If
a global error occurs, such as authentication, the API_RESPONSE will
only contain an error code and error description.
Page 50
3.3.2 are{dataSet}PricesInAbsoluteThreshold
Data Connection provides this family of methods (areDailyPricesInAbsoluteThreshold,
areHourlyISOPricesInAbsoluteThreshold, areDailyISOPricesInAbsoluteThreshold,
areTradePricesInAbsoluteThreshold, areLiveQuotePricesInAbsoluteThreshold, and
areIntradayPricesInAbsoluteThreshold,) to determine if a price quote is within a userspecified threshold. The major difference between this family of methods and those
documented in Section 3.3.3 is these methods deal with fixed numbers (e.g., a constant);
the family of methods in Section 3.3.3 instead deals with changes in the quotes that are a
percentage.
For example, you might wish to be notified if the last price of an instrument increases or
decreases by more than $5 of the average last, established by sampling x previous price
quotes. These methods allow you to determine that.
In order to use these methods properly, you first need to indicate which tag you want Data
Connection to analyze. This is set with the THRESHOLD_FIELD tag in the CONDITIONS
clause; by default, the tag CLOSE is inspected. Other reasonable tags might be LAST, or
VOLUME. (Obviously, tags analyzed must be numeric)
Next, you need to set the SAMPLE_SIZE tag in the CONDITIONS clause. Doing so
establishes the number of records Data Connection should look at when establishing what the
average value of the THRESHOLD_FIELD is. By default, the SAMPLE_SIZE is set to 1
(which means, the previous quote in the system is used to establish the average an
average, sampling one record.)
Next you need to set the CHECK_SIZE tag in the CONDITIONS clause. This indicates how
many quotes, following the SAMPLE_SIZE, you would like to analyze for being within
threshold values. The default value for CHECK_SIZE is 1. (What this means is, if both
SAMPLE_SIZE and CHECK_SIZE are set to 1, the last two quotes are read the second-tolast to establish the average, the last to analyze for thresholds.)
Page 51
Finally, you must set the thresholds to compare against. You have two ways to do this,
If the range you want to check for is the same amount (e.g., the threshold is a value,
like 2), assign THRESHOLD_AMOUNT tag in the CONDITIONS clause.
If you would like individual control of the ceiling the quote can increase by, set the
POSITIVE_THRESHOLD_AMOUNT tag in the CONDITIONS clause. For the floor,
set the NEGATIVE_THRESHOLD_AMOUNT tag. (If you specify positive threshold,
you must also specify negative threshold.) Both amounts should be positive.
Data Connection will run a query for you, adding a tag named THRESHOLD_REPORT, that
reports whether the tag specified is within or outside the specified threshold.
Arguments:
Type
Name
String
User
String
userPassword
String
requestXML
Description
API user identifier
API user password (case-sensitive)
Request XML. The request must contain a
<CONDITIONS> clause with the THRESHOLD_AMOUNT
or the POSITIVE_THRESHOLD_AMOUNT -NEGATIVE_THRESHOLD_AMOUNT pair (both must
appear)
Condition Tags:
Name
INSTRUMENT_ID
SAMPLE_SIZE
CHECK_SIZE
THRESHOLD_FIELD
THRESHOLD_AMOUNT
POSITIVE_THRESHOLD_AMOUNT
NEGATIVE_THRESHOLD_AMOUNT
Description
Does not appear in the <CONDITIONS>
clause; instead appears in <INSTRUMENTS>
(specific instrument_ids) or
<INSTRUMENT_SEARCHES> (wildcards)
Specifies the number of records to read from
the datastore to establish the average. Defaults
to 1.
Specifies the number of records to read from
the datastore to for analysis against the
average. Defaults to 1.
The tag in the quote(s) to compare. Defaults to
CLOSE; must be a numeric field.
The threshold amount to compare against.
Shortcut for specifying
POSITIVE_THRESHOLD_AMOUNT and
NEGATIVE_THRESHOLD_AMOUNT with the
same value.
The threshold value for positive value change
that the quote value cannot exceed. A positive
value.
The threshold value for negative value change
that the quote value cannot exceed. A positive
value.
Default Tags:
Name
Whatever the default tags are for the given method, plus INSTRUMENT_ID,
TRADE_DATETIME, the tag specified by THRESHOLD_FIELD, and
GVSI 2005-2007, Proprietary and Confidential
Page 52
Name
THRESHOLD_REPORT.
Response:
Type
String
Description
XML structured to contain a response for the request. It will identify each
available instrument which has price corrections for the period specified. If
a global error occurs, such as authentication, the API_RESPONSE will
only contain an error code and error description.
Page 53
3.3.3 are{dataSet}PricesInPercentileThreshold
Data Connection provides this family of methods (areDailyPricesInPercentileThreshold,
areHourlyISOPricesInPercentileThreshold, areDailyISOPricesInPercentileThreshold,
areTradePricesInPercentileThreshold, areLiveQuotePricesInPercentileThreshold, and
areIntradayPricesInPercentileThreshold,) to determine if a price quote is within a userspecified threshold. The major difference between this family of methods and those
documented in Section 3.3.2 is that the former deals with fixed numbers (e.g., a constant);
this family of methods instead deals with changes in the quotes that are a percentage.
For example, you might wish to be notified if the last price of an instrument increases or
decreases by more than 5% of the average last, established by sampling x previous price
quotes. These methods allow you to determine that.
In order to use these methods properly, you first need to indicate which tag you want Data
Connection to analyze. This is set with the THRESHOLD_FIELD tag in the CONDITIONS
clause; by default, the tag CLOSE is inspected. Other reasonable tags might be LAST, or
VOLUME. (Obviously, tags analyzed must be numeric)
Next, you need to set the SAMPLE_SIZE tag in the CONDITIONS clause. Doing so
establishes the number of records Data Connection should look at when establishing what the
average value of the THRESHOLD_FIELD is. By default, the SAMPLE_SIZE is set to 1
(which means, the previous quote in the system is used to establish the average an
average, sampling one record.)
Next you need to set the CHECK_SIZE tag in the CONDITIONS clause. This indicates how
many quotes, following the SAMPLE_SIZE, you would like to analyze for being within
threshold values. The default value for CHECK_SIZE is 1. (What this means is, if both
SAMPLE_SIZE and CHECK_SIZE are set to 1, the last two quotes are read the second-tolast to establish the average, the last to analyze for thresholds.)
Finally, you must set the thresholds to compare against. You have two ways to do this,
If the range you want to check for is the same amount (e.g., the threshold is a value,
like 2), assign THRESHOLD_AMOUNT tag in the CONDITIONS clause. If you
would like to check against 5%, THRESHOLD_AMOUNT should be set to 5. Data
Connection will divide your entries by 100. Which means, fractional amounts in your
arguments are considered to be fractions of a percent.
If you would like individual control of the ceiling the quote can increase by, set the
POSITIVE_THRESHOLD_AMOUNT tag in the CONDITIONS clause. For the floor,
set the NEGATIVE_THRESHOLD_AMOUNT tag. (If you specify positive threshold,
you must also specify negative threshold.) Both amounts should be positive. If youd
like to check against 5%, pass 5 as the argument; Data Connection will divide your
arguments by 100. Which means, fractional amounts in your arguments are
considered to be fractions of a percent.
Page 54
Data Connection will run a query for you, adding a tag named THRESHOLD_REPORT, that
reports whether the tag specified is within or outside the specified threshold.
Arguments:
Type
Name
String
User
String
userPassword
String
requestXML
Description
API user identifier
API user password (case-sensitive)
Request XML. The request must contain a
<CONDITIONS> clause with the THRESHOLD_AMOUNT
or the POSITIVE_THRESHOLD_AMOUNT -NEGATIVE_THRESHOLD_AMOUNT pair (both must
appear)
Condition Tags:
Name
INSTRUMENT_ID
SAMPLE_SIZE
CHECK_SIZE
THRESHOLD_FIELD
THRESHOLD_AMOUNT
POSITIVE_THRESHOLD_AMOUNT
NEGATIVE_THRESHOLD_AMOUNT
Description
Does not appear in the <CONDITIONS>
clause; instead appears in <INSTRUMENTS>
(specific instrument_ids) or
<INSTRUMENT_SEARCHES> (wildcards)
Specifies the number of records to read from
the datastore to establish the average. Defaults
to 1.
Specifies the number of records to read from
the datastore to for analysis against the
average. Defaults to 1.
The tag in the quote(s) to compare. Defaults to
CLOSE; must be a numeric field.
The threshold amount to compare against.
Shortcut for specifying
POSITIVE_THRESHOLD_AMOUNT and
NEGATIVE_THRESHOLD_AMOUNT with the
same value. Data Connection will divide your
argument by 100, so if you want 5%, pass 5.
The threshold value for positive value change
that the quote value cannot exceed. A positive
value.
The threshold value for negative value change
that the quote value cannot exceed. A positive
value.
Default Tags:
Name
Whatever the default tags are for the given method, plus INSTRUMENT_ID,
TRADE_DATETIME, the tag specified by THRESHOLD_FIELD, and
THRESHOLD_REPORT.
Response:
Type
String
Description
XML structured to contain a response for the request. It will identify each
available instrument which has price corrections for the period specified. If
a global error occurs, such as authentication, the API_RESPONSE will
only contain an error code and error description.
Page 55
Page 56
importInstrumentPrice
importInstrumentPriceCorrection
importInstrumentMetaData
News Articles
importNews
getImportStatistics
Data Connection Import Data methods require that you provide the name of the application.
That value is user-defined, and it allows you to fine-tune the granularity of the runtime statistics
we gather for you. Import Statistics keeps track of the number of success and failures to import
data, broken down by userName and application. If you partition the application name
passed by the type of data being imported (or the machine doing the importing,) this can help
you track down Production issues.
No restrictions are placed on application values you can use, nor do you have to do anything
special to register a legal value merely pass an application to one of the API calls if it did
not exist beforehand, it will be created.
Page 57
3.4.1 importInstrumentPrice
Allows the user to import a price for an instrument. This price is inserted into two data stores:
LiveQuote and Trade/Historical. For the Trade/Historical data store, we use the trade
datetime and the close tags. For LiveQuote we use the trade datetime, open, high, low,
volume, open interest and last tags. (Last and close tags would contain the same value.)
Data Connection allows one price quote to be published per method invocation.
Arguments:
Type
Name
String
User
String
userPassword
String
Application
String
requestXML
Required Tags:
Name
INSTRUMENT_ID
EXCHANGE_CODE
TRADE_DATETIME
CLOSE
LAST
Description
API user identifier
API user password (case-sensitive)
User-defined name of the importing application process.
Request XML.
Description
Identifier for the given instrument.
Exchange identifier for the instrument.
Date/Time of the price quote
Price communicated to the Trade/Historical data store
Price communicated to the LiveQuote data store
Optional Tags:
Name
HIGH
LOW
OPEN
VOLUME
OPEN_INTEREST
Response:
Type
String
Description
Sessions High price
Sessions Low price
Sessions opening price
Volume
Open Interest
Description
XML structured to contain a response for the request. API_RESPONSE
will only contain an error code and error description.
Page 58
Page 59
3.4.2 importInstrumentPriceCorrection
Allows the user to import a price correction. The corrections will be propaged to the LiveQuote
and Trade/Historical data stores, and the date the correction was issued will be stored in the
Correction data store. The Correction data store has the dates corrections were issued per
trade date, but is unaware of what data field has been corrected.
Data Connection allows one price correction to be published per method invocation.
Arguments:
Type
Name
String
User
String
userPassword
String
Application
String
requestXML
Required Tags:
Name
INSTRUMENT_ID
EXCHANGE_CODE
CORRECTION_DATETIME
TRADE_DATETIME
CLOSE
LAST
Description
API user identifier
API user password (case-sensitive)
User-defined name of the importing application process.
Request XML.
Description
Identifier for the given symbol.
Exchange identifier for the symbol.
Date/Time of the price correction
Date/Time of the price quote
Price communicated to the Trade/Historical data store
Price communicated to the LiveQuote data store
Optional Tags:
Name
HIGH
LOW
OPEN
VOLUME
OPEN_INTEREST
Response:
Type
String
Description
Sessions High price
Sessions Low price
Sessions opening price
Volume
Open Interest
Description
XML structured to contain a response for the request. API_RESPONSE
will only contain an error code and error description.
Page 60
Page 61
3.4.3 importInstrumentMetaData
Allows the user to import metadata concerning a given instrument. Instrument metadata
includes fields such as description, currency, lot units, etc., and these are values that generally
do not change.
Data Connection allows one instruments metadata to be published per method invocation.
Arguments:
Type
Name
String
User
String
userPassword
String
Application
String
requestXML
Required Tags:
Name
INSTRUMENT_ID
EXCHANGE_CODE
Description
API user identifier
API user password (case-sensitive)
User-defined name of the importing application process.
Request XML.
Description
Identifier for the given symbol.
Exchange identifier for the symbol.
Optional Tags:
Name
SYMBOL_DESCRIPTION
CURRENCY
LOT_UNITS
MARKET
REGION
LOCATION
CONVERSION_FACTOR
EXPIRATION_DATE
Response:
Type
String
Description
Symbol description
Currency
Lot Units. E.g., gallons,barrows, etc.
Market (used in symbol search)
Region (used in symbol search)
Location (used in symbol search)
Lot unit conversion factor
Expiration Date
Description
XML structured to contain a response for the request. API_RESPONSE
will only contain an error code and error description.
Page 62
Page 63
3.4.4 getImportStatistics
Returns runtime statistics of applications that have been importing data (news, prices,
corrections) into Data Connection. Statistics gathered are, userName, application (which is a
user-defined value,) startDate, lastDate, count of errors and count of successes.
(We prepend a W to your USER_NAME. This allows us to separate permissions, vis--vis the
exchanges you can query from, versus the exchanges you can import data for.)
Arguments:
Type
Name
String
User
String
userPassword
Condition Tags:
Name
N/A
Description
API user identifier
API user password (case-sensitive)
Description
There is no RequestXML parameter
User-Specifiable Tags:
Name
Description
N/A
Response:
Type
Description
String
XML structured to match APIRESPONSE.to contain a response for the
request. It will identify each available instrument. If a global error occurs, such
as authentication, the API_RESPONSE will only contain an error code and
error description.
Page 64
Page 65
Page 66