首页 / 专利库 / 人工智能 / 情感计算 / 一种基于股票论坛的发帖文本分析的股市情绪报告生成方法

一种基于股票论坛的发帖文本分析的股市情绪报告生成方法

阅读:1019发布:2020-06-28

专利汇可以提供一种基于股票论坛的发帖文本分析的股市情绪报告生成方法专利检索,专利查询,专利分析的服务。并且投资者的情绪变化对其投资决策的影响巨大,且对于大部分中小投资者,其情绪易受社会舆论以及其他投资者的言论所左右。本 发明 的目的是提供一种基于股票论坛发帖 文本分析 的股市情绪报告生成方法及系统,其通过收集和分析中国股票论坛上的投资者发帖,并生成对应的情绪报告,其有助于投资者理性把控情绪,优化投资决策,可为投资者决策提供参考。,下面是一种基于股票论坛的发帖文本分析的股市情绪报告生成方法专利的具体信息内容。

1.一种基于股票论坛的发帖文本分析的股市情绪报告生成方法,包括如下步骤:
1)通过网络爬虫收集每个个股论坛的投资者发帖,主要包括帖子文本、发帖时间,并将数据保存在数据库中;
2)通过金融语料情感词典对收集的发帖文本数据进行计算分析,将每条帖子分类为看涨帖子、看跌帖子或无情感帖子,具体计算方法是:
①对收集的文本进行分词,
②查找其中所包含的正向情感词(如好、涨、潜股等)和负向情感词(如差、烂、跌停、坑爹等),记录其位置
③在情感词前查找情感副词(如太、还算等),根据情感副词的情感强烈程度,人为地赋予副词情感权重:情感较强烈的情感副词(如非常、肯定、特别等),赋予较高的权值;对情感较不强烈的情感副词(如稍微,一点点等)赋予较低的权值;权值的变化范围在0.1-2,依据设定情感副词词权值,乘以情感词的情感值,得到新的情感值,
④在情感词前查找否定词,若找到就对情感词的情感值乘以-1,
⑤在文本末尾查找感叹号,如有感叹号,将离感叹号最近的情感词的情感值乘以2,⑥计算完所有情感词的情感值后,将所有情感词的情感值求和作为帖子文本的情感值,Tv=S1+S2+…+Sq,Sq是第q个情感词经过程度副词、否定词和标点符号权值修饰过的情感值,q表示该文本共有q个情感词,q属于(0,Q),Q为单个帖子中情感词数量最大值,⑦设定阈值1和-1,若该文本情感值大于正向阈值1,将文本分类为看涨帖子,若小于负向阈值-1,则分类为看跌帖子,否则分类为无情感帖子;
3)对于每只个股汇总计算窗口期内看涨帖子数M,看跌帖子数N,来计算每只个股的情感指数,情感指数 其中σ采用如下公式计算:
其中ε(x-y)为阶跃函数,u表示单个帖子文本包含情感词数量为情感词最多的单个帖子文本中情感词数量的80%(即80%Q),w表示判断单个帖子情感值得分高于90%的帖子情感值的分界值,
u采用如下公式计算:
w采用如下公式计算:
n表示提取的每个个股帖子总数量,i表示每个个股第i个帖子,qi表示第i个帖子的情感词数量, 表示第i个帖子的文本总情感值;
计算该窗口期内每只个股的支持度 和情感量PV
=ln(1+M+N);然后计算阈值
μagreement=avg(agreementi)-1.5*var(agreementi)和
μPV=avg(PVi)-1.5*var(PV),当支持度和情感量同时大于设定的阈值时,所对应的情感指数记为有效,其中μagreement表示支持度的阈值,μPV表示情感量的阈值,i指代计算分析的所有个股中任一只个股;
4)根据窗口期内每个个股的情感值加权求和,得到每个行业板的情感值以及市场的情感值,根据计算的情感值自动生成报告,其中每个个股的情感值为该个股所有帖子情感值的加权和。
2.根据权利要求1所述的基于股票论坛的发帖文本分析的股市情绪报告生成方法,所述步骤1)提取个股投资者信息的方法为:先从代理ip提供商处获取代理ip,后用爬虫程序获取股票论坛数据,将文本内容以及发帖时间存储在数据库中。
3.根据权利要求1所述的基于股票论坛的发帖文本分析的股市情绪报告生成方法,所述步骤1)爬取的股票论坛包括互联网上所有股票相关论坛,保留的信息为去除公告、新闻、广告及重复发帖等噪声后的投资者发帖文本和发帖时间。
4.根据权利要求1所述的基于股票论坛的发帖文本分析的股市情绪报告生成方法,所述步骤2)中使用jieba的python库进行分词,并按照步骤2)所述的步骤编写python程序进行情感判别。
5.根据权利要求1所述的基于股票论坛的发帖文本分析的股市情绪报告生成方法,根据步骤3)计算所得的情感量和支持度进行筛选有效的情感指数。
6.根据权利要求1所述的基于股票论坛的发帖文本分析的股市情绪报告生成方法,其特征在于,步骤3)中计算窗口期可以是一天、一周或一个月。
7.根据权利要求1-6任一项所述的基于股票论坛的发帖文本分析的股市情绪报告生成方法,其特征在于,步骤4)中所述的报告包括窗口期内情感指数最高的30只个股以及最低的30只个股,以及每个行业板块的情感值和市场的情感值变化情况。
8.一种基于股票论坛的发帖文本分析的股市情绪报告生成系统,包括论坛数据爬取存储模块、情感分析模块、情感指数计算模块、报告生成模块四个模块;其使用权利要求1-7任一项所述的基于股票论坛的发帖文本分析的股市情绪报告生成方法自动生成股市报告。

说明书全文

一种基于股票论坛的发帖文本分析的股市情绪报告生成方法

技术领域

[0001] 本发明属于数据分析技术领域,具体是一种基于股票论坛的发帖文本分析的股市情绪报告生成方法。

背景技术

[0002] 投资者的情绪变化对其投资决策的影响巨大,且对于大部分中小投资者,其情绪易受社会舆论以及其他投资者的言论所左右。因此量化地计算分析投资者对个股以及各个板的情绪值显得尤其重要,它能为投资者进行投资决策提供参考,亦能作为选股因子构建模型进行量化交易。另一方面,股票论坛,在中国俗称“股吧”,是投资者发帖表达对股票及市场看法的聚集地。其特点为发帖量巨大,投资者发表言论不受限制,故能够很好地实时反映投资者对当下市场的看法。因此通过收集和分析中国股票论坛上的投资者发帖,并生成对应的情绪报告,其有助于投资者理性把控情绪,优化投资决策,从而强化我国股市的有效性和稳健性。

发明内容

[0003] 本发明的目的是提供一种基于股票论坛的发帖文本分析的股市情绪报告生成方法及系统,其可为投资者决策提供参考。
[0004] 为实现上述目的,本发明所采用的技术方案如下:
[0005] 一种基于股票论坛的发帖文本分析的股市情绪报告生成方法,包括如下步骤:
[0006] 步骤1:通过网络爬虫收集每个个股论坛(包括东方财富股吧、新浪股吧、淘股吧)的投资者发帖,主要包括帖子文本、发帖时间,并将数据保存在数据库中;
[0007] 步骤2:通过金融语料情感词典对收集的发帖文本数据进行计算分析,将每条帖子分类为看涨帖子、看跌帖子或无情感帖子,具体计算方法是:
[0008] 首先对收集的文本进行分词,然后查找其中所包含的正向情感词(如好、涨、潜股等)和负向情感词(如差、烂、跌停、坑爹等),记录其位置,紧接着在情感词前查找情感副词(如太、还算等),我们根据情感副词的情感强烈程度,人为地赋予副词情感权值Gad:情感较强烈的情感副词(如非常、肯定、特别等),赋予较高的权值;对情感较不强烈的情感副词(如稍微,一点点等)赋予较低的权值;权值的变化范围在0.1-2,依据设定情感副词词权值,乘以情感词的情感值,得到新的情感值,然后在情感词前查找否定词,若找到就对情感词的情感值乘以-1,最后在文本末尾查找感叹号,如有感叹号,将离感叹号最近的情感词的情感值乘以2,计算经过程度副词、否定词和标点符号权值修饰过的情感词的情感值后,将所有情感词的情感值求和作为文本的情感值Tv=S1+S2+…+Sq,Sq是第q个情感词经过程度副词、否定词和标点符号权值修饰过的情感值,q表示该文本共有q个情感词,q属于(0,Q),Q为单个帖子中情感词数量最大值。设定阈值1和-1,若该文本情感值大于正向阈值1,将文本分类为看涨帖子,若小于负向阈值-1,则分类为看跌帖子,否则分类为无情感帖子;
[0009] 步骤3:对于每只个股汇总计算窗口期内看涨帖子数M,看跌帖子数N,来计算每只个股的情感指数,情感指数 其中σ为极性帖子的数量,其源于股票贴吧论坛中几乎每只个股论坛均存在恶意引导消费者情绪的灌帖,无论将其归类为看涨帖子还是看跌帖子,均会对情感指数的计算造成错误引导,因此添加极性修正值σ以对情感指数计算公式的精确度加以改进,所述的极性帖子满足单个文本中包含情感词数量超过80%文本的情感词数量,且帖子文本情感值得分处在全部帖子得分分布轴线的两端
10%极端值内。其计算公式如下:
[0010] 单个帖子文本包含情感词数量超过80%文本情感词数量的帖子总数(即极性帖子数量)采用如下公式计算:
[0011]
[0012] 其中ε(x-y)为阶跃函数,u表示单个帖子文本包含情感词数量为情感词最多的单个帖子
[0013] 文本中情感词数量的80%(即80%Q),w表示判断单个帖子情感值得分高于90%的帖子
[0014] 情感值的分界值,
[0015] u采用如下公式计算:
[0016] w采用如下公式计算:
[0017] n表示提取的每个个股帖子总数量,i表示每个个股第i个帖子,qi表示第i个帖子的情感词数量, 表示第i个帖子的文本总情感值。
[0018] 更进一步,为了的到每个情感值的置信度,我们计算该窗口期内每只个股的支持度
[0019] 和情感量PV=ln(1+M+N)。直观来说,支持度表示窗口期内投资者对个股的情感取向是否一致,情感量表示窗口期内的带有情感取向的帖子数量。我们的研究表明,情感值越大,支持度越接近1,所计算得到的情感指数越具有效。因此,当支持度和情感度大于设定的阈值时,所对对应的情感指数记为有效。计算阈值μagreement=avg(agreementj)-1.5*var(agreementj)和μPV=avg(PVj)-1.5*var(PV),当支持度和情感量大于设定的阈值时,所对应的情感指数记为有效,其中μagreement表示支持度的阈值,表μPV表示情感量的阈值,j指代计算分析的所有个股中任一只个股,avg表示求和平均函数,var表示方差求和平均函数。
[0020] 由于有效的情感指数才能准确反映股市市场变化规律从而做出后期市场预期,直接影响采用本申请方法获得的股票预期报告的准确度,因此我们在设计支持度和情感量的阈值时,突破性的将所有个股的参数放在一起综合考量,采用求和平均和方差求和平均的计算方式,既考虑到每个个股的影响又能尽量减小某个个股对阈值的不良影响,从而使判断情感指数的阈值的有效性得到保证,实际模拟应用过程中,采用该方法获得的支持度和情感量的阈值也的确使筛选出的个股情感指数准确度远超之前的预期。
[0021] 步骤4:根据计算窗口期内每个个股的情感值加权求和,得到每个行业板块的情感值以及市场的情感值。根据计算的情感值自动生成报告。该报告包括窗口期内情感指数最高的30只个股以及最低的30只个股。以及每个行业板块的情感值,以及市场的情感值变化情况。其中每个个股的情感值为该个股所有帖子情感值的加权和。所述的计算窗口期可以是一天、一周或一个月。
[0022] 本发明中分词功能使用jieba的python库实现,jieba的python为用户提供了一个方便的库函数,在配置了金融语料情感词典后,便可利用jieba.cut这一方法对中文语句直接分词;分词完成后即可按照步骤2所述的步骤自主编写python程序进行情感判别。
[0023] 本发明的优点在于:(1)在情感词的分析过程中排除了灌水贴的误差影响,得到更客观的情感指数,防止在生成情绪报告进行荐股时将存在大量灌水贴的个股排在前列,因而较常规的情感分析具有更高的准确度;(2)筛选有效的情感指数时,将所有个股的参数放在一起综合考量,采用求和平均和方差求和平均的计算方式,既考虑到每个个股的影响又能尽量减小某个个股对阈值的不良影响,从而使判断情感指数的阈值的有效性得到保证;(3)上述方案可实现一套自动收集股票论坛发帖信息,并进行情感分析,情感指数计算,最终生成报告的股票情感分析报告生成系统;该系统能够实时且准确地反应投资者对个股以及板块的情感取向,投资者可参考其信息进行交易决策,调整投资策略,规避市场险。
附图说明
[0024] 图1是本发明的流程图
[0025] 图2是本发明的文本分析部分算法
[0026] 图3是本发明部分时间段情绪指数与股票价格变动对比图;
[0027] 图4是本发明的每周情绪报告示意。

具体实施方式

[0028] 下面结合本发明的主要流程,对本发明作进一步的详细说明。
[0029] 为了说明该方案的详细流程,我们以周为时间节点为例,阐释生成每周投资者情绪报告的方法。其中我们使用Python编写系统,使用MySQL数据库存储数据。
[0030] 图1展示了本系统的整体框架,其包括论坛数据爬取存储模块、情感分析模块、情感指数计算模块、报告生成模块四个模块。
[0031] 论坛数据爬取存储模块用于自动从股票论坛爬取投资者发帖文本内容和发帖时间。然而事实上股票论坛中的股贴包含着许多我们不希望保留的信息,如新闻、公告等等。为了避免这些信息对分析产生干扰,我们需对股贴做以下降噪处理:
[0032] 剔除发帖中的新闻、公告以及广告:为了使分析聚焦在投资者的投资情感,我们需要剔除股票论坛中的新闻、公告等官方或媒体发布信息,以及广告等宣传信息。故在爬取的时候我们排除那些带有标签的信息,因此我们保存的数据不包含这些噪声。
[0033] 删除重复发帖:论坛中,常有网民为了表达其强烈情绪的需要,重复发表相同内容的帖子多词。然而,重复帖子所表达的情绪对我们的情感分析只有一条有益,因此需要排除重复干扰。因此程序在每次爬取时,都会将数据暂时存储为一个列表,待爬取完成后,去重后再存入数据库。
[0034] 除此之外,个别论坛网站,如新浪股吧,会设置反爬虫措施,具体体现就是在爬虫程序短时间内请求次数大于一定数量后请求将会被拒绝。为了解决此问题,我们先从代理ip提供商处获取代理ip,后用爬虫程序获取股票论坛数据,将文本内容以及发帖时间存储在数据库中,使用代理ip进行访问,能够有效规避此反爬虫措施。
[0035] 情感分析模块主要用于分析计算得到的文本数据的情感数据,判别其情感去向。此情感分析模块由分词和情感判别两部分组成。分词功能我们使用jieba模块实现,jieba的python模块为用户提供了一个方便的库函数,在配置了金融语料情感词典后,便可以利用jieba.cut这一方法对中文语句直接分词。对于情感判别,我们使用图2所示算法,具体实现步骤如下:
[0036] 第一步:读取爬虫所获得的文本数据,对股贴主题进行分词。
[0037] 第二步:查找对分句后词中的情感词,记录正向还是负向及其位置。
[0038] 第三步:在情感词前查找程度副词词。人为地赋予副词情感权值Gad:情感较强烈的情感副词(如非常、肯定、特别等),赋予较高的权值;对情感较不强烈的情感副词(如稍微,一点点等)赋予较低的权值;权值的变化范围在0.1-2。将副词权值与情感词的情感值相乘得到词的情感值。
[0039] 第四步:往情感词前查找否定词,若找到否定词,将情感值乘以-1。
[0040] 第五步:判断分句结尾是否有感叹号,有叹号则往前寻找最近的情感词,将该情感词的情感值乘以2。
[0041] 第六步:计算完一条评论所有分句的正负向情感值,用数组(list)记录起来。求和得到该文本的最终情感值Tv=S1+S2+…+Sq,Sq是第q个情感词经过程度副词、否定词和标点符号权值修饰过的情感值,q表示该文本共有q个情感词,q属于(0,Q),Q为单个帖子中情感词数量最大值。若该情感值大于1,将该文本分为看涨文本,小于-1分为看跌文本,否则为无情感文本。
[0042] 情感指数计算模块将通过分析情感分析模块所得到的结果,计算出每只个股和每个版块的情感值。其主要计算情感指数、支持度、情感量三个情感相关值,后先使用支持度和情感量筛选出有效的情感指数,将有效的情感指数保存到数据库中。其中情感指数、支持度和情感量的计算公式在前文已有叙述,支持度和情感量阈值的选取方法根据前文中相应公式进行计算,由于有效的情感指数才能准确反映股市市场变化规律从而做出后期市场预期,直接影响采用本申请方法获得的股票预期报告的准确度,因此我们在设计支持度和情感量的阈值时,突破性的将所有个股的参数放在一起综合考量,采用求和平均和方差求和平均的计算方式,既考虑到每个个股的影响又能尽量减小某个个股对阈值的不良影响,从而使判断情感指数的阈值的有效性得到保证,实际模拟应用过程中,采用该方法获得的支持度和情感量的阈值也的确使筛选出的个股情感指数准确度远超之前的预期。
[0043] 表1:附图3中曲线具体数值表
[0044]
[0045]
[0046] 如图3所示,提供了一个时间段内(以周为时间单位)深市万科A(代码000002)情绪指数与股票价格变动对比图具体实施例,表1是采用本申请中公式具体计算得到的数值,其中price change是股票价格变动,bullishness是公式 计算得到的情感指数,modified bullishness是增加了σ对公式修正后计算得到的情感指数即从图中可以看出,虽然修正前后的情感指数变化趋势大体
都能比较好的吻合股票价格波动趋势,但是修正之后的情感指数趋势变化明显更趋近于股票价格波动趋势,如2016/8/12-2016/8/19、2016/9/23-2016/9/30、2016/10/14-2016/10/
21时间段内,明显modified bullishness的变化趋势更锲合price change的变化趋势,可见灌水帖及个别企业的股吧托大量发的唱空或看涨帖会对股民关于某一只股票的情绪造成干扰,因此在计算情感指数时筛选掉极性帖子得到的结果准确度相对更高。
[0047] 报告生成模块用于生成一份可视化情感分析结果呈现给读者。我们以生成情感分析周报为例,情感分析周报主要是在每周周一早晨生成上一周整周论坛发帖的分析结果,其内容代表了上一周投资者对市场的情感去向。该报告主要内容包括市场总情感指数趋势、个股情感排行、板块情感变化三部分。为了生成本报告,该模块会调用情感分析模块所计算得到的上一周计算结果。分别汇总得到市场、个股、板块的情感值,生成可视化图片,按照模板生成文案,最后汇总生成如图4所示的HTML文档。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈