Log in to see Cloud of Tags

Wealth-Lab Wiki

Tiingo Static Provider


What it is

This is a Wealth-Lab static, streaming and fundamental provider for free intraday and daily data from Tiingo.com. The feed makes available the historical data for 70K+ global securities (including U.S. and Chinese (Shanghai/Shenzhen exchanges) stocks, mutual funds and ETFs), fundamental data (36K+ stocks, free users: 5 years, Power users: 15+ years; see their pricing).

If you're familiar with the built-in Yahoo! provider, you're going to get common with the Tiingo provider very quickly. Its features include:

  • Split and dividend history is stored locally and can be optionally applied to price data. This means that DataSet refreshes are never required in order to apply the most-recent split and dividend data.
  • Chart Annotations: "Split (Tiingo)" and "Dividend (Tiingo)".
  • Automatic data corrections for data changed on the Tiingo server (usually affects volume).
  • Supports on-demand data requests, GetSessionOpen, Paper Trading, Market Manager

Setting it up

Before you're able to download any data, follow these steps:

  1. Install the extension and restart WLP/D
  2. Register a free account at Tiingo.com
  3. Verify it (click on link you get by email)
  4. Go to Your API token page and copy/paste it (no typing !!!) in the Data Manager's Tiingo tab

Provider tab in Data Manager

Provider tab in Data Manager

  • Never perform On Demand data updates: Overrides Wealth-Lab's On demand update option so that backtests in the Strategy Window/Monitor always run quickly with cached data.
  • Perform Dividend/Split Adjustment: Daily data are adjusted at the moment they're passed to Wealth-Lab by the Tiingo provider so that the newest dividends are applied automatically to the price data. Does not apply to intraday data. Note that split and dividend adjustments affect both price and volume. The dividend adjustment factor equation is 1 - dividend/close. Prices (pre-ex-date) are multiplied by the adjustment factor(s), whereas the factor becomes the divisor for volume.
    • Adjustment mode when Data Range specified: Choose "Keep" so that price and volume data are always the same, historically, even when specifying a past data range. "Ignore" is an advanced option for testing with past adjusted data without the influence of future splits or dividends that are excluded from the chart's Date Range.
      • To use the right-click bar data editor for anything besides deleting a bar in a Tiingo chart, you must apply the "Keep" option during the edit. See Data Editing below.

Creating a DataSet

When creating a new DataSet, now you can choose intraday bar scales (from v2020.09). Note that the data comes from the IEX Exchange it's not equal to the official data:

Provider tab in Data Manager

Provider tab in Data Manager

60-min data is timestamped after the first hour of trading (e.g., 10:30, 11:30, ..., 16:00) to be compatible with the Strategy Monitor trading.

Working with Dividends

The Tiingo Fundamental Provider always returns split-adjusted dividends for a chart's dividend popup as well as when accessing the "Dividend (Tiingo)" fundamental item in Strategy code. While the dividend adjustment factor maintains proper percentage relationships between prices, it's possible that new dividends affect previous backtest results (trades) for some strategies. Disable "Apply dividends" in the Backtest Settings Preferences when using dividend-adjusted data for backtesting. If you don't, the dividend effect could be duplicated in the Performance results, especially for the Buy & Hold Strategy.

Data Editing

To edit bar data, open a chart and either:
  1. double-click the bar to edit, or,
  2. right-click the bar and select Edit Bar Data.

When editing Tiingo data, be aware of the Perform Dividend Adjustment selection since the chart values will reflect this adjustment. Deselect this option and refresh the chart to edit raw price and volume.

With the "Ignore splits and dividends which fall out of the range" option selected (disabled by default), only deleting bars is possible.

Issues and Limitations

  • Be patient as initial historical data backfill may take some time. Daily updates are as fast as with any other data provider.
  • GetSessionOpen is supported by virtue of IEX Real-time Data API (which is free for use by individuals) because data feed doesn't return today's incomplete bar data
  • In rare case you'd need to reload the fundamental items, you have to delete the TiingoFundamentalProvider folder.
  • There are usage limitations imposed by Tiingo on both the free and paid ("Power") users. Free users can get requests the data for nor more than 500 symbols in a month and are also limited in monthly bandwidth and requests per hour more appreciably than Power users are. See this page for more information.
  • This error message indicates that you have exceeded the limit of 500 requests per hour or 500 symbols per day as a Free user. Solution: upgrade to a paid plan:
    "Data parsing error. Symbol: xxx, LineNumber: -1, String: Message: Invalid JSON primitive: You..."
  • Intraday data and streaming quotes are powered by the IEX Exchange. The data is not equal to the official intraday data for U.S. stocks. Due to various quotas it might make sense to subscribe to the paid plan for Power users to unlock its full potential.
  • Split- and dividend-adjustment does not apply to intraday data (it's raw).

Important Disclaimer: The information provided by Wealth-Lab is strictly for informational purposes and is not to be construed as advice or solicitation to buy or sell any security.  The owner of Wealth-Lab.com assumes no liability resulting from the use of the material contained herein for investment purposes. By using this web site, you agree to the terms of this disclaimer and our Terms of Use.

ScrewTurn Wiki. Some of the icons created by FamFamFam.