返回市场
财务信号仪表盘

财务信号仪表盘

作者:awsdataarchitect7 星标更新:2025-05-26

项目介绍

财务信号仪表板

这是一个使用Strands Agent SDK并集成Bright Data MCP工具的实时财务信号代理系统。该系统从金融来源收集数据以分析股票,并生成用于投资决策的alpha信号。

特性

  • 使用Bright Data MCP工具进行实时股票分析
  • 具有丰富可视化效果的交互式Streamlit仪表板
  • 带置信评分的AI驱动alpha信号
  • 技术分析,包括价格、移动平均线和RSI指标
  • 仓位大小建议
  • 风险回报概况可视化
  • 基于社交媒体指标的市场情绪分析
  • 新闻来源情绪追踪与可视化
  • 支持多个模型提供商(AWS Bedrock和Ollama)

账户设置

确保您在brightdata.com上拥有一个账户(新用户可获得免费测试信用额度,且提供按需付费选项)。

从用户设置页面获取您的API密钥:https://brightdata.com/cp/setting/users

安装步骤

  1. 首先,确保已安装Python 3.10+。

  2. 创建一个虚拟环境来安装Strands Agents SDK及其依赖项:

python -m venv .venv
  1. 激活虚拟环境:
# macOS / Linux
source .venv/bin/activate

# Windows (CMD)
.venv\Scripts\activate.bat

# Windows (PowerShell)
.venv\Scripts\Activate.ps1
  1. 安装依赖项:
pip install -r requirements.txt
  1. 将您的Bright Data API令牌设置为环境变量:
export API_TOKEN="your-api-token-here"
  1. [仅在使用Ollama模型提供商时需要] 安装并设置Ollama:

    选项1:本地安装

    • 按照ollama.ai上的说明安装Ollama。
    • 拉取所需的模型:
      ollama pull llama3
      
    • 启动Ollama服务器:
      ollama serve
      

    选项2:Docker安装

    • 拉取Ollama Docker镜像:
      docker pull ollama/ollama
      
    • 运行Ollama容器:
      docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
      
      注意:如果您的计算机配置了GPU支持,请添加--gpus=all
    • 使用Docker容器拉取模型:
      docker exec -it ollama ollama pull llama3
      
    • 验证Ollama服务器是否正在运行:
      curl http://localhost:11434/api/tags
      
  2. 运行Streamlit应用程序:

streamlit run streamlit_app.py

模型提供商选项

仪表板支持两种模型提供商:

AWS Bedrock

  • 基于云的高性能模型
  • 需要AWS凭证
  • 生产使用的默认选项

Ollama

  • 在您的机器上运行的本地模型
  • 需要安装并运行Ollama
  • 支持的模型:
    • llama3.1:latest(推荐用于工具使用)
    • llama3:latest
    • llama3.1:latest
    • llama3:8b
    • llama3:70b
    • mistral:latest
    • mixtral:latest

关于Ollama工具支持的注意事项:标准的Ollama模型如llama3:latest不原生支持工具,可能会返回错误,例如`registry.ollama.ai/library/llama3:latest does not support tools (status code: . 我们通过讨论在这个GitHub问题中提到的专门提示技术实现了绕过方法。为了最佳地使用工具,建议使用具有更好工具支持的llama3.1:latest模型。

安全最佳实践

重要提示:始终将抓取的网络内容视为不可信数据。切勿直接在LLM提示中使用原始抓取的内容,以免造成潜在的提示注入风险。相反:

  • 在处理之前过滤和验证所有网络数据
  • 使用结构化数据提取而不是原始文本(web_data工具)

架构

  • Strands Agent SDK:为AI驱动的分析提供了代理框架
  • Bright Data MCP:负责网络抓取和金融数据收集
  • AWS Bedrock Nova Premier:通过高级语言能力驱动AI分析
  • Ollama:提供本地模型替代方案进行分析
  • Streamlit:提供具有实时更新的交互式仪表板
  • Plotly:创建交互式和响应的数据可视化

线程通信系统

仪表板实现了一个强大的基于文件的线程通信系统:

  • 背景线程用于财务和情绪分析
  • 文件标志用于指示完成状态
  • JSON存储用于分析结果
  • 分析完成后自动更新UI
  • 详细的日志记录和回溯进行错误处理

仪表板部分

  1. 股票头部:以视觉吸引的方式显示当前股票代码、价格和日期

  2. 财务分析标签页

    • 显示买入/卖出/持有建议的方向信号表盘
    • 带颜色编码区域的置信评分表盘
    • 对比潜在风险与回报的风险回报图表
    • 价格与移动平均线的柱状图
    • 显示当前RSI值的RSI表盘,带颜色编码区域
    • 仓位大小建议显示
    • 关键因素和风险评估部分
  3. 情绪分析标签页

    • 市场情绪得分表盘,带颜色编码区域
    • 7天情绪趋势图表(模拟)
    • 社交媒体情绪雷达图,针对Twitter、Reddit和StockTwits
    • 新闻来源情绪可视化,带颜色编码条形
    • 详细列出新闻来源及其情绪分析

工作原理

  1. 在侧边栏输入股票代码并点击“分析股票”
  2. 启动两个背景线程进行财务和情绪分析
  3. Strands Agent SDK 处理代理循环:
    • 管理代理的推理和决策过程
    • 通过其React框架简化工具选择和执行
    • 自动处理观察-思考-行动周期
    • 提供结构化的输出格式,以确保一致的分析结果
  4. Strands Agent连接到Bright Data MCP并检索金融数据
  5. AI模型分析数据并生成结构化的分析结果
  6. 结果保存到文件中,并设置标志以指示完成
  7. UI自动更新以显示带有交互式可视化的分析
  8. 用户可以通过标签页界面探索分析的不同方面

技术细节

  • 使用适当的事件循环处理异步处理中的线程
  • 使用正则表达式模式提取信号,解析AI响应中的结构化数据
  • 使用Plotly提供交互式可视化,以增强用户体验
  • 使用基于文件的线程通信进行可靠的UI更新
  • 全面的错误处理,具备优雅降级
  • 类型安全的数据处理,包括适当的转换和验证
  • 响应式布局,适应不同的屏幕尺寸
  • 根据模型特定的提示策略优化性能
  • 自动检查Ollama状态和模型可用性
  • 自定义XML风格的工具调用格式,以解决Ollama模型的工具支持限制

投资免责声明

仪表板包含明确的免责声明,指出:

  • 信息仅供参考
  • 分析不构成投资建议
  • 用户应在做出投资决策前咨询财务顾问
  • 过往表现不代表未来结果
  • 投资涉及损失风险

未来改进

  • 实时价格更新
  • 投资组合管理功能
  • 历史信号跟踪
  • 多个股票之间的比较分析
  • 自定义警报设置
  • 报告导出功能
  • 用户账户以保存分析历史
  • 集成其他模型提供商