Data 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)


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.

In XigniteCurrencies, we make "yesterday's" historical exchange rates available each day at around  00:10 AM GMT (12:10 AM London Time). 
As long as you query the rate after this time, you will accurately pull the historical exchange rate between two currencies for the previous day.
Each of these exchange rates is Time Stamped at 23:59:59 GMT to allow for consistent comparisons or reverse rate conversions.

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).

Xignite has a policy of honesty and openness when it comes to the availability of our APIs.
We constantly monitor our APIs using Keynote Systems--a reputable third party company--and we use their benchmarks as the benchmark for our availability. Keynote constantly hit our APIs from multiple locations around the world and reports any failures during their sampling. We publish the report they generate on our web site at the beginning of the month. You can find the current report as well as all our historical availability going back to 2009 here: https://www.xignite.com/Support/Availability.aspx

If you have additional questions about availability, feel free to e-mail support@xignite.com.

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.

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.

Xignite will follow the requested identifier(s) or instrument(s) back through the historical window of time specified in each query. If a Symbol changes, data for the former Symbol will stop at the point in time the Symbol change took effect.

When a Symbol changes but CUSIP remains the same, using CUSIP instead of Symbol to drive the query will provide contiguous price data for both Symbols.

If you have any questions on tracking historical data back in time, please send an e-mail with details to support@xignite.com.


The logos in XigniteLogos come from the listing exchange for that security. Our logo should match that provided on the exchange web site. If they do not match, please contact support@xignite.com and we will update it. If our logo matches the one on the exchange but the one on the exchange is outdated, someone will need to contact the exchange to have it updated. Only authorized employees of the listed company can do that. Here are some instructions you can follow if you are such an employee:
  • NYSE: Send an email describing the problem to service.desk@nyx.com.
     
  • NASDAQ: NASDAQ provides a form you can fill to request a logo update. 
Once the logo is updated in the exchange, it will get automatically updated in our system.

Historical pricing availability varies by metal and currency:

For US Dollar (USD) the availability is the following:
  • Gold and Silver: 1/1/1990 to present
  • Platinum: 1/2/2004 to present
  • Palladium: 1/13/2004 to present
For alternate currencies, the availability varies.
 


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.

No. The "inverse" of a currency pair is not always equal to the exchange rate of the opposite pair. 

For example - suppose USDEUR has a value of 1.3050. The inverse of this rate is 1 / 1.3050 = 0.7763. You may expect that the exchange rate of EURUSD should equal 0.7763 at the same time.

While the two numbers should be very close, there is no guarantee they will match exactly. While Forex markets are massive and very liquid, they are also very distributed and decentralized. Not all trades occur exactly at the same time, in the same places and with the same price discovery:

For instance:
  1. The timing of the last trade in USDEUR versus the last trade for EURUSD would have to match perfectly, and this is unlikely. Even in a very liquid market, there could be small price difference even for trades occurring sub-seconds apart.
  2. The contributor for an exchange rates can change for any currency pair. If the quote for USDEUR comes from one contributor and EURUSD comes from another, again it is unlikely to match as those contributors could use different feeds and price discovery mechanisms. The size of the trades on each side of the pair can also vary and affect the rates.
If you still have any questions about this topic, please send an e-mail to support@xignite.com.


 

As of 4/18/2013, the trading hours for BATS Exchange are:
 
  • Pre-opening session: 8am - 9:30am Eastern
  • Core trading session: 9:30am - 4pm Eastern
  • Post-close session: 4pm - 5pm Eastern
 
xBATSRealTime returns trade prices executed during any of these sessions and does not distinguish between these trading sessions, as BATS does not indicate in the feed which session a trade was executed in.
 
Note that this behavior is different across our equity APIs:
 
  • xNASDAQLastSale -- Returns trade prices only for the normal trading session
  • xGlobalRealTime and xGlobalQuotes -- Returns trade prices only for the normal trading session.
For more information, you can use the following link to go to the BATS website
 

The forex markets are open 24 hours a day, from Sunday @ 5:00 pm EST through Friday @ 5:00 pm EST each week. During weekend hours outside this window, there may be quotes issued by some marketplaces but they do not affect the quotes in our service. XigniteCurrencies API's will show the "Last" Rate for a currency pair as the market closes on Friday through the weekend until Sunday @ 5:00 pm EST. Updates resume on Sunday at 5:00 pm EST.

Each country also has its own trading hours. The highest activity occurs when multiple markets are open. Sydney begins at 5:00 pm EST, and New York closes at 5:00 pm EST--setting the pace for the start and close of trading. Those hours can be affected by Daylight Savings Time in each country.
  • Sydney: 5:00 pm to 2:00 am EST
  • Tokyo: 7:00 pm to 4:00 am EST 
  • London: 3:00 am to 12:00 noon EST 
  • New York: 8:00am to 5:00 pm EST

Precious metals are traded over-the-counter (OTC) and therefore are not subject to any "official" trading times.
The time at which precious metal spot prices are available therefore correspond to the time during which various trading desks (banks, brokers, trading platforms, etc.) operate around the world.
Since the markets are worldwide, spot precious metals are traded almost round the clock.

The availability of Spot Metal Prices is Sundays 6:00 PM EST (market opening in Tokyo) to Fridays 4:30 PM EST (market close in New York). Unavailable Monday to Thursday 5:15 PM to 6:00 PM EST (All markets closed).

The fields "PreviousClose" and "PreviousCloseDate" represent the last trade price from the day before. Around 4am each trading day (i.e., a few hours before trading opens), xBATSRealTime and xNASDAQLastSale retrieve the close price for the prior trading day and store it as the previous day close. These values will not be visible in data results until the first trade of the day. Once the first trade is executed for a security, the PreviousClose and PreviousCloseDate fields are filled in and returned with the quote.

Note that PreviousClose represents the official market close (i.e., not just the previous close trade from a given exchange such as BATS or NASDAQ). This is intentional, so that Change/PercentChange reflect the change between the most recent price and the close on the consolidated feed.

If you have any further questions on the PreviousClose data, send your inquiries to support@xignite.com.

mini option is a fairly new option contract available as of March 25th, 2013. Mini options allow more investors who might be interested in Options to get involved with typically high-price stocks. Instead of the Standard Option requiring 100 shares, a mini option only contains 10 shares. 

In a pilot launch from CBOE, mini options started for 5 highly-liquid symbols:  Apple Inc. (NASDAQ:AAPL), Amazon.com Inc. (NASDAQ:AMZN), Google Inc. (NASDAQ:GOOG), the SPDR Gold Trust (NYSEARCA:GLD) and the SPDR S&P 500 ETF Trust (NYSEARCA:SPY). All of these trade at at least $100 a share, putting the minimum Standard Option entry cost at $10,000 or more including fees. Mini options allow investors to purchase just 10 shares, bringing the entry cost for the Mini Option to $1,000.

The Symbology for mini options for the above securities contain a "7" after the main Symbol. For example, the symbol for a mini options for Apple would start with AAPL7...

There are several articles about this new addition to the market. The goal is to allow smaller investors a chance to use low-risk options to prevent potential losses from having to operate on the scale of Standard options. All options are included in our options web services.  Here is a helpful link to more information on Mini Options: http://etfdailynews.com/2013/03/25/new-mini-options-launch-to-bet-on-5-high-priced-stocks/



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

End of day prices for equities are generally available by 5:00 PM EST, or 1 hour after Market Close. This includes closing prices for ETFs as well as any other exchange traded securities.

NAVs for ETFs and mutual funds are available later in the evening, and there is a separate FAQ for this.

Most prices start becoming available as soon as the market close as the exchanges feed closing prices. Most priceswill be available by 4:30 PM EST, but further corrections could trickle in until 5:00 PM EST. It is possible for corrections to occur until close of markets at 8:00 PM EST.

To be safe, it is best to wait until 5:00 PM EST to start pulling end of day prices.

If you have any other questions, feel free to send an e-mail to support@xignite.com.

All dividends are available by market open on the Ex-Date. For example, if a dividend Ex-Date is recorded as 8/12/2013 - all quotes Services will include this dividend in results or adjustments as of Market Open on 8/12/2013. 

If you have any other questions on dividend availability, please send your questions to support@xignite.com.

The available time for fixings depend on the metal. 
Silver updates once daily while other metals update twice daily.

The publication times for each metal are:
  • Gold: Available twice a day at 10:30 AM GMT and 3:00 PM GMT
  • Silver Available once a day at 12:00 PM GMT
  • Platinum: Available twice a day at 9:45 AM GMT and 2:00 PM GMT
  • Palladium: Available twice a day at 9:45 AM GMT and 2:00 PM GMT
The fixings are available in the XigniteMetals web service generally 5 to 15 minutes after publication by the source
Xignite does not guarantee specific availability time for metal fixings.

Service: XigniteGlobalMetals
APIs: GetLondonFixing

A split adjustment to historical stock price data will occur at market's closing on the date of the split, when the next historical quote shows up in the system. This can be up to one hour after market close.

For example. Let's imagine a stock split is set to occur for a security on June 5th (6/5). The split adjustment for the closing price on 6/4 and any prior date will be applied as soon as the closing price and the split for the same security  are loaded on the afternoon of 6/5. 

EURIBOR recently completed an evaluation of all rate offerings, and resulted in eliminating several rate maturities.

The following maturities have been discontinued:
  • 3 Weeks
  • 4 Months
  • 5 Months
  • 7 Months
  • 8 Months
  • 10 Months
  • 11 Months
As a result, there will be 8 tenors available:
  • 1 Week
  • 2 Weeks
  • 1 Month
  • 2 Months
  • 3 Months
  • 6 Months
  • 9 Months
  • 12  Months
More information may be found in the following EURIBOR Announcement PDF.

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

Effective 3rd June 2013, BBA Libor CAD and AUD have been discontinued by the ICE Benchmark Association. Additionally, the maturities of 2 week (2W), 4 month (4M), 5 month (5M), 7 month (7M), 8 month (8M), 9 month (9M), 10 month (10M) and 11month (11M) for all remaining currencies have also been discontinued.

Additionally, from 03 June, 2013 onwards, BBA LIBOR will publish with the following maturities and currencies only:

CHF: SN, 1W, 1M, 2M, 3M, 6M, 12M
JPY: SN, 1W, 1M, 2M, 3M, 6M, 12M
GBP: ON, 1W, 1M, 2M, 3M, 6M, 12M
USD: ON, 1W, 1M, 2M, 3M, 6M, 12M
EUR: ON, 1W, 1M, 2M, 3M, 6M, 12M
EUR Same Day: 1W, 1M

This decision was instated by the ICE Benchmark Association following the recommendations of the Wheatley LIBOR Review.

BATS trading represents approximately 10%-12% of the market activity. The BATS volume reflects the volume of trades performed only on BATS. So the volume of trades performed on NASDAQ or NYSE is not included in that number. As a result, the BATS trading volume will not match the composite volume of all trades that occurred on all exchanges.  

If you suspect our BATS data might be incorrect, please run a check on the following page on the BATS website against our data before submitting a Support Case. In the box containing the symbol "SPY", update the Symbol to the security/listing in question, then click the magnifying glass icon:

http://www.batstrading.com/bzx/book/SPY/

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