Token导航 LogoToken导航TokenDH.com
Aiagent St Fsi logo
金融服务stdio官方级别未说明来源级核验

Aiagent St Fsi

MCP Server

一个基于Google ADK框架和Yahoo Finance API/MCP服务器的金融投资聊天机器人,提供股票搜索、研究、分析和交易建议功能。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
金融数据Python聊天机器人

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

schakrab02

提供方

schakrab02

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install yfinance

详细介绍

使用Google ADK框架和Yahoo Finance API/MCP服务器的股票分析聊天机器人应用程序。

该项目是2025年11月10日至14日为期5天的Google/Kaggle人工智能代理强化在线课程的Capstone项目。

第节:目标和商业利益。

创建一个金融投资聊天机器人,让一些投资者更好地了解最新的财务信息,使用雅虎财经公开的公司详细信息、收益和市场价格。令人鼓舞的是,随着年轻人的涌入,投资社区越来越大,这种聊天机器人在社区中越来越受欢迎。投资者正慢慢转向使用此类聊天机器人,而不是向专业投资顾问付费。虽然有关金融市场的新闻和最新信息很容易从雅虎金融或其他网站上获得,但这款聊天机器人使用基于API和MCP的工具和代理与雅虎金融服务器进行基于LLM的交互。此外,用户还可以使用此应用程序使用他们最喜欢的谷歌搜索工具在网络上搜索其他主题/新闻。

免责声明:此应用程序并不旨在取代认证投资专业人士的合理财务建议和指导。因此,作者不建议任何人仅根据此聊天机器人的回复/建议做出任何买入/卖出投资决策。

第节:本聊天机器人遵循的基本投资流程

  • 在交易所买卖特定金融工具(股票、交易所交易基金等)的投资过程的基本步骤:

- 初步研究(搜索) - 详细研究(研究) - 特定仪器的分析和建议 - 通过下达买入/卖出订单进行交易

  • 这些子过程中的每一个都是使用一个或多个LLM代理来实现的,使用谷歌ADK(代理开发工具包)作为“大脑”,使用工具/MCP服务器作为“手脚”。
  • 目前, 交易不支持订单的实际执行 在证券市场。 交易 只是指从用户那里下订单和相关的审批流程。

第节:主要特点

  • 搜索 :

- 实体类型列表(成长型公司、绩效型公司、etf等)。 - 行业名称列表(技术、金融服务、公用事业、房地产、医疗保健等)。 - 公司标志和交易所交易-只有一(1)家公司上市(主要是股权)返回。 - 使用“GoogleSearch”ADK工具进行互联网搜索。

  • 研究 :

- 根据年初至今的收益,列出给定“实体类型”和“行业”的顶级公司名单,最多允许20家。 - 给定代码/股票的股票详细信息。这使用从公共GitHub回购获得的雅虎MCP服务器。 - 使用远程A2A收益代理提供给定符号和期间的年度或季度收益详细信息。(需要远程A2A代理服务器设置)

  • 分析与建议 :用于特定的公司代码/股票代码。

- 多代理(2)接续:ParallelAgent、SummiteAgent - ParallelAgent:并行收集收益和股票详细信息 - 使用本地收益代理(免责声明:无法从远程A2A代理获取结果) - 使用股票详细信息代理。 - 摘要代理:根据从两(2)个平行代理收到的收益和股票详细信息进行总结和推荐。

  • 交易:这是通过以下方式实现的 人类在循环(HITL) 模式

- 之后 分析 对于完成的特定交易品种/股票代码,聊天机器人允许下达交易订单,指定“买入”或“卖出”以及股票数量。 - 未完成 强制执行一些 投资纪律,聊天机器人要求用户完成 推荐分析 在下单之前。用户可能会也可能不会接受为该股票下订单的建议。 - 如果订购的库存数量不超过可配置参数,则代理会立即“批准”订单。 - 如果订购的库存数量超过可配置参数,则代理将拒绝订单。 - 否则,订单将发送给用户审批。用户可以“批准”或“拒绝”订单。

第节:代理/工具流程图

具有(1)查询代理和(2)StockDetail代理的路由代理(MCPServerTool)

flowchart TD
    User([User Query]) --> StockAnalystAgent
    StockAnalystAgent ==> |Routing| QueryAgent
    StockAnalystAgent --> RemoteEarningsAgent
    StockAnalystAgent ==> |Routing| StockDetailAgent
    StockAnalystAgent --> ResearchAgent
    StockAnalystAgent --> AnalysisAgent
    StockAnalystAgent --> TradingAgent
    StockDetailAgent --> |Symbol| MCPServerTool
    MCPServerTool --> |Stock Info| StockDetailAgent
    MCPServerTool --> |Command| YahooFinanceMCPServer
    YahooFinanceMCPServer --> |STDIO protocol| MCPServerTool
    QueryAgent --> |Only Prompt| EntityFinder
    QueryAgent --> |Only Prompt| SectorFinder
    QueryAgent --> |Comnapny Name| CompanyFinder
    QueryAgent --> |Google Search Query| WebSearchAgent
    EntityFinder --> |Entity Types| Response([Response to User])
    SectorFinder --> |Sector Names| Response([Response to User])
    CompanyFinder --> |Stock Information| Response([Response to User])
    WebSearchAgent --> |GoogleSearch Results| Response([Response to User])

具有(3)远程A2A收益代理和(4)研究代理的路由代理

flowchart TD
    User([User Query]) --> StockAnalystAgent
    StockAnalystAgent --> QueryAgent
    StockAnalystAgent ==> |Routing| RemoteEarningsAgent
    StockAnalystAgent --> StockDetailAgent
    StockAnalystAgent ==> |Routing| ResearchAgent
    StockAnalystAgent --> AnalysisAgent
    StockAnalystAgent --> TradingAgent
    ResearchAgent --> |Valid Entity type, Sector| StockFinderTool
    ResearchAgent --> |Invalid Input| Response
    StockFinderTool --> |List of Top Stocks| Response([Response to User])
    RemoteEarningsAgent --> |Symbol, Period| A2AProxy
    A2AProxy --> |Earnings| RemoteEarningsAgent
    A2AProxy --> |Symbol, Period| RemoteA2AAgent
    RemoteA2AAgent --> |Earnings| A2AProxy
    RemoteEarningsAgent --> |Annual/Quarterly Earnings| Response([Response to User])

路由代理与(5)使用本地收益代理和股票细节(MCP)代理的分析/推荐代理

flowchart TD
    User([User Query]) --> StockAnalystAgent
    StockAnalystAgent --> QueryAgent
    StockAnalystAgent --> RemoteEarningsAgent
    StockAnalystAgent --> ResearchAgent
    StockAnalystAgent ==> |Routing| AnalysisAgent
    StockAnalystAgent ==> |Routing|TradingAgent
    AnalysisAgent --> |Parallel - symbol| EarningsAgent
    AnalysisAgent --> |Parallel - symbol| StockDetailAgent
    EarningsAgent --> |Aggregation - earnings| SummarizeAgent
    StockDetailAgent --> |Aggregation - stock info| SummarizeAgent
    SummarizeAgent --> |Report/Recommendation| Response([Response to User])

实现HITL模式的交易代理

flowchart LR
  User([User Query]) ==> |Analysis| AnalysisAgent
  AnalysisAgent --> |Recommendation| User([User Query])
  User([User Query]) --> |Place a order for recommended Stock only| TradingAgent
  TradingAgent --> |Order within limit: Auto-Approved| ReadyForExecution
  TradingAgent --> |Order exceeding limit| UserApproval
  UserApproval --> |Approved| ReadyForExecution
  UserApproval --> |Rejected| Response
  ReadyForExecution --> Response([Response to User])

部分:带有可能提示的示例测试场景/案例。

流程代理名称代理/工具/MCP示例提示预期结果
搜索QueryAgent股票查找工具查找英特尔公司的交易品种交易品种和交易所
搜索QueryAgent实体查找工具查找实体类型列表静态列表:etf、共同基金、公司、成长公司、绩效公司
搜索QueryAgent行业查找工具查找行业列表静态列表:基础材料、通信服务、消费者周期、消费者防御、能源、金融服务、医疗保健、工业、房地产、技术、公用事业
搜索WebSearchAgent谷歌搜索工具获取当今美国的热门政治新闻注:LLM Haulicinated将POTUS Trump显示为“前”POTUS特朗普
研究研究代理股票查找器/错误工具按ytd回报查找实体类型执行公司和行业医疗保健订单的前10只股票。您的回复应以表格形式列出公司名称、行业、代码、交易所、年初至今回报。将年初至今回报率转换为百分比,最多保留2位小数附有业绩摘要的股票列表
研究StockDetailAgent雅虎MCP工具查找股票详情GOOGAlphabet股票近期表现详情
研究RemoteEarningsAgentA2A远程服务器/代理查找符号“AAPL”的季度收益季度收益(过去5个季度)
推荐AnalysisAgent本地收益、股票详细信息和总结代理(3)研究和总结股票代码NVDA收益详细信息、股票详细情况,然后是简短总结和温和推荐
交易交易代理HITL代理工具下2股买入订单(分析后)订单为 自动批准
交易交易代理HITL代理工具下5个卖出订单(后分析)订单为 待定 供批准
交易交易代理HITL代理工具收到用户批准订单为 批准
交易交易代理HITL代理工具未收到用户批准订单已完成 拒绝
交易交易代理HITL代理工具下5的卖出订单(无新分析)订单为 拒绝

______________________________________________________________________

  • 注:其他测试用例请参考Eval-Json。

第节:日志记录、错误处理和可观察性

  • 日志记录:使用旋转文件处理程序的Python“记录器”(配置为10个文件,每个文件100kb)
  • 可观察性:来自ADK'LoggingPlugin'基类的自定义'PlugIn'。插件已使用自定义“App”实例注册。
  • 错误处理:每个工具和Python函数都在“try-catch”块中。任何异常都报告为“错误”。回调“工具错误回调”仅用于记录错误消息。

第节:用户身份验证

  • 未实现

第节:测试与评估

  • 使用“adk web”UI的评估被捕获并验证。

- 注意:UI中的“运行评估”过程通常无法记录任何内容。

  • 可以从“eval”选项卡查看5个测试用例的测试详细信息。
  • 无法测试交易代理批准 使用“adk web”
  • 在ADK CLI和WEB进行测试时,注意到以下ADK错误:

- run_async中的文件“venv/lib/python3.12/site-packages/google/adk/tools/agent_tool.py”,第169行。merged_text='\\n'.join(p.text表示last_content.parts中的p,如果是p.text) - 如果eval_case.conversion_session为None且len(),则文件“venv/lib/python3.12/site packages/google/adk/evaluation/local_eval_service.py”第224行位于_evaluate_single_inference_result中。TypeError:“NoneType”类型的对象没有len()

第节:技术细节

  • 开发/测试环境

- Ubuntu 22.04 LTS Linux使用Windows 10 WSL 2(四核CPU,8Gi RAM) - Python 3.12或更高版本

  • 生产环境

- 谷歌云顶点AI代理库引擎

  • LLM模型

- 开发/测试:双子座-2.5-Flash-lite - 集成/生产:双子座-2.5-Flash - 注:观察到“Flash lite”模型的运输/不可用性: - 对于某些用户查询,“根代理”无法根据用户查询正确路由到相应的代理。 - 对于某些工具,输入/输出参数解析失败。 - 输出模式:基于Pydantic模型的一些工具。

  • 环境变量设置

- GOOGLE_API_键 - 谷歌云项目

  • 配置

- Python中的参数 全局数据 模块,包括TradingAgent的“retry_config”、“TRADING_AUTHO_APPROVAL_LIMIT”和“TRADING_MAXIMUM_LIMIT”。雅虎财经服务器配置也包含在此模块中。

  • 代理内存管理

- 对于开发测试,ADK WEB默认为“InMemorySessionService”。 - 对于集成测试,通过将预先创建的Sqlite3数据库传递给“adk web--session_b_url”命令,将SQLLite数据库作为“DatabaseSessionServer”。 - 注:否 长期记忆管理包括Vertex AI记忆库在内的软件进行了测试。

  • GitHub源代码库:

- https://github.com/schakrab02/aiagent-st-fsi/tree/main

章节:开发/集成测试环境

  • ADK CLI(ADK运行)
  • ADK网站

第节:生产部署

  • 顶点AI代理引擎-使用“adk deploy-Agent_Engine”进行部署。

- 提供了检查服务器和删除服务器的Linux脚本。 - 注意:应用程序不会部署1个cpu和1Gi。在将.agent_engine_config.json配置为4个cpu和8Gi后部署。

  • 远程A2A代理
  • 雅虎金融服务器(用于基于API的呼叫)
  • 雅虎财经MCP使用命令/npx(用于MCP工具)

- 使用以下npx命令中的MCP检查器和Auth Bearer令牌进行开发测试。 - 安装

  #!/bin/sh
  pip install yfinance
  pip install yahoo-finance-server
  yahoo-finance-server ## basic, w/o proxy
  npx @modelcontextprotocol/inspector yahoo-finance-server  ## npx w/p r

Vertex Ai代理引擎UI中的生产测试- 如果不设置雅虎MCP服务器和远程A2A代理,则只能签出以下内容。

功能代理名称代理/工具/MCP示例提示预期结果
搜索QueryAgent实体查找工具查找实体类型列表静态列表:etf、共同基金、公司、成长公司、绩效公司
搜索QueryAgent行业查找工具查找行业列表静态列表:基础材料、通信服务、消费者周期、消费者防御、能源、金融服务、医疗保健、工业、房地产、技术、公用事业
搜索网络搜索代理谷歌搜索工具新泽西州爱迪生今天的天气怎么样?来自GoogleSearch的天气

______________________________________________________________________

致谢和致谢

  • Kaggle和谷歌团队免费举办了为期5天的人工智能代理强化课程,并在“Discord”频道提供了宝贵的意见。
  • 雅虎财经服务器公开其GitHub仓库。

- 回购URL: Agent X ai(作者:RobinXL)

  • 博客和讨论论坛为搜索Google ADK文档时不易解决的问题提供了宝贵的见解。

许可证

  • 麻省理工学院开放许可证(2.0)

免责声明

应用程序/聊天机器人的作者不对用户根据本应用程序/对话机器人的任何建议做出任何投资决策时可能遭受的任何财务或其他损失负责。

______________________________________________________________________

README.md 1.0版本结束。

作者:Santanu Chakraborty,CFA,FRM。

目录标签

目录标签

金融数据Python聊天机器人金融投资本地部署股票分析YahooFinanceGoogleADK

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP