我的目标是使用FinancialData[]读取纳斯达克所有可用股票的数据,并对其进行一些计算。问题是(我已经为此联系了支持部门,这是一个已知的问题),如果我使用
Slist = FinancialData["NASDAQ:*", "Lookup"];
读取所有可用的股票代码,然后读取
Dlist = FinancialData[#] & /@ Slist;
要下载市场上的当前价格,由于数据库中的错误,这并不适用于所有条目,mathematica给出了几个警告,如下所示:
NASDAQ:AAMALX is not a known entity, class, or tag for FinancialData.
Use FinancialData[] for a list of entities.
由于这是没有帮助的,我现在想找到一种方法,只读取工作条目,跳过带有警告的条目。尽管我已经对可能的函数进行了相当多的研究(例如在for循环中),但我无法找到解决方案。
即使是我必须看的方向上的一个简短提示,也会非常有帮助。我正在Mac上使用Mathematica 10。
使用Quiet
抑制警告消息,然后选择数字案例。
Slist = FinancialData["NASDAQ:*", "Lookup"];
Dlist = Cases[Quiet[{#, FinancialData[#]} & /@ Slist], {_, _?NumberQ}]