XBRL,金融数据和语义网

2014年12月31日 14:27 阅读 753
浏览了几个中文的新闻,均来自XBRL中国官网

语义网技术提升XBRL功能 (2010-07-14)。相关的英文文章是 Consuming XBRL Financial Information: Semantic Web Prototype App Aims To Make It Easier, Faster, Automatic — And Socially Connected (2010-07-14)

文中的Dr. Graham G. Rong,是我们(RPI)在MIT的合作伙伴。Rong博士和我在2010年1月在MIT的一个Linked Data课程上相识。他有金融领域的背景和人脉;我们聊到我对金融数据的兴趣,Rong博士就向我介绍了XBRL。这就开始了后来的一系列工作(见前一篇文章《基于语义网的证券分析》)。由于这个工作和RPI现在做的政府数据方向颇有关系,我们得到了TWC Director Hendler教授的支持。我们一个博士生,Xian Li也有金融领域的工作背景,也参与到这个方向上来。

上引文章里对语义网和XBRL这两种技术的结合,做了很好的原则性阐述。我这里再非正式地讲一点我个人的看法。这些看法都不成熟,所以都没有在发表的文章里讲过。

首先,XBRL是XML,是数据的结构的规范而不是数据的语义的规范。如何理解?比如,我们写文章,规范文章要有标题,要有摘要,引用的格式如何,这些是结构。至于这个文章说的是什么,是建一个观点还是灌水,这是语义。但是这样说,要很小心,因为XML界一样有语义的研究,在论文里措辞要很谨慎,虽然此语义非彼语义。

用语义网做数据的建模,或者其简化的版本,互联数据(Linked Data),自然可以应用到金融数据的建模上。比如说,我要研究波士顿地区半导体方向的公司的财务情况,那要看这些公司的10-K(年报)或者10-Q (季报),还要看这些公司的简况,比如公司所在地和业务范围。这里面有很多知识问题。比如,我看到一家公司位于Nashua, NH,这算不算波士顿地区呢?或者,一家公司的产品包括了射频功率放大器,那它是不是一家半导体公司呢?或者,A公司的2010财年第4季度盈利明显高于B公司的2010财年第4季度,但两个公司各自前一个季度的盈利差不多,是不是B出问题了呢?

这里面有许多语义可以利用。比如,从Wikipedia,我可以知道Nashua, NH算在波士顿大区,离波士顿大概40英里;从某产品分类,我知道射频功放是一种半导体器件,尽管那家公司没有提“半导体”这词;我还发现,A,B两个公司的财年定义是不一样的,一个包括了圣诞后的季节性萧条期,一个没有。这些都可以帮助我们决策做参考。

再比如,我们要挑选ETF。现在有很多网站可以帮助我们。但是,在某个网站上,我选了亚洲区ETF,发现它遗漏了很多中国的ETF?为什么,因为这个分类里,并没有中国区ETF是亚洲区ETF这样的一个简单的知识。

又比如,我看IPad卖得很火,想投资Apple股票。可是AAPL现在市盈率很高,不敢跳,怎么办?其实网上有很多人,买了IPad回来拆,分析里面的配件(这个就是知识了)。有分析师(fool.com上就有几位)就按这些配件找相应的公司,推荐这些股票。这个决策过程,要浏览很多网站,看很多数据(比如相关公司的P/E, P/B, 历史数据, 各种噪声)。如果有一个平台,把这个自动化了,那我就可以自定义一些ETF(也就是股票组合),比如IPad ETF, XOOM ETF, 卖得最火的手机的最常用配件的ETF,等等。

但是,是不是说,我们把数据转化成了RDF或者OWL,就让数据天然有了语义了呢?我看过很多这样的应用(未必在金融领域),对其中语义部分的有效性和必要性,持审慎的态度。对金融数据,我认为同样的态度也是必要的(有的方法直接映射XML的结构到RDF上,这个语义的质量是很差的,我怀疑能不能用)。这也是我在和部分业内人士交谈中,得到的一个非常理性的反应。

首先,简单知识的建模,比如分类关系和ER(Entity-Relation)关系,在语义网之前就有很多的工作。复杂知识的建模,是一个代价很高的过程。金融要求处理瞬息万变的数据,这个建模的复杂性是非常高的。语义的提取本身,是一个极具挑战的工作。试图完美体现一个金融知识模型,比如SEC的GAAP或者某个公司的Taxonomy,这个劳动量是非常大的,而且各公司未必有这个人力或者兴趣来做。所以,我想,一个合理的方法,还是综合使用结构化数据和非结构化数据,象Watson系统那样,大量的吃进数据,并利用现有的语义网数据。不要试图建立一个包罗万象的金融本体。

其次,推理到底在这个过程起多大的作用?我想,一个关键还是不可以拘泥于逻辑的推理。非常多的金融数据是模糊的,比如Twitter的数据(参StockTwits.com)。基于概率的模型,或者基于机器学习(比如神经网络)的模型,也许能更好的处理这类数据。

另外,就是金融数据的海量性和实时性。所有的查询和推理系统,都必须能适应极大量的数据,几个毫秒的差距都可能造成损失。基于推理机的语义网查询推理系统,能不能用,怎么用,待考。并行计算如何用,或者非传统数据库(比如基于列的数据库)如何用,如何在它们上面实现简单的金融领域需要的推理,待学习。

总的来说,我对这个方向很有信心。但是这是一个很大的系统工程,需要大的投入,需要和金融界很好的沟通。目前有团队在做这个事,具体如何发展,待观察。

另参考(都是原则性的科普,不可不信,不可全信):

  • 语义工具如何助力财务报告(2009-01-16,XBRL-CN)
  • 让你的XBRL明确:从语义网得到的启示 (2010-01-29, XBRL-CN)
我另整理有一些XBRL和语义相关的资料,待以后写相关文章的时候再整理于此。