# Missing elements using FinancialData

I have a list of stock symbols which I selected with FinancialData["Menbers"] that looks like the following list:

allIndices={"^AGG-EU", "^AGG-IV", "^AGG-NV", "^AGG-SO","^EBT-SO"}


Now I would like to load the related name and exchange of these symbols using the following function:

indexMasterData =
DeleteCases[
Map[
{FinancialData[#, "Symbol"], FinancialData[#, "Name"],
FinancialData[#, "Exchange"]}
&, allIndices],
{___, _Missing, ___} (* eliminates nested lists with Missing[
"NotAvailable"] entries *)
];


The problem is, that Mathematica obviuosly does not know all symbols (even if the FinancialData function provides these symbols] and I get the following error message:

FinancialData::notent: "^EBT-SO" is not a known entity, class, or tag for "FinancialData". ... General::stop: "Further output of "FinancialData::notent will be suppressed during this calculation"

Why does Mathematica not know these elements anymore? How can I skip/ignore these elements in my function?

• In my experience, the output of FinancialData (which is determined from calls to Yahoo finance) is rather unreliable. Calls that yieled data at one time, may return Missing some time later. For instance, a call like FinancialData["^GSPC", "Members"] used in the examples doesn't work for me at the time of writing. – Sjoerd C. de Vries Mar 11 '15 at 22:46
• Yes, I've found the same @SjoerdC.deVries. I created a list of tickers two months back (for which data could be collected). When I run it now, there are plenty of errors. – V.E. Mar 11 '15 at 22:47
• this will help mathematica.stackexchange.com/q/46760/66 – faysou Mar 13 '15 at 0:08

First off, those are not stock symbols. Tickers starting with ^ are indexes. (As an example, ^NYA is the NYSE Composite.)

I've found that when a ticker is not recognized, it's usually a "weird" ticker. I can not find ^EBT-SO on Yahoo Finance, while I can find ^AGG-EU. So ^EBT-SO is supposed to be an index, but unclear from where and what it measures. It's probably useless for your application, and can be discarded.

I run a test to see whether the data can be collected:

test = Quiet[Check[
propertyReturn = FinancialData[name, type];
, False]
];
If[test == False || propertyReturn == Missing["NotAvailable"],
Return[{}],
0
];


If data could not be collected {} is returned, else you can go ahead and return the data.