有没有简单的方法可以在资产负债表/损益表中提取数据?

时间:2015-03-22 17:12:01

标签: java excel machine-learning etl stockquotes

我尝试从公司提取定性数据'资产负债表/损益表。它们是excel(.xls)文件。

不幸的是,内容结构因公司而异。

例如,

提取收入值:

  
    

在公司A中,它位于"收入"旁边。列。

         

在B公司,它位于"商品和销售收入"列,它被列为每单位千美元。

         

在C公司,情况更糟。您需要查找包含措辞"来自销售商品的收入和"然后向下移动包含措辞"渲染服务"的下一行,将该列旁边的值添加到包含措辞"废料销售"," Gain的行中的数据关于汇率"和"获得设备处理"。

  

有超过500多家公司,以及超过20年的过去数据提取(内容也可能每年不同),这就成了问题。我不知道如何处理每个案件。数据非结构化。

所以,我想问的是,那里有没有任何库/ API(最好是JAVA)提取这种模糊信息?如果有人已经这样做,我不想重新发明轮子。是否有任何现成的机器学习API用于此类事情?此外,这些公司没有在美国或其他知名证券交易所上市,因此没有可用的数据提供商。

感谢您的回复。

2 个答案:

答案 0 :(得分:0)

坏消息:我很确定没有这样的库/ API,因为你想要的东西太复杂了(至少现在)不能自动完成,特别是在像C这样的情况下:有太多特定于域的语义很难被编码。

好消息:我认为80/20规则对你的情况仍然适用 - 大多数表都有清晰的结构,如A或B,你可以编写简单的脚本来为它们提取值,而其他表必须手动完成。我建议逐步开发这样的脚本:从案例A开始,然后为所有表启动程序。对于失败的表,选择最简单的情况并为其调整代码;等等。我相信这种方式是最快的,虽然不是那么令人兴奋。

this paper中描述了从表中半自动提取所需信息的一种更有趣的方法(对不起自引)。不幸的是,没有工作库或API,但我认为这个想法很简单,很容易编码。

答案 1 :(得分:0)

公司通常以基于名为XBRL的XML的计算机可读格式提供此信息。此格式允许您以编程方式提取您正在谈论的语义信息。与XML相关,规范自然非常密集,但信息就在那里。

作为一个随机的例子,埃克森美孚在他们的investors site上自由发布他们的数据。