本项目主要研究自然语言处理(NLP)技术在金融领域的应用。我们为外汇交易员收集推文,然后应用情绪分析来生成投资见解。
情感分析可以使用自然语言处理、人工智能、文本分析和计算语言学来识别几个话题的态度。在这个项目我们专注于自然语言处理(NLP)技术在金融领域的应用研究。首先,我们将深入挖掘一些对金融市场有巨大影响的人。其次,我们将使用基于机器学习的模型,利用Twitter上的热门话题来预测外汇汇率。
外汇交易非常快,推特就像手套一样适合任何外汇交易员。推特上有很多快速有用的信息,有时信息太多了。我们有一份顶级外汇推特账户的名单在这里,每一个都有不同的特点,以适应对交易的不同方面感兴趣的交易者(技术,基础,教育,情绪,部分或全部的混合,等等)。我们抓取了网站上列出的63个外汇推特账户,并将其存储到trader_account
供以后使用。这是我们的笔记本.
Twint是一个用Python编写的高级Twitter抓取工具,允许在不使用Twitter API的情况下从Twitter档案中抓取推文。我们使用twint来获取推文,并将结果存储到pandas数据框架中。我们创建了一个简单的函数,你可以在实际项目中看到它将Pandas与Twint API集成在一起。接下来,我们从刚才的查询中获得了许多特性。这些数据有很多不同的用途,但在这个项目中,我们只使用其中的一些日期
,时间
,用户名
,推特
,标签
,likes_count
,replies_count
,retweets_count
.
我们从梅克莱金融下载了外汇数据。经过预处理,我们得到一个新的列“label”,表示两天的区别。标签{0,1}是外汇运动标签,说明外汇交易价格在一定时间后是上升还是下降。在这项研究中,我们只使用了Macrotrends网站上的英镑/美元价格。Macrotrends提供大量外汇数据,如欧元/美元,美元/日元,美元/CNY,澳元/美元,欧元/英镑,美元/瑞士法郎,欧元/瑞士法郎,英镑/日元和欧元/日元。此外,他们还说明了交互式历史图表显示每日外汇价格。
外汇移动预测任务可以定义为为推文输入分配移动标签。外汇预测是作为二元分类任务(上升或下降)进行的。评价指标为F1和Matthews相关系数(MCC)。MCC在股票走势预测中经常被报道(Xu和Cohen, 2018;Ding等人,2016),因为它可以克服数据不平衡的问题。
在这项工作中,我们结合了CNN和LSTM在句子表示和文本分类方面的优势。CNN-LSTM利用CNN提取高级短语表示序列,并将其输入到LSTM中得到句子表示。CNN-LSTM既能捕捉短语的局部特征,也能捕捉句子的全局和时态语义。
上面显示了我们模型的概述。该模型大致可分为三步:
在步骤1中,我们对这一段进行零镜头学习,以选择每天最重要的推文。然后通过潜在嵌入方法对推文进行排名,这是计算机视觉设置中常见的零镜头学习方法。在文本域中,我们的优势在于可以简单地使用单个模型将数据和类名嵌入到相同的空间中,从而消除了需要大量数据的对齐步骤。因此,我们决定使用Sentence-BERT进行一些实验,这是一种最近的技术,可以对合并的BERT序列表示进行微调,以增加语义丰富性,作为获取序列和标签嵌入的方法。
在第二步中,我们进行一些文本预处理工作。如果文本预处理得好,文本分类通常工作得更好。多花点时间去做,最后一切都是值得的。
在第3步中,我们结合前k条每日推文,以便在组间级别聚合语义信息。最后,将其传递到softmax层,将其归一化为一个概率分布,该概率分布由2个概率(向上或向下)组成,与输入数字的指数成正比。
我们从HuggingFace中选择变压器作为实现,并选择bert-base uncase版本。我们将BERT输入截断为64个令牌,并在训练期间对BERT参数进行微调。我们采用初始学习率为2e-5的Adam优化器。我们采用dropout正则化,dropout概率为0.25,以减少过拟合。批大小为32。训练周期为4。L2正则化的权值为0.1。在分割数据集时,我们保证训练集的样本在有效集和测试集的样本之前,以避免可能的信息泄露。外汇预测是作为二元分类任务(上升或下降)进行的。评价指标为F1和Matthews相关系数(MCC)。 MCC is often reported in stock movement forecast because it can deal with the data imbalance problem.
在这个项目中,我们研究了预测外汇每日趋势的情绪分析和信号处理特征。预测被提出为一个二元分类问题,模型预测外汇是上升还是下降。word2vec和聚合BERT都用于寻找分类问题的最佳特征子集。结果表明,该模型仍有很长的路要走。
新闻p或要查看之前的文件或,n或查看下一个文件