This is a fundamental provider that downloads historical
analyst buy and sell recommendations for U.S. stocks available at
MarketBeat.
Part of MS123 Extra Fundamental/News Providers.
Sample chart annotations |
The provider only considers Upgrades (a green "
+" on charts) and Downgrades (a red "
-") while Initiated's, Reitereated's etc. are ignored. Each rating comes with extra details attached:
firm (analyst),
action (upgrade/downgrade),
rating (the change from and to e.g. "Outperform -> Market Perform") and
priceTarget (previous and current price targets, if available e.g. "$120.00 -> $120.00"). These are available in two forms:
- In a popup when mousing over an Analyst Rating on a stock chart
- In WealthScript Strategies via the GetDetail or FormatValue methods:
Make sure you've collected the fundamental data before running this Strategy (Data Manager > Update Data tab > check "Marketbeat analyst ratings" > DataSets tab > "Update DataSet").
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()
{
// Illustrates the usage of GetDetail using the fundamental data item "analyst rating"
const char tab = '\u0009';
string item = "[mb] analyst rating";
IList<FundamentalItem> fList = FundamentalDataItems(item);
ClearDebug();
PrintDebug(Bars.Symbol + tab + "Item Count: " + fList.Count);
PrintDebug("Date " + tab + "Analyst");
foreach (FundamentalItem fi in fList)
{
PrintDebug(
fi.Date.ToShortDateString() + tab +
fi.GetDetail("firm") + tab +
fi.GetDetail("action") + tab +
fi.GetDetail("rating") + tab +
fi.GetDetail("priceTarget") + tab );
}
}
}
}