DTN ProphetX® Web Services

GetDailyHistory

This operation provides the ability to retrieve the historical price information per day for a specific symbol or set of symbols identified via a search pattern.

Parameter Value
UserID*
Password* Password is case sensitive.
 
Symbol* A comma separated list of symbols, search patterns based on wildcards and/or arithmetic expressions between symbols prefixed with "=".  Expired symbols must be specified with a four digit year as in 'NGZ2002'.
Interval Interval code (1/D=daily, 7/W=weekly, 30/M=monthly). Default code is D.
StartDate Start date in the format "MM-DD-YYYY" or "MM/DD/YY". An integer number is accepted to indicate a relative date in the past counted as days from market current date. Default is start of information in the system.
EndDate End date in the format "MM-DD-YYYY" or "MM/DD/YY". An integer number is accepted to indicate a relative date in the past counted as days from market current date. Default value is market current date.
Limit Limit on number of data points to return. Default value is 260 (~= 1 year using daily interval). The maximum number of points for a single symbol in one request is 3,660. For requests that match a lot of symbols, a per symbol limit will be set so that one entire request doesn't return more than 1,020,000 data points.
 
Symbol Limit Maximum number of symbols to return in one response. Default is 600. Absolute maximum is 4,000.
Page Token A page token returned from a previous request. It is used to resume a request that matched more symbols than the SymbolLimit allowed in one request.
 
Market Optional market name or code (see notes below).
Vendor Optional vendor name or code.
Format Optional parameter to request the result in an specific format.  Default value is XML.

Notes

*Mandatory parameters are marked with an asterisk.

The daily data is made available shortly after the market settles for futures and options.

Symbol

Each symbol or search pattern is separated by a comma and it is important to note that there is a limit of 2048 characters in the length of a request string when calling the service via HTTP/GET through the PXServiceWeb.svc URL.  This limitation does not exist when calling the service using the SOAP protocols, check the Connectivity Overview section for more details.

The following table shows some examples of search patterns for futures options:

Pattern Description
C`##C6### 10 Selects calls of the first 10 contracts of Corn futures options with a strike price between 600 and 699.
C`##<CP>68## 20 Selects calls and puts of the first 20 contracts of Corn futures options with a strike price between 680 and 689.

Following are some more generic examples of search patterns:

Pattern Description
@C@1 Selects the first electronic Corn contract.
@C@5 Selects the fifth electronic Corn contract.
@C`## Selects all electronic Corn contracts.
@S`## 3 Selects first three electronic Soybean contracts (there is a space between # and 3).
@C`##,@S`##,@W`## Selects all the electronic Corn, Soybean, and Wheat contracts.

As some of the examples above suggests, there is a way to limit the number of symbols returned by a search pattern by explicitly specifying a quantifier.  The quantifier is an integer number separated by a space after the search pattern and can be specified for each pattern as in this example:

    *B*L 2,NG`## 5,C@3 3

In general, the value of the quantifier is limited to 600, which is the same as the maximum total of symbols returned by the whole list of search patterns.  The exception is the GetOptionGreeks operation, where the quantifier is limited to 200.

Symbol and Market

Since there are symbols that can be differentiated only by the market, a request for a given symbol may return multiple entries, one for each market.  To avoid this situation a symbol can be fully qualified in the request by explicitly indicating the vendor and market as in "DTN:NYS:IBM".

Arithmetic Expressions

This operation supports arithmetic expressions in the Symbol parameter.  Each arithmetic expressions needs to be prefixed with a "=" sign to differentiate from a symbol search pattern.  Arithmetic expressions support the use of the common operators for multiplication, division, addition, subtraction, and exponentiation can be done using double asterisk "**".

The symbol name needs to be enclosed between apostrophes when it contains special characters that could be interpreted as arithmetic operators.

The following table shows some examples of arithmetic expressions:

Arithmetic expression Description
= IBM - UIS A simple difference between two symbols.
= '+CL@C' - EB@1 First symbol has an special character as part of the name and needs to be enclosed between apostrophes.
= 100 * ( DTN:NYS:IBM - DTN:nys:IBM ) Fully qualified symbols for calculations between delayed and real time symbols.

PXWeb evaluates arithmetic expressions only for Open, High, Low and Close values.

The date is used as the matching key.  When a valid value is not present for the key, the value from the previous date within the requested range is used instead.

Order of Results

The result data is presented in an order determined by the actual values entered in the parameters that define the date or time range.  When the Start value is older than the End value the result is sorted in ascending order, when the Start value is newer than the End value the result is sorted in descending order.

This sorting mechanism is applied at the symbol level and it should not be confused with the order of the symbols in a chain of futures contracts.  Symbols representing each contract of a future option are always presented in the order of expiration date.

Date and Time Range Adjustment

For any date or time range, the actual starting point is determined by the Interval parameter from the request.  As a general rule, the actual starting point for the report is set internally in such a way that it always begins at the start of the Interval.

Examples:

The end point of the report is the full day or minute specified in the EndDate/EndTime parameter.  Since the end point is not adjusted to the end of the interval, to obtain a last full interval, the EndDate/EndTime parameter must be entered accordingly.

Default Date and Time Range

By default, when the date or time range are not specified in the request, PXWeb looks for the latest information available in the system.  In this specific case, for expired symbols PXWeb will return the latest data available only restricted by the Limit parameter for the number of entries.

Limit

The Limit parameter is used to restrict the amount of information returned in a request.  This parameter establishes maximum of records to display and not the number of history entries to analyze during the request.

The data elements displayed are the most recent ones in the given date/time range limited by the Limit parameter.  As an example, a GetDailyHistory request with a limit of 10 and an interval set to D, would display the latest 10 days of trading for the date range set in the request.

At minimum, one element is displayed if the Limit is set to zero or negative.

Market and Vendor

For most of the cases, the Market and Vendor input fields are optional and are rarely needed to refine the request for symbols within a specific Market and/or Vendor.  Only one Market and/or Vendor can be entered and they are overridden when entering a fully qualified symbol notation.

A history request for expired symbols requires the explicit specification of the market using any valid method.

These parameters are needed when the user is registered for accessing same symbol from two different sources, which in practice is not common.  A user permitted to obtain quotes from DTN and other vendors, by default, will see DTN information unless explicitly sets the desired Vendor parameter to something different.

Format

Supported format codes are: XML, CSV and JSN.