Function Availability FAQs

Splits and dividends can be important to normalize historical data by transforming actual traded prices to effective prices. There are two generally accepted methods for dividend adjustments, which we term Absolute and Proportional; XigniteGlobalHistorical supports both adjustment methods. When requesting historical data, XigniteGlobalHistorical lets you determine with which method (if any) to adjust historical prices that preceded a split and/or dividend to be consistent with post-split and/or post-dividend prices.

Goals

We designed split and dividend adjustment methods to meet the following goals:

  • Calculate total returns - Total returns require adjusting prices based on splits and the percentage of the price that a dividend represents.
     
  • Manage cash accounting - Cash accounting requires adjusting prices based on splits and the actual dividend amount.

Terminology

We use these terms when describing split and dividend adjustments:

Term Definition
Adjusted Price A price that reflects splits and/or dividends.
Dividend Adjustment Factor The ratio by which to adjust a price to reflect a dividend.
Split Factor The ratio by which to adjust a price to reflect a split.

Split Adjustments

Split adjustments are performed by applying a Split Factor, which is the ratio of old shares for each new share received. Historical split-adjusted prices, are calculated by multiplying the actual historical price by the Split Factor. For example, a 2-for-1 stock split is represented by a Split Factor of 0.5, which means the split-adjusted historical price prior to the split is 50% of the historical market price. Similarly, a 1-for-4 reverse stock split is represented by a Split Factor of 4, which means the split-adjusted historical price prior to the split is 4 times the historical market price.

Example 1: 2-for-1 stock split on Day 4

Day Closing price Split factor Split-adjusted price
1 $12.00   $12.00 x 0.5 = $6.00
2 $11.00   $11.00 x 0.5 = $5.50
3 $11.50   $11.50 x 0.5 = $5.75
4 $6.00 (2:1 split) 0.5 $6.00
5 $6.25   $6.25

Example 2: 1-for-4 reverse stock split on Day 4

Day Closing price Split factor Split-adjusted price
1 $12.00   $12.00 x 4 = $48.00
2 $12.50   $12.50 x 4 = $50.00
3 $12.25   $12.25 x 4 = $49.00
4 $50.00 (1:4 split) 4 $50.00
5 $50.25   $50.25

Dividend Adjustments

Absolute adjustments:

Absolute dividend adjustments ensure that actual monetary return calculations are consistent across dividend events. Note that percent return calculations require using proportional dividend adjustments.

Absolute dividend adjustments use solely the amount of the dividend to adjust historical prices and are calculated by subtracting the actual amount of the dividend from prior actual historical prices.

Proportional adjustments

Proportional dividend adjustments ensure that percent return calculations are consistent across dividend events. In combination with split adjustments described above, these calculations are consistent with the Center for Research in Security Prices methodology and assumes that all dividends are reinvested and that no taxes are collected on dividend payments.

Proportional dividend adjustments are based on both the amount of the dividend and the closing price on the pay date, and requires calculating a dividend adjustment factor on the pay date as such:

Dividend adjustment factor = (Previous day closing price - Dividend amount) / (Previous day closing price)

Proportional dividend adjusted historical prices are calculated by multiplying this dividend adjustment factor against the actual historical prices prior to the dividend pay date.

Example 3: $1 dividend on Day 4

Day Closing price Dividend Dividend adjustment factor Absolute adjusted price Proportional adjusted price
1 $10.50     $10.50 - $1 = $9.50 $10.50 x 0.9 = $9.45
2 $10.75     $10.75 - $1 = $9.75 $10.75 x 0.9 = $9.68
3 $10.25     $10.25 - $1 = $9.25 $10.25 x 0.9 = $9.23
4 $10.00 $1.00 ($10.25 - $1)/$10.25 = 0.90 $10.00 $10.00
5 $9.75     $9.75 $9.75

Multiple adjustments

There may be more than one split or dividend corporate action over a given time range, in which case some historical prices can be adjusted by the cumulative effect of multiple corporate actions. For illustrative purposes, below are examples adjusting for multiple splits and dividends.

Example 4: Multiple splits - Day 4 2-for-1 split, Day 7 1-for-4 split

Day Closing price Split factor Split-adjusted price
1 $12.00   $12.00 x 4 x 0.5 = $24.00
2 $11.00   $11.00 x 4 x 0.5 = $22.00
3 $11.50   $11.50 x 4 x 0.5 = $23.00
4 $6.00 (2:1 split) 0.5 $6.00 x 4 = $24.00
5 $6.50   $6.50 x 4 = $26.00
6 $6.25   $6.25 x 4 = $25.00
7 $24.25 (1:4 split) 4 $24.25
8 $25.00   $25.00

Example 5: Multiple dividends - Day 3 $1.50 dividend, Day 7 $1 dividend

Day Closing price Dividend Dividend adjustment factor Absolute adjusted price Proportional adjusted price
1 $11.75     $11.75 - $1 - $1.50 = $9.25 $11.75 x 0.9 x 0.88 = $9.31
2 $12.00     $12.00 - $1 - $1.50 = $9.50 $12 x 0.9 x 0.88 = $9.50
3 $11.00 $1.50 ($12 - $1.50)/$12 = 0.88 $11.00 - $1 = $10.00 $11 x 0.9 = $9.46
4 $10.50     $10.50 - $1 = $9.50 $10.50 x 0.9 = $9.45
5 $10.75     $10.75 - $1 = $9.75 $10.75 x 0.9 = $9.68
6 $10.25     $10.25 - $1 = $9.25 $10.25 x 0.9 = $9.23
7 $10.00 $1.00 ($10.25 - $1)/$10.25 = 0.9 $10.00 $10.00

Example 6: Splits and dividends - Day 3 2-for-1 split, Day 7 $1 dividend

Day Closing price Split factor Dividend Dividend adjustment factor Absolute adjusted price Proportional adjusted price
1 $21.75       $21.75 x 0.5 - $1 - $1.50 = $9.88 $21.75 x 0.5 x 0.9 = $9.79
2 $22.00       $22.00 x 0.5 - $1 = $10.00 $22.00 x 0.5 x 0.9 = $9.90
3 $11.00
(2:1 split)
0.5     $11.00 - $1 = $10.00 $11 x 0.9 = $9.46
4 $10.50       $10.50 - $1 = $9.50 $10.50 x 0.9 = $9.45
5 $10.75       $10.75 - $1 = $9.75 $10.75 x 0.9 = $9.68
6 $10.25       $10.25 - $1 = $9.25 $10.25 x 0.9 = $9.23
7 $10.00   $1.00 ($10.25 - $1)/$10.25 = 0.9 $10.00 $10.00

XigniteGlobalHistorical operations

XigniteGlobalHistorical lets you retrieve prices for one or more securities over a time range. You can specify whether or not to adjust these prices for splits and/or dividends using the input AdjustmentMethod field:

AdjustmentMethod Split-adjusted Dividend-adjusted Comments
None No No  
SplitOnly Yes No  
CashDividendOnly No Absolute  
SplitAndCashDividend Yes Absolute  
ProportionalDividendOnly No Proportional  
SplitAndProportionalDividend Yes Proportional  
All Yes Absolute (Legacy)
DefaultValue Yes Absolute (Legacy)


Yes, all Xignite APIs deliver CSV output that is RFC 4180 compliant.
The goal of RFC 4180 is to encourage a "standardization" of CSV formatting, and states that CSV may contain values separated by comma and embedded in double quotes.

You may view the RFC 4180 specifications here



We complete the daily mutual fund NAV data loading process at 7:30 PM EST (19:30). You may schedule any automated jobs to run at 7:30 PM EST (19:30), and in case this job has any late corrections, we suggest a secondary query to be timed at or around 9:00 PM EST (21:00). 

If you have any questions about this process, please send an e-mail to support@xignite.com.

Xignite receives direct exchange rates for most currency pairs. If an exchange rate is not available for a currency pair, we calculate it by converting through a major currency.

Example: We want to know the exchange rate of Canadian Dollars (CAD) to Egyptian Pounds (EGP).  If CAD and EGP did not trade directly, the system will search for a more common, highly-traded currency (USD or EUR). If CAD and USD traded, and EGP and USD traded, Xignite can derive an exchange rate for "CAD to EGP" using USD. This is done for all fields in the data output (not just the Average/Mid Rate).

No. Xignite does not offer any mobile apps we develop. But many of our clients have created very successful and popular mobile apps using our APIs. Please visit our Mobile Applications page where we showcase some of our clients mobile apps.



The ConvertRealTimeValue operation of the XigniteCurrencies API does just that - it converts a value from one currency to another in real-time.

API Page:


In finance, survivorship bias is the tendency for failed companies to be excluded from performance studies because they no longer exist. It often causes the results of studies to skew higher because only companies which were successful enough to survive until the end of the period are included. To eliminate survivorship bias, it is important to be able to access historical pricing data for companies that are delisted.
 
XigniteGlobalHistorical supports survivorship bias beyond 9/1/2010. This means that it is possible for you to retrieve accurate pricing information for any delisted security after 9/1/2010.

No, the IPO offering size reflects  the base offering of shares only.  This value appears prominently at the top of the official Prospectus filed with the SEC.

The standard rule for determining the size of an underwriter option allotment is to take 15% of the base offering shares. As this is an option (typically with a 30 day expiration to be exercised), we do not include these shares in our data. There is no guarantee that this extra amount will be offered or not.

If you have additional questions, please send an e-mail to support@xignite.com.

The rates returned from the Official  exchange rate APIs (GetOfficialCrossRate(s), GetOfficialHistoricalRate(s)) are typically determined by the central banks or equivalent authority within each Country.

Official rates are not typically quoted in the same terms of Bid/Ask/Mid as the general forex rates available in our services. Instead, the central banks tend to calculate a static rate on a specific date, and only quote this rate for a limited list of currencies. Central banks may not provide "reverse rates" for each other's currency. For example, the Polish National Bank quotes an exchange rate for their Zlotyc (PLN) to Chinese Yuan (CNY). However, this does not imply that there will be an official rate of CNY to PLN; it will depend on whether the Chinese Central Bank PBOC publishes a rate specific for their Yuan to the Polish Zlotyc. Please refer to the following links for a list of Central  Bank coverage for each Service version, and the currency exchange rates they publish:

XigniteCurrencies: https://www.xignite.com/product/XigniteCurrencies/api/legacy/v1/GetOfficialCrossRate/

XigniteGlobalCurrencies: https://www.xignite.com/product/forex/api/GetOfficialHistoricalRate/

If you have any questions after reading this, please send them to support@xignite.com and we can assist.

The API of choice for pulling real-time spot prices for multiple precious metals simultaneously is GetRealTimeMetalQuotes.
The following URL can be used to call up the latest prices for Gold, Silver, Palladium and Platinum in USD (other currencies are supported as well).
Please ensure you are properly logged into the Xignite Web and your Account is entitled to XigniteGlobalMetals:

http://globalmetals.xignite.com/xGlobalMetals.xml/GetRealTimeMetalQuotes?Symbols=XAU,%20XAG,%20XPD,%20XPT&Currency=USD

The number of hits required to display "metals market activity" depends on the timeliness of updates required on the client end. Some customers may choose to update prices every 5 minutes, while others may wish to update twice per minute. As the granularity increases, so does the number of hits. Our teams can assist in determining rough figures for total hits/month required for a particular "price refresh" schedule.

If you have other questions on how to query for daily Metals prices, please Open a Case or send an e-mail to support@xignite.com.



  1. Right-click on the project and click "Add Service Reference":


     
  2. From the window that pops up, click on the “Advanced” button:


     
  3. Click “Add Web Reference” from the next window:


     
  4. Put in the URL and service name and click on “Add Reference”. You can rename the web reference for convenient use in your code.


     
  5. At this point, the project update should be complete and the Web Reference will be added correctly.

If you have any other question, please send an e-mail to support@xignite.com.


If you used the "GetAverageHistoricalCrossRate" API from the XigniteCurrencies service and are migrating to XigniteGlobalCurrencies, you may wonder where to find equivalent functionality.

In the updated XigniteGlobalCurrencies service, the Average exchange rate is now available in the results from all our historical APIs (GetHistoricalRate, GetHistoricalRates, etc.).
It is included as the last field in the output, just below the <Close> field.  Here is a sample of the data structure in XML that highlights this new value:

<Outcome>Success</Outcome>
<Identity>Cookie</Identity>
<Delay>0.6307032</Delay>
<BaseCurrency>EUR</BaseCurrency>
<QuoteCurrency>USD</QuoteCurrency>
<Symbol>EURUSD</Symbol>
<StartDate>08/19/2013</StartDate>
<StartTime>10:00:00 PM</StartTime>
<EndDate>08/20/2013</EndDate>
<EndTime>10:00:00 PM</EndTime>
<Open>1.3335</Open>
<High>1.3452</High>
<Low>1.3323</Low>
<Close>1.342</Close>
<Average>1.338144</Average>

If you have any questions on this change, please send an e-mail to support@xignite.com.

No, this is not permitted because our Services are hosted on in a virtual environment across many servers.
Due to load balancing or other server shuffling activities, the IP address for an API could change at any time without notice. You cannot rely on any IP address to remain static. The proper way to code to an Xignite API destination is via the API URL.

If you have any issues using an Xignite API, please send an e-mail to support@xignite.com so that we can assist you.

All Xignite APIs support the JSON and JSONP format.

To return data using the JSON format, all you need to do is use ".json" as the extension for the service on the URL call.

For instance the following call will return data in XML format
http://www.xignite.com/xCurrencies.xml/GetRealTimeCrossRate?From=USD&To=EUR

But this similar call will return data in JSON format
http://www.xignite.com/xCurrencies.json/GetRealTimeCrossRate?From=USD&To=EUR
 
'JSONP' or "JSON with padding" is a communication technique used in JavaScript programs which run in Web browsers. It provides a method to request data from a server in a different domain, something prohibited by typical web browsers because of the same origin policy. 

To implement JSONP for any API call, you may add the following value pair to your querystring: &_callback=yourFunction.

For more information on JSONP, check http://www.w3resource.com/JSON/JSONP.php.

No, you may not use any APIs listed in the WSDL if they are not also cataloged on the API List page for that Service as such API are not supported.

APIs that are available in the WSDL but not documented could potentially be:
  • Non-functional or buggy
  • Targeted for deprecation at any time
If you use such an API you therefore assume the risk that your application could not work with no ability to obtain support for it.

If you have any other questions about this, you may send them to support@xignite.com.

Here are the basics of how data on Mutual Funds differ from Exchange-Traded Funds (ETFs):
  • Mutual funds are commonly open–ended, while ETFs are closed-end funds.
  • All mutual Funds report NAVs via the NASDAQ Mutual Fund Quote Service (MFQS)
  • ETS report both NAVs and Trade Prices
    • Trade Prices are reported just like equities view UTP Level 1 feed
    • NAVs are sometimes reported via MFQS as well, but not all ETFs do so
 
Trade Prices are the price of the fund on the open market while the NAV is the actual sum of all the assets within the fund, less the liabilities.
 
The XigniteHistorical and XigniteGlobalHistorical service captures end of day prices from the exchange. On those services you will see:
  • Prices for equities
  • Prices for ETFs
 Our XigniteFunds service captures NAVs for anyone reporting on MFQS so you will see there:
  • NAVs for mutual funds
  • NAVs for ETFs reporting their NAV via MFQS

In the XigniteFinancials API, the value commonly known as "Earnings Before Income, Taxes & Depreciation/Amortization" (EBITDA) is referred to as "OpeartingIncomeBeforeDepreciation". This applies to all versions of the XigniteFinancials service.  Here are example API calls in Version 1 and Version 2 (be sure to test both URLs if you are unsure which Version your organization uses): If you have any more questions about this data, or other Financial Data Points, please Open a Case or send an e-mail to support@xignite.com