Zacks fundamental provider

Modified on 2014/11/30 14:00 by Eugene — Categorized as: Providers

What it is

The Zacks fundamental provider is part of Quandl provider suite. The following fundamental databases for U.S. stocks are currently available: Zacks Earnings Estimates, Zacks Earnings Surprises, Zacks Analyst Recommendations, Zacks Dividends.

The data is available as a Premium subscription on Quandl.com website: Get API Access to Zacks Data Right Now. Limited instant preview is available to all Wealth-Lab users.

Setting up

It's a must that before using the provider you obtain a so called Auth Token from Quandl.com. To obtain it, register on their website, activate your account and copy the sequence from Account Settings section of the website. To finish setup, either type it in the Data Manager's Quandl tab, or create a new static DataSet:

Enter Quandl auth token in Data Manager

Enter Quandl auth token in Data Manager


Zacks premium data

Out of fundamental items available on subscription basis, four are currently supported:


The item value returns the Rating Mean Value. Each item comes with additional details attached: StrongBuys, Buys, Holds, Sells, StrongSells, and ConsensusTargetPrice_Mean.


The item value returns the dollar dividend value.


The item value returns the EPS Mean Estimate value. Each item comes with additional details attached: EPSMedianEst, EPSHighestEst, and EPSLowestEst.


The item value returns the EPS Mean Estimate value. Each item comes with additional details attached: EPSActual, EPSSurpriseAmountDollar, and EPSSurpriseAmountPercent.

Sample chart annotations

Sample chart annotations


The extended properties of a fundamental item are available in two forms:


For instance, here's a code snippet illustrating how to access the extra details of an analyst rating:

using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;

namespace WealthLab.Strategies { public class MyStrategy : WealthScript { protected override void Execute() { const char tab = '\u0009'; string item = "[z] Zacks_Analyst_Ratings"; IList<FundamentalItem> fList = FundamentalDataItems(item); ClearDebug(); PrintDebug(Bars.Symbol + tab + "Item Count: " + fList.Count); foreach (FundamentalItem fi in fList) { PrintDebug( fi.Date.ToShortDateString() + tab + fi.Value.ToString() + tab + fi.GetDetail("StrongBuys") + tab + fi.GetDetail("Buys") + tab + fi.GetDetail("Holds") + tab + fi.GetDetail("Sells") + tab + fi.GetDetail("StrongSells") + tab + fi.GetDetail("ConsensusTargetPrice_Mean") + tab ); } } } }



Example

Make sure you've collected the fundamental data before running this Strategy (Data Manager > "Update Data" tab > check "Zacks fundamental data" > go to "DataSets" tab > click "Update DataSet"). After having updated the fundamental data, run the following code sample to print out all downloaded fundamental items available to Zacks premium data users:

using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;

namespace WealthLab.Strategies { public class MyStrategy : WealthScript { void PrintFundamentalItems(List<string> items) { const char tab = '\u0009'; foreach(var item in items ) { IList<FundamentalItem> fList = FundamentalDataItems(item); PrintDebug(Bars.Symbol + tab + "Item Count: " + fList.Count); PrintDebug(item + tab + "Date " + tab + "Value" + tab + "FormatValue"); foreach (FundamentalItem fi in fList) { PrintDebug(fi.Date.ToShortDateString() + tab + fi.Value.ToString("$#,0.00") + tab + fi.FormatValue().Replace("\n", " ") ); } } } protected override void Execute() { ClearDebug(); // Show the list of a fundamental data item List<string> listOfZacksItems = new List<string>(){ "[z] Zacks_Analyst_Ratings", "[z] Zacks_Dividend", "[z] Zacks_Earnings_Estimates", "[z] Zacks_Earnings_Surprises" }; PrintFundamentalItems( listOfZacksItems ); } } }

Notes

The Zacks fundamental data is returned by Quandl.com for the usual tickers like "AAPL" or "IBM" whereas they use a very different convention when returning the static data e.g. "GOOG/NASDAQ_AAPL" or "GOOG/NYSE_IBM". Because the symbols don't match, you can not chart Zacks fundamental items using Quandl static data. Fortunately, this is not an issue: firstly, they take the data off of Yahoo and Google for which there already are static data providers, and so you can simply use any other Wealth-Lab provider from the wide choice of available in the Extensions section.