江湖车侠|| 万字长文,统计学家范剑青:把 AI 学习金融,变为现实( 八 )


如果你只是做最佳随机预测(BRG) , 基本正确率是50%左右 。 如果你做逻辑回归(LR) , 大概是在55%左右 。 如果做EN , 大概也是55%左右 。 如果用随机森林(RF) , 你可以达到59%左右 。 GBT和FNN都差不多是59%左右 。 换句话说 , 机器学习的确有优势 。
, 大概有900个变量 。 这时候过度拟合就可以看出来 。 但是如果用GBT或者FNN , 过度拟合就不存在 。
第三幅是用瞬时的原始数据做的 , 第四幅是瞬时的原始数据+专家构造的变量 。 加专家构造的变量几乎没多少改进 , 说明专家建立的变量已经被机器学习的变量所涵盖 。
由于时间不多 , 我简单介绍文本数据以及资产定价 。 这是我以前的学生 , 他用我们的筛选方法来做 , 我把他们的结果快速介绍一下 。 目的是学习文件和新闻的褒贬度 , 用它预测选择股票 。 传统一般用基于Dictionary的方法 。
假设选出来的200个词 , 在第i个短文里出现5次第j个单词 , 这样
, 得到一个100万x200的矩阵 。 如果这个文章的褒贬程度是百分百正 , 这个单词出现的概率是多少?如果是百分百负的话 , 这个单词出现概率多少?如果这第i个文章的褒贬程度是
的话 , 这个单词出现概率则是它们两个概率的加权平均 。
这样第i个文章中S词汇出现的次数服从多项分布
, 其中
表示S词汇在百分之百正的文章中出现的概率 ,
表示S词汇在百分之百负的文章中出现的概率 。 最后给定一个短文或者新闻 , 假设这个股票涨或者降与这篇文章对股票的褒贬程度
的关系呈单调性 。 这是我们的模型 。
越靠近百分百 , 说明它是正面的词;越靠近0 , 它应该是负面的词 , 因为回报要么是正的 , 要么是负的 。
如果我们用最简单的相关筛选方法来做 , 看每个单词跟正回报之间的相关性是多少 , 做一个简单的扫描我们的文件集 , 我们大概扫描出100-200个词左右 。 这100-200个词里频率出现最高的有比如rally、undervalue等都是正面词汇 。 相似的 , blame、shortfall、fall等都是负面的词汇 。
我们用很简单的方法 , 比如你选top100个词汇 , 然后再选bottom100个词汇 , 就是褒义和贬抑的单词200个词左右 。
按我们刚才的模型 , 出现的概率
等于出现在百分百是正的文章概率是多少 , 以及出现在百分百是负的文章概率是多少的加权平均 , 这是常用的主题建模(topicmodeling) 。 写成矩阵P大小为100万乘2 , 以及θ为2乘200 。 如果你给我每篇文章的情绪或者褒贬程度P , 我就能够把θ求出来 , 即把词义学习出来 。
这篇文章回报的排名就变成这篇文章情绪的排名 。 有了
, 我们就可以学习情绪θ , 学习了情绪后 , 对未来新的文章就很容易给出一个分数 。 已经知道未来文章的200个词的词义 , 唯一不知道的是这篇文章能打几分 。 因为我们有MultinomialModel , 所以就很容易把
用极大似然法求出来 。 把它求出来 , 这篇文章就有新的分数 。


推荐阅读