我正在收集有关某些公司产品和业绩的新闻稿、博客文章、评论等的文本数据。
具体来说,我希望了解此类“文本”内容的某些类型和/或来源与公司股票代码的市场估值之间是否存在相关性。
这种明显的相关性可以很快被人脑发现——但这是不可扩展的。我怎样才能对不同来源进行自动化分析?
我正在收集有关某些公司产品和业绩的新闻稿、博客文章、评论等的文本数据。
具体来说,我希望了解此类“文本”内容的某些类型和/或来源与公司股票代码的市场估值之间是否存在相关性。
这种明显的相关性可以很快被人脑发现——但这是不可扩展的。我怎样才能对不同来源进行自动化分析?
我的学生将此作为他们的课堂项目。一些团队的准确率达到了 70%,样本非常少,这还不错。
假设您有一些这样的数据:
Return Symbol News Text
-4% DELL Centegra and Dell Services recognized with Outsourcing Center's...
7% MSFT Rising Service Revenues Benefit VMWare
1% CSCO Cisco Systems (CSCO) Receives 5 Star Strong Buy Rating From S&P
4% GOOG Summary Box: Google eyes more government deals
7% AAPL Sohu says 2nd-quarter net income rises 10 percent on higher...
您想根据文本预测回报。
这称为文本挖掘。
你最终要做的是创建一个像这样的巨大矩阵:
Return Centegra Rising Services Recognized...
-4% 0.23 0 0.11 0.34
7% 0 0.1 0.23 0
...
每个唯一单词有一列,每个返回一行,每个单词都有一个加权分数。该分数通常是 TFIDF 分数,或文档中单词的相对频率。
然后你运行一个回归,看看你是否可以预测哪些词可以预测回报。您可能需要先使用 PCA。
书:预测文本挖掘的基础,Weiss
软件:带有文本插件或 R 的 RapidMiner
您还应该在 Google Scholar 上进行搜索并阅读来龙去脉。
你可以在这里看到我的一系列文本挖掘视频
如上所述,您需要一组文章和回复,然后进行培训。给他们一个神经网络。RapidMiner 将允许您这样做,但还有许多其他工具可以让您进行这种规模的回归。理想情况下,您的响应变量将是一致的(即 1 小时后的准确变化百分比,或 1 天后的准确变化百分比等)。
您可能还想对您的训练变量(即文章中的单词)应用某种过滤或分类。这可以像过滤一些词(例如介词、代词)一样简单,也可以更复杂,比如使用语法来选择哪些词应该进入回归。请注意,您进行的任何过滤都有可能使结果产生偏差。
亚利桑那大学的一些人已经制作了一个可以做到这一点的系统——他们的论文在这里是关于 acm 的,你可能会觉得它很有趣。http://www.computer.org/portal/web/csdl/doi/10.1109/MC.2010.2(如果您不在大学,则需要订阅才能访问)。这些参考资料也可能有助于为您指明正确的方向。