AI神器登场:实时分析股票情绪,助您精准投资!(附Web应用及源码)

作者:老余捞鱼

原创不易,转载请标明出处及原作者。

写在前面的话:我近期开发了一款AI驱动的股市情绪分析工具。它能够自动抓取股票新闻,并通过AI技术对新闻进行情绪分类和排序,同时利用VADER算法计算情绪得分。这款工具让我能迅速把握市场对特定股票的普遍看法,从而辅助我做出更加明智的投资选择。若您希望在股市中抢占先机,那么AI情绪分析绝对是一项不容忽视的关键工具。

我聪明的读者们,大家好!你是否曾想从新闻头条中解读市场情绪,却因信息太繁杂而感到感到无从下手?今天你很幸运,因为AI时代为你带来了一种改变颠覆传统的全新方式……

一、AI股票情绪分析应用体验

试想一下,如果你能实时获取最关注股票的最新新闻,自动为每条新闻打上情绪分数,并按积极或消极程度进行排序。更棒的是,你还可以得到一个总体情绪评分,精准把握市场对这只股票的情绪动向!感兴趣吗?现在就让我们一起来用一用这个基于AI的股票情绪分析工具。

这是一款全面整合技术指标、基本面数据与新闻情绪分析工具,体验地址:https://rsssentiment-laoyulaoyu.streamlit.app/

如果你需要在日内交易中使用,可以试试这个版本,体验地址:
https://rsssentiment-laoyulaoyutwo.streamlit.app/

二、技术实现

import streamlit as st
import yfinance as yf
import plotly.graph_objects as go
from plotly.subplots import make_subplots
import pandas as pd
import feedparser
from nltk.sentiment import SentimentIntensityAnalyzer
import nltk

# Download VADER lexicon if not already done
nltk.download('vader_lexicon', quiet=True)

# 由于篇幅限制,此处省略部分代码。如需完整代码,请关注老余捞鱼微信公众号,并在后台输入“股票情绪分析代码”即可获取。

        # Display total sentiment score
        st.sidebar.markdown(f"<h3 style='color: {'green' if total_sentiment_score >= 0 else 'red'}'>总情绪得分: {total_sentiment_score:.2f}</h3>", unsafe_allow_html=True)

        # Display news items
        for item in news_items:
            st.sidebar.markdown(f"**{item['title']}**")
            st.sidebar.markdown(f"[Read more]({item['link']})")
            st.sidebar.markdown(f"*发布时间: {item['published']}*")
            st.sidebar.markdown(f"情绪: <span style='color:{item['color']}'>{item['sentiment_category']}</span> (Score: {item['compound_score']:.2f})", unsafe_allow_html=True)
            st.sidebar.markdown("---")
    else:
        st.sidebar.write("对不起,暂未找该股票代码的新闻.")

if __name__ == "__main__":
    main()

上面是代码示例片段,完成该功能只需四步即可。

步骤 1:获取最新股票新闻

首先,我们的应用会通过 RSS 源获取您关注股票的最新10篇新闻报道。无论是Apple、Meta,还是Google,我们都能实时从网络上抓取相关新闻。

该片段代码实现的核心为:

获取新闻:使用 fetch_rss_feed(ticker) 获取指定股票(股票代码)的最新消息。它会检索与该股票相关的新闻文章列表。

步骤 2: 利用 AI 进行情绪分析

获取新闻后,我们会使用一个名为 VADER 的情感分析工具。这个由人工智能驱动的工具会扫描每篇新闻文章的基调,并给出每篇新闻的数值区间情绪评价分:

  • 正向情绪:Positive (+1.0 to +0.1)
  • 中性情绪:Neutral (0)
  • 负面情绪:Negative (-0.1 to -1.0)

给每篇文章都会标注一个分数,可以表示为看涨或看跌的情绪。

该片段代码实现核心为:

分析情绪:对于每个新闻标题,我都会使用 get_vader_sentiment(entry.title) 来判断文章标题是积极、消极还是中性。这是基于 "复合得分"算法,一个衡量文本情感的数字。

步骤 3:按情绪得分对新闻进行排序

为了简化操作,这款应用会将新闻从最积极到最消极排序。无需像传统股票软件那样逐条浏览数十篇文章。当您输入股票代码后,应用会在几秒内呈现最新的头条新闻,整齐排列,让您轻松分辨哪些新闻在为这只股票助威,哪些新闻在提示潜在风险。

该片段代码实现核心为:

新闻排序:应用程序首先按最新文章(by date)对新闻进行排序,然后选取前 10 篇文章,再按情感分数(from most positive to least positive)进行排序。

情感总分:情绪总分是将前 10 篇文章的情绪得分相加计算得出的。该分数可以全面反映该股票的情绪。

第 4 步: 股票情绪总分

我们通过将所有文章的分数相加,计算出总情感分数。这样您就能了解全局:

如果总分是正数(接近 +10),则表示市场看涨,市场情绪乐观。

如果分数为负数(接近-10),则情况可能看跌,您应谨慎行事。

我们为 Streamlit 应用添加了一个侧边栏,该侧边栏会获取有关某只股票的近期新闻(使用其股票代码),并使用 VADER(情感分析工具)分析每个新闻标题的情感,而侧边栏顶部用红色显示总情感分数。

源代码相关

完整代码请在“老余捞鱼”微信公众号后台输入“股票情绪分析”即可获得地址。

三、观点总结

对于任何交易员或投资者来说,情绪分析都是一项强大的工具。这款应用程序不仅为您提供新闻,更为您带来深刻的洞察力!

  • 市场情绪分析对投资者至关重要:通过分析股票新闻的情绪,投资者可以更准确地把握市场动向和情绪变化。
  • 自动化工具提高效率:本应用自动获取新闻并进行情感分析,大大提高了信息处理的效率。
  • 情感分析的准确性:使用AI工具进行情感分析,能够准确地识别新闻标题的基调,并给出量化的情绪得分。
  • 情绪得分的实用性:通过情绪得分,投资者可以快速判断新闻对股票的看涨或看跌影响。
  • 总情绪得分的全局视角:总情绪得分为投资者提供了一个整体的市场情绪视角,帮助他们做出更有信息支持的投资决策。
  • 用户友好的界面设计:应用程序的设计使得投资者能够轻松地获取和理解所需的信息。
  • 实时分析的优势:提供实时分析的能力,让投资者能够及时做出反应,抓住市场机会。

感谢您阅读到最后,希望这篇文章为您带来了新的启发和实用的知识!如果觉得有帮助,请不吝点赞和分享,您的支持是我持续创作的动力。祝您投资顺利,收益长虹!如果对文中内容有任何疑问,欢迎留言,我会尽快回复!


本文内容仅限技术探讨和学习,不构成任何投资建议。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老余捞鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值