2

我的目标是使用 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。

4

1 回答 1

1

用于Quiet抑制警告消息,然后选择数字案例。

Slist = FinancialData["NASDAQ:*", "Lookup"];
Dlist = Cases[Quiet[{#, FinancialData[#]} & /@ Slist], {_, _?NumberQ}]
于 2015-03-01T01:12:47.490 回答