[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-72485":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":13,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":16,"stars30d":17,"stars90d":14,"forks30d":14,"starsTrendScore":18,"compositeScore":19,"rankGlobal":8,"rankLanguage":8,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":8,"pushedAt":8,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":14,"starSnapshotCount":14,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},72485,"A_Share_investment_Agent","24mlight\u002FA_Share_investment_Agent","24mlight",null,"Python",2424,612,19,16,0,3,11,21,9,70.96,"Other",false,"main",true,[],"2026-06-12 04:01:06","\u003Cdiv align=\"center\">\n\n# 🤖 AI 投资系统 🧠\n\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAI投资-决策辅助-4A90E2?style=for-the-badge\">\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-Poetry-blue.svg?style=for-the-badge&logo=python&logoColor=white\">\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLLM-Gemini%20%7C%20OpenAI%20Compatible-brightgreen?style=for-the-badge&logo=openai&logoColor=white\">\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Dual%20(MIT%20%26%20GPLv3%2BNonCommercial)-lightgrey.svg?style=for-the-badge&logo=git&logoColor=white\">\n\n\u003Cimg src=\"https:\u002F\u002Fcapsule-render.vercel.app\u002Fapi?type=waving&color=gradient&customColorList=10,20,30,40&height=200&section=header&text=AI%20投资系统&fontSize=90&fontAlignY=35&desc=探索基于多智能体与LLM的自动化投资决策&descAlignY=60&animation=fadeIn\" \u002F>\n\n\u003C\u002Fdiv>\n\n**⚠️ 免责声明：本项目仅用于教育和研究目的，不构成任何投资、实际交易建议。投资有风险，决策需谨慎。\n再次强调，该系统不涉及任何投资建议，不涉及任何股票推荐，仅用于对于 AI 技术和股市结合感兴趣的朋友。\n对 Agent 技术和股市感兴趣者来，\n升官发财请往他处。\n不再回复任何有关系统给出信息有无用的问题，此系统不构成任何投资建议。**\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fandreasbm\u002Freadme\u002Fmaster\u002Fassets\u002Flines\u002Frainbow.png\" width=\"100%\">\n\u003C\u002Fdiv>\n\n## 项目概述\n\n这是一个基于人工智能的投资系统概念验证项目。项目目标是探索如何使用 AI 来辅助投资决策，通过多 Agent 协同工作，结合大型语言模型 (LLM) 的分析能力，提供多角度的市场解读和投资建议。\n\n### 核心理念：多智能体协同与 LLM 增强决策\n\n系统通过模拟不同角色的研究员（多头、空头）和分析师，进行信息收集、分析、辩论，最终形成投资决策。最新的“辩论室智能增强”机制引入 LLM 作为独立第三方，进一步提升决策的客观性和全面性。\n\n\u003Cdiv align=\"center\">\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd align=\"center\">\u003Cimg src=\"https:\u002F\u002Fimg.icons8.com\u002Ffluency\u002F48\u002Fnull\u002Fpeople-working-together.png\" width=\"30px\"\u002F>\u003Cbr>\u003Cb>多智能体协同\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">\u003Cimg src=\"https:\u002F\u002Fimg.icons8.com\u002F?size=100&id=M1bt3ZHCANRW&format=png&color=000000\" width=\"30px\"\u002F>\u003Cbr>\u003Cb>LLM 深度分析\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">\u003Cimg src=\"https:\u002F\u002Fimg.icons8.com\u002Ffluency\u002F48\u002Fnull\u002Fscales.png\" width=\"30px\"\u002F>\u003Cbr>\u003Cb>辩论室机制\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">\u003Cimg src=\"https:\u002F\u002Fimg.icons8.com\u002Ffluency\u002F48\u002Fnull\u002Fdata-configuration.png\" width=\"30px\"\u002F>\u003Cbr>\u003Cb>模块化架构\u003C\u002Fb>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>在多分析师基础上，引入多空研究员，从不同视角分析市场\u003C\u002Ftd>\n    \u003Ctd>引入大型语言模型进行客观评估和洞察生成\u003C\u002Ftd>\n    \u003Ctd>通过多方辩论达成更全面的决策\u003C\u002Ftd>\n    \u003Ctd>各 Agent 独立运作，易于扩展和维护\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fandreasbm\u002Freadme\u002Fmaster\u002Fassets\u002Flines\u002Frainbow.png\" width=\"100%\">\n\u003C\u002Fdiv>\n\n## 系统架构\n\n![System Architecture V2](src\u002Fdata\u002Fimg\u002Fstructure_v4.png)\n\n新版本的架构做出了以下改进：\n\n1.  引入了多头研究员(Researcher Bull)和空头研究员(Researcher Bear)，让系统能够从不同角度分析市场\n2.  增加了辩论室(Debate Room)环节，通过多空双方的辩论来达成更全面的决策\n3.  优化了数据流向，使决策过程更加系统化和完整\n\n另外，优化了终端输出，减少了不必要的详细数据显示，使输出更加清晰易读。\n\n## 最新功能：\n\n### 2025.06.22 新闻搜索功能升级\n\n我们对新闻获取系统进行了重大升级，显著提升了新闻数据的质量和获取效率：\n\n1.  **智能搜索引擎**：集成了先进的搜索功能，能够更精准地获取相关财经新闻\n2.  **多源新闻整合**：支持从多个主流财经网站获取新闻，包括新浪财经、网易财经、东方财富等\n3.  **智能缓存系统**：\n    - **增量缓存**：当请求更多新闻时，系统会智能地利用已有缓存，只获取差额部分\n    - **去重机制**：基于新闻标题自动去重，避免重复内容\n    - **时效性管理**：自动检查缓存有效性，确保数据时效性\n    - **缓存统计**：详细记录缓存使用情况，包括原缓存数量、新获取数量等\n4.  **优化的查询策略**：\n    - 针对 A 股市场特点优化搜索关键词\n    - 支持时间范围限制，可获取特定日期前的新闻\n    - 智能过滤无关内容，提高新闻质量\n\n### 2025.04.27 宏观分析师\n\n### 2025.03.27 辩论室智能增强\n\n我们最新升级了辩论室(Debate Room)模块的决策机制：\n\n1.  **LLM 第三方分析**：引入大型语言模型作为独立的第三方分析师，对多空观点进行客观评估\n2.  **混合置信度计算**：将传统的多空置信度差异与 LLM 评分进行加权融合，形成更全面的决策依据\n3.  **增强的辩论机制**：系统现在能够自动汇总所有研究员的观点，生成结构化分析，并整合进最终决策\n\n这一改进使决策过程更加平衡客观，特别适合在市场信息复杂、多方观点存在分歧的情况下提供更可靠的投资建议。未来我们将持续优化这一机制，进一步提升决策质量。\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fandreasbm\u002Freadme\u002Fmaster\u002Fassets\u002Flines\u002Frainbow.png\" width=\"100%\">\n\u003C\u002Fdiv>\n\n## 🛠️ 安装与设置 (Setup)\n\n首先，克隆本仓库到您的本地：\n\n```bash\ngit clone [https:\u002F\u002Fgithub.com\u002F24mlight\u002FA_Share_investment_Agent.git](https:\u002F\u002Fgithub.com\u002F24mlight\u002FA_Share_investment_Agent.git)\ncd A_Share_investment_Agent\n```\n\n### 1. 安装 Poetry\n\nPoetry 是一个用于 Python 依赖管理和打包的工具。\n\n**Windows (PowerShell):**\n\n```powershell\n(Invoke-WebRequest -Uri [https:\u002F\u002Finstall.python-poetry.org](https:\u002F\u002Finstall.python-poetry.org) -UseBasicParsing).Content | py -\n```\n\n**Unix\u002FmacOS:**\n\n```bash\ncurl -sSL [https:\u002F\u002Finstall.python-poetry.org](https:\u002F\u002Finstall.python-poetry.org) | python3 -\n```\n\n### 2. 安装项目依赖\n\n使用 Poetry 安装项目所需的依赖包：\n\n```bash\npoetry lock --no-update\n```\n\n```bash\npoetry install\n```\n\n### 3. 配置环境变量\n\n环境变量用于存储 API 密钥等敏感信息。\n\n首先，复制示例环境变量文件：\n\n```bash\n# Create .env file for your API keys\ncp .env.example .env\n```\n\n然后，您可以获取您的 Gemini API 密钥：[Google AI Studio](https:\u002F\u002Faistudio.google.com\u002F)\n\n您可以通过以下两种方式设置环境变量:\n\n**a. 直接修改 `.env` 文件 (推荐)**\n打开项目根目录下的 `.env` 文件, 填入您的 API key:\n\n```env\n# Gemini API 配置\nGEMINI_API_KEY=your-gemini-api-key\nGEMINI_MODEL=gemini-1.5-flash\n\n# OpenAI Compatible API 配置（可选）\nOPENAI_COMPATIBLE_API_KEY=your-openai-compatible-api-key\nOPENAI_COMPATIBLE_BASE_URL=https:\u002F\u002Fyour-api-endpoint.com\u002Fv1\nOPENAI_COMPATIBLE_MODEL=your-model-name\n```\n\n**注意:** 系统会优先使用 OpenAI Compatible API（如果配置了），否则会使用 Gemini API。\n\n**b. 通过命令行设置**\n\n**Unix\u002FmacOS:**\n\n```bash\n# Gemini API 配置\nexport GEMINI_API_KEY='your-gemini-api-key'\nexport GEMINI_MODEL='gemini-1.5-flash'\n\n# OpenAI Compatible API 配置（可选）\nexport OPENAI_COMPATIBLE_API_KEY='your-openai-compatible-api-key'\nexport OPENAI_COMPATIBLE_BASE_URL='https:\u002F\u002Fyour-api-endpoint.com\u002Fv1'\nexport OPENAI_COMPATIBLE_MODEL='your-model-name'\n```\n\n**Windows PowerShell:**\n\n```powershell\n# Gemini API 配置\n$env:GEMINI_API_KEY='your-gemini-api-key'\n$env:GEMINI_MODEL='gemini-1.5-flash'\n\n# OpenAI Compatible API 配置（可选）\n$env:OPENAI_COMPATIBLE_API_KEY='your-openai-compatible-api-key'\n$env:OPENAI_COMPATIBLE_BASE_URL='https:\u002F\u002Fyour-api-endpoint.com\u002Fv1'\n$env:OPENAI_COMPATIBLE_MODEL='your-model-name'\n```\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"[https:\u002F\u002Fraw.githubusercontent.com\u002Fandreasbm\u002Freadme\u002Fmaster\u002Fassets\u002Flines\u002Frainbow.png](https:\u002F\u002Fraw.githubusercontent.com\u002Fandreasbm\u002Freadme\u002Fmaster\u002Fassets\u002Flines\u002Frainbow.png)\" width=\"100%\">\n\u003C\u002Fdiv>\n\n## 🚀 使用指南 (Usage)\n\n⚠️ **注意**: 目前回测系统还在测试中。\n\n系统支持多种运行方式：\n\n### 1. 命令行分析模式\n\n这是直接与系统交互进行股票分析的主要方式。\n\n**基本运行 (只显示关键决策信息):**\n\n```bash\npoetry run python src\u002Fmain.py --ticker 000000 #修改成你想要测试的股票代码\n```\n\n例如，分析股票代码为 `301155` 的情况：\n\n```bash\npoetry run python src\u002Fmain.py --ticker 301155\n```\n\n**显示详细推理过程 (查看每个智能体的分析过程):**\n\n```bash\npoetry run python src\u002Fmain.py --ticker 000000 --show-reasoning #修改成你想要测试的股票代码\n```\n\n例如:\n\n```bash\npoetry run python src\u002Fmain.py --ticker 301155 --show-reasoning\n```\n\n**回测功能**\n\n```bash\npoetry run python src\u002Fbacktester.py --ticker 301157 --start-date 2024-12-11 --end-date 2025-01-07 --num-of-news 20\n```\n\n回测功能支持以下参数：\n\n- `ticker`: 股票代码\n- `start-date`: 回测开始日期（`YYYY-MM-DD`）\n- `end-date`: 回测结束日期（`YYYY-MM-DD`）\n- `initial-capital`: 初始资金（可选，默认为 `100,000`）\n- `num-of-news`: 情绪分析使用的新闻数量（可选，默认为 `5`，最大为 `100`）\n\n#### 参数说明\n\n- `--ticker`: 股票代码（必需）\n- `--show-reasoning`: 显示分析推理过程（可选，默认为 `false`）\n- `--initial-capital`: 初始现金金额（可选，默认为 `100,000`）\n- `--num-of-news`: 情绪分析使用的新闻数量（可选，默认为 `5`，最大为 `100`）\n- `--start-date`: 开始日期，格式 `YYYY-MM-DD`（可选）\n- `--end-date`: 结束日期，格式 `YYYY-MM-DD`（可选）\n\n### 2. 后端 API 服务模式\n\n此模式会启动一个 FastAPI 后端服务，允许通过 API 与系统交互，适合希望基于此后端开发自定义前端界面的用户。\n\n```bash\n# 启动API服务\npoetry run python run_with_backend.py\n```\n\n启动后，可以通过浏览器访问 `http:\u002F\u002Flocalhost:8000\u002Fdocs` 使用交互式 API 界面 (Swagger UI)。\n\n**常用 API 端点包括：**\n\n- **开始新的分析**: `POST \u002Fanalysis\u002Fstart` (请求体中提供股票代码、初始资金等)\n- **查看当前工作流状态**: `GET \u002Fapi\u002Fworkflow\u002Fstatus` (获取当前运行 ID 和活跃 Agent 状态)\n- **列出历史运行**: `GET \u002Fruns\u002F` (获取已完成运行列表)\n- **查看特定运行的流程图**: `GET \u002Fruns\u002F{run_id}\u002Fflow`\n- **查看特定 Agent 的详细执行日志**: `GET \u002Fruns\u002F{run_id}\u002Fagents\u002F{agent_name}`\n- **查看 LLM 交互日志**: `GET \u002Flogs\u002F` (具体路径可能需根据实现确认)\n\n**API 服务模式的优势：**\n\n- 分析任务在后台异步执行。\n- 所有结果均可通过 API 查询。\n- 无需为每次分析重启程序。\n- 可作为开发自定义前端的基础。\n\n详细的后端 API 文档请参阅：[查看详细的后端 API 文档](.\u002Fbackend\u002FREADME.md)\n\n### 参数说明 (命令行模式)\n\n- `--ticker`: 股票代码 (必需)\n- `--show-reasoning`: 显示分析推理过程 (可选, 默认为 `false`)\n- `--initial-capital`: 初始现金金额 (可选, 默认为 `100,000`)\n- `--num-of-news`: 情绪分析使用的新闻数量 (可选, 默认为 `5`)\n\n### 命令行模式输出说明\n\n系统会输出以下信息：\n\n1.  基本面分析结果\n2.  估值分析结果\n3.  技术分析结果\n4.  情绪分析结果\n5.  风险管理评估\n6.  最终交易决策\n\n如果使用了`--show-reasoning`参数，还会显示每个智能体的详细分析过程。\n\n**示例输出 (Example Output):**\n\n```\n正在获取 301157 的历史行情数据...\n开始日期：2024-12-11\n结束日期：2024-12-11\n成功获取历史行情数据，共 242 条记录\n\n警告：以下指标存在NaN值：\n- momentum_1m: 20条\n- momentum_3m: 60条\n- momentum_6m: 120条\n...（这些警告是正常的，是由于某些技术指标需要更长的历史数据才能计算）\n\n正在获取 301157 的财务指标数据...\n获取实时行情...\n成功获取实时行情数据\n\n获取新浪财务指标...\n成功获取新浪财务指标数据，共 3 条记录\n最新数据日期：2024-09-30 00:00:00\n\n获取利润表数据...\n成功获取利润表数据\n\n构建指标数据...\n成功构建指标数据\n\nFinal Result:\n{\n  \"action\": \"buy\",\n  \"quantity\": 12500,\n  \"confidence\": 0.42,\n  \"agent_signals\": [\n    {\n      \"agent\": \"Technical Analysis\",\n      \"signal\": \"bullish\",\n      \"confidence\": 0.6\n    },\n    {\n      \"agent\": \"Fundamental Analysis\",\n      \"signal\": \"neutral\",\n      \"confidence\": 0.5\n    },\n    {\n      \"agent\": \"Sentiment Analysis\",\n      \"signal\": \"neutral\",\n      \"confidence\": 0.8\n    },\n    {\n      \"agent\": \"Valuation Analysis\",\n      \"signal\": \"bearish\",\n      \"confidence\": 0.99\n    },\n    {\n      \"agent\": \"Risk Management\",\n      \"signal\": \"buy\",\n      \"confidence\": 1.0\n    }\n  ],\n  \"reasoning\": \"Risk Management allows a buy action with a maximum quantity of 12500...\"\n}\n```\n\n### 日志文件说明\n\n系统会在 `logs\u002F` 目录下生成以下类型的日志文件：\n\n1.  **回测日志**\n\n    - 文件名格式：`backtest_{股票代码}_{当前日期}_{回测开始日期}_{回测结束日期}.log`\n    - 示例：`backtest_301157_20250107_20241201_20241230.log`\n    - 包含：每个交易日的分析结果、交易决策和投资组合状态\n\n2.  **API 调用日志**\n    - 文件名格式：`api_calls_{当前日期}.log`\n    - 示例：`api_calls_20250107.log`\n    - 包含：所有 API 调用的详细信息和响应\n\n所有日期格式均为 YYYY-MM-DD。如果使用了 `--show-reasoning` 参数，详细的分析过程也会记录在日志文件中。\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"[https:\u002F\u002Fraw.githubusercontent.com\u002Fandreasbm\u002Freadme\u002Fmaster\u002Fassets\u002Flines\u002Frainbow.png](https:\u002F\u002Fraw.githubusercontent.com\u002Fandreasbm\u002Freadme\u002Fmaster\u002Fassets\u002Flines\u002Frainbow.png)\" width=\"100%\">\n\u003C\u002Fdiv>\n\n## 📂 项目结构 (Project Structure)\n\n```\nA_Share_investment_Agent\u002F\n├── backend\u002F                     # 后端 API 和服务\n│   ├── dependencies.py          # 依赖注入 (如 LogStorage)\n│   ├── main.py                  # FastAPI 应用实例\n│   ├── models\u002F                  # API 请求\u002F响应模型 (Pydantic)\n│   │   ├── analysis.py          # \u002Fanalysis\u002F 相关路由\n│   │   ├── api_runs.py          # \u002Fapi\u002Fruns\u002F 相关路由 (基于 api_state)\n│   │   ├── logs.py              # \u002Flogs\u002F 相关路由\n│   │   ├── runs.py              # \u002Fruns\u002F 相关路由 (基于 BaseLogStorage)\n│   │   └── workflow.py          # \u002Fapi\u002Fworkflow\u002F 相关路由\n│   ├── schemas.py               # 内部数据结构\u002F日志模型 (Pydantic)\n│   ├── services\u002F                # 业务逻辑服务\n│   │   └── analysis.py          # 股票分析服务\n│   ├── state.py                 # 内存状态管理 (api_state)\n│   ├── storage\u002F                 # 日志存储实现\n│   │   ├── base.py              # BaseLogStorage 接口定义\n│   │   └── memory.py            # InMemoryLogStorage 实现\n│   └── utils\u002F                   # 后端工具函数\n│       ├── api_utils.py         # API 相关工具\n│       └── context_managers.py  # 上下文管理器 (如 workflow_run)\n├── src\u002F                         # Agent 核心逻辑和工具\n│   ├── agents\u002F                  # Agent 定义和工作流\n│   │   ├── __init__.py\n│   │   ├── debate_room.py\n│   │   ├── fundamentals.py\n│   │   ├── macro_analyst.py       # 宏观分析师Agent\n│   │   ├── market_data.py\n│   │   ├── portfolio_manager.py\n│   │   ├── researcher_bear.py\n│   │   ├── researcher_bull.py\n│   │   ├── risk_manager.py\n│   │   ├── sentiment.py\n│   │   ├── state.py\n│   │   ├── technicals.py\n│   │   └── valuation.py\n│   ├── data\u002F                   # 数据存储目录 (本地缓存等)\n│   │   ├── img\u002F                # 项目图片\n│   │   ├── sentiment_cache.json  # 情感分析结果缓存\n│   │   ├── macro_analysis_cache.json  # 宏观分析结果缓存\n│   │   └── stock_news\u002F         # 股票新闻数据\n│   ├── tools\u002F                  # 工具和功能模块 (LLM, 数据获取)\n│   │   ├── __init__.py\n│   │   ├── api.py\n│   │   ├── data_analyzer.py\n│   │   ├── news_crawler.py\n│   │   └── openrouter_config.py\n│   ├── utils\u002F                  # 通用工具函数 (日志, LLM客户端, 序列化)\n│   │   ├── __init__.py\n│   │   ├── api_utils.py        # Agent 共享的API工具 (逐步迁移至 backend)\n│   │   ├── llm_clients.py\n│   │   ├── llm_interaction_logger.py\n│   │   ├── logging_config.py\n│   │   ├── output_logger.py\n│   │   ├── serialization.py\n│   │   ├── structured_terminal.py  # 结构化终端输出\n│   │   └── summary_report.py    # 汇总报告生成\n│   ├── backtester.py          # 回测系统 (可能需要检查状态)\n│   └── main.py                # Agent 工作流定义和命令行入口\n├── logs\u002F                      # 日志文件目录 (主要由 OutputLogger 生成)\n├── .env                       # 环境变量配置\n├── .env.example              # 环境变量示例\n├── poetry.lock               # Poetry依赖锁定文件\n├── pyproject.toml            # Poetry项目配置\n├── run_with_backend.py       # 启动后端并可选执行分析的脚本\n└── README.md                 # 项目文档\n```\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"[https:\u002F\u002Fraw.githubusercontent.com\u002Fandreasbm\u002Freadme\u002Fmaster\u002Fassets\u002Flines\u002Frainbow.png](https:\u002F\u002Fraw.githubusercontent.com\u002Fandreasbm\u002Freadme\u002Fmaster\u002Fassets\u002Flines\u002Frainbow.png)\" width=\"100%\">\n\u003C\u002Fdiv>\n\n## 🤝 贡献指南 (Contributing)\n\n我们欢迎各种形式的贡献！\n\n1.  Fork 本仓库\n2.  创建您的特性分支 (`git checkout -b feature\u002FAmazingFeature`)\n3.  提交您的更改 (`git commit -m 'Add some AmazingFeature'`)\n4.  推送到分支 (`git push origin feature\u002FAmazingFeature`)\n5.  创建 Pull Request\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"[https:\u002F\u002Fraw.githubusercontent.com\u002Fandreasbm\u002Freadme\u002Fmaster\u002Fassets\u002Flines\u002Frainbow.png](https:\u002F\u002Fraw.githubusercontent.com\u002Fandreasbm\u002Freadme\u002Fmaster\u002Fassets\u002Flines\u002Frainbow.png)\" width=\"100%\">\n\u003C\u002Fdiv>\n\n## ☕️ 支持\n\n如果这个项目对你有帮助，欢迎请我喝杯咖啡 ❤️\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"src\u002Fdata\u002Fimg\u002Fali.png\" alt=\"支付宝收款码\" width=\"250\"\u002F>\n\u003C\u002Fdiv>\n\n\n## 📖 项目详细说明\n\n### 架构设计\n\n本项目是一个基于多个 agent 的 AI 投资系统，采用模块化设计，每个 agent 都有其专门的职责。系统的架构如下：\n\n```\nMarket Data Analyst → [Technical\u002FFundamentals\u002FSentiment\u002FValuation Analyst & Researcher Bull\u002FBear & Debate Room] → Risk Manager → Portfolio Manager → Trading Decision\n```\n\n_(架构图已在前面展示)_\n\n#### Agent 角色和职责\n\n1.  **Market Data Analyst**\n\n    - 作为系统的入口点\n    - 负责收集和预处理所有必要的市场数据\n    - 通过 akshare API 获取 A 股市场数据\n    - 数据来源：东方财富、新浪财经等\n\n2.  **Technical Analyst**\n\n    - 分析价格趋势、成交量、动量等技术指标\n    - 生成基于技术分析的交易信号\n    - 关注短期市场走势和交易机会\n\n3.  **Fundamentals Analyst**\n\n    - 分析公司财务指标和经营状况\n    - 评估公司的长期发展潜力\n    - 生成基于基本面的交易信号\n\n4.  **Sentiment Analyst**\n\n    - 分析市场新闻和舆论数据\n    - 评估市场情绪和投资者行为\n    - 生成基于情绪的交易信号\n\n5.  **Valuation Analyst**\n\n    - 进行公司估值分析\n    - 评估股票的内在价值\n    - 生成基于估值的交易信号\n\n6.  **Researcher Bull \u002F Researcher Bear** (新增)\n\n    - 分别从多头和空头角度进行深入研究和分析，提供对立观点。\n\n7.  **Debate Room** (新增与增强)\n\n    - 多空研究员在此陈述观点并进行辩论。\n    - 引入 LLM 作为第三方分析师，对辩论内容和观点进行客观评估。\n    - 综合各方观点和 LLM 评分，形成更全面的决策依据。\n\n8.  **Risk Manager**\n\n    - 整合所有 agent 的交易信号和辩论结果\n    - 评估潜在风险\n    - 设定交易限制和风险控制参数\n    - 生成风险管理信号\n\n9.  **Portfolio Manager**\n    - 作为最终决策者\n    - 综合考虑所有信号、辩论结果和风险因素\n    - 做出最终的交易决策（买入\u002F卖出\u002F持有）\n    - 确保决策符合风险管理要求\n\n### 数据流和处理\n\n#### 数据类型\n\n1.  **市场数据 (Market Data)**\n\n    ```python\n    {\n       \"market_cap\": float,        # 总市值\n       \"volume\": float,            # 成交量\n       \"average_volume\": float,    # 平均成交量\n       \"fifty_two_week_high\": float,  # 52周最高价\n       \"fifty_two_week_low\": float    # 52周最低价\n    }\n    ```\n\n2.  **财务指标数据 (Financial Metrics)**\n\n    ```python\n    {\n       # 市场数据\n       \"market_cap\": float,          # 总市值\n       \"float_market_cap\": float,    # 流通市值\n\n       # 盈利数据\n       \"revenue\": float,             # 营业总收入\n       \"net_income\": float,          # 净利润\n       \"return_on_equity\": float,    # 净资产收益率\n       \"net_margin\": float,          # 销售净利率\n       \"operating_margin\": float,    # 营业利润率\n\n       # 增长指标\n       \"revenue_growth\": float,      # 主营业务收入增长率\n       \"earnings_growth\": float,     # 净利润增长率\n       \"book_value_growth\": float,   # 净资产增长率\n\n       # 财务健康指标\n       \"current_ratio\": float,       # 流动比率\n       \"debt_to_equity\": float,      # 资产负债率\n       \"free_cash_flow_per_share\": float,  # 每股经营性现金流\n       \"earnings_per_share\": float,  # 每股收益\n\n       # 估值比率\n       \"pe_ratio\": float,           # 市盈率（动态）\n       \"price_to_book\": float,      # 市净率\n       \"price_to_sales\": float      # 市销率\n    }\n    ```\n\n3.  **财务报表数据 (Financial Statements)**\n\n    ```python\n    {\n       \"net_income\": float,          # 净利润\n       \"operating_revenue\": float,    # 营业总收入\n       \"operating_profit\": float,     # 营业利润\n       \"working_capital\": float,      # 营运资金\n       \"depreciation_and_amortization\": float,  # 折旧和摊销\n       \"capital_expenditure\": float,  # 资本支出\n       \"free_cash_flow\": float       # 自由现金流\n    }\n    ```\n\n4.  **交易信号 (Trading Signals)**\n    ```python\n    {\n       \"action\": str,               # \"buy\", \"sell\", \"hold\"\n       \"quantity\": int,             # 交易数量\n       \"confidence\": float,         # 置信度 (0-1) (可能是混合置信度)\n       \"agent_signals\": [           # 各个 agent 的信号\n           {\n               \"agent\": str,        # agent 名称\n               \"signal\": str,       # \"bullish\", \"bearish\", \"neutral\"\n               \"confidence\": float  # 置信度 (0-1)\n           }\n       ],\n       \"reasoning\": str            # 决策理由 (可能包含辩论摘要和LLM评估)\n    }\n    ```\n\n#### 数据流转过程\n\n1.  **数据采集阶段**\n\n    - Market Data Agent 通过 akshare API 获取实时市场数据：\n      - 股票实时行情 (`stock_zh_a_spot_em`)\n      - 历史行情数据 (`stock_zh_a_hist`)\n      - 财务指标数据 (`stock_financial_analysis_indicator`)\n      - 财务报表数据 (`stock_financial_report_sina`)\n    - 新闻数据通过新浪财经 API 获取\n    - 所有数据经过标准化处理和格式化\n\n2.  **分析阶段**\n\n    - Technical Analyst：计算技术指标，分析价格模式，生成技术分析评分和建议。\n    - Fundamentals Analyst：分析财务报表，评估基本面，生成基本面分析评分。\n    - Sentiment Analyst：分析市场新闻，使用 AI 模型评估情感，生成市场情绪评分。\n    - Valuation Analyst：计算估值指标，进行 DCF 估值，评估内在价值。\n    - Researcher Bull\u002FBear：从各自立场出发，进行深入分析，准备辩论材料。\n\n3.  **辩论与评估阶段 (Debate Room)**\n\n    - 多空研究员提交观点。\n    - 系统汇总观点，可能由 LLM 辅助生成结构化分析。\n    - LLM 作为第三方对观点进行客观评估，给出评分。\n    - 计算混合置信度。\n\n4.  **风险评估阶段**\n    Risk Manager 综合考虑多个维度：\n\n    - 市场风险评估（波动率、Beta 等）\n    - 头寸规模限制计算\n    - 止损止盈水平设定\n    - 投资组合风险控制\n    - 整合来自辩论室的增强信号。\n\n5.  **决策阶段**\n    Portfolio Manager 基于以下因素做出决策：\n\n    - 各 Agent 的信号强度和置信度。\n    - 辩论室的综合结论和混合置信度。\n    - 当前市场状况和风险水平。\n    - 投资组合状态和现金水平。\n    - 交易成本和流动性考虑。\n\n6.  **数据存储和缓存**\n\n    - 情绪分析结果缓存在 `data\u002Fsentiment_cache.json`\n    - 新闻数据保存在 `data\u002Fstock_news\u002F` 目录\n    - 日志文件按类型存储在 `logs\u002F` 目录\n    - API 调用记录实时写入日志\n\n7.  **监控和反馈**\n    - 所有 API 调用都有详细的日志记录\n    - 每个 Agent 的分析过程可追踪\n    - 系统决策过程（包括辩论环节）透明可查\n    - 回测结果提供性能评估\n\n### 代理协作机制\n\n1.  **信息共享**\n\n    - 所有代理共享同一个状态对象 (AgentState) 或通过明确定义的数据结构传递信息。\n    - 通过消息传递机制或顺序调用进行通信。\n    - 每个代理都可以访问必要的历史数据和前序分析结果。\n\n2.  **决策权重与融合**\n    Portfolio Manager 在做决策时考虑不同信号的权重，并结合辩论室的混合置信度：\n\n    - 估值分析：(示例权重) 35%\n    - 基本面分析：(示例权重) 30%\n    - 技术分析：(示例权重) 25%\n    - 情绪分析：(示例权重) 10%\n    - 辩论室结论：可能作为最终决策的重要调整因子或独立置信度来源。\n\n3.  **风险控制**\n    - 强制性风险限制\n    - 最大持仓限制\n    - 交易规模限制\n    - 止损和止盈设置\n\n### 系统特点\n\n1.  **多 LLM 支持**\n\n    - 支持 Google Gemini API\n    - 支持任何兼容 OpenAI API 格式的 LLM 服务（如华为云方舟、OpenRouter 等）\n    - 智能切换功能：自动选择可用的 LLM 服务\n\n2.  **模块化设计**\n\n    - 每个代理都是独立的模块\n    - 易于维护和升级\n    - 可以单独测试和优化\n\n3.  **可扩展性**\n\n    - 可以轻松添加新的分析师或研究员角色\n    - 支持添加新的数据源\n    - 可以扩展决策策略和辩论机制\n\n4.  **风险管理**\n\n    - 多层次的风险控制\n    - 实时风险评估\n    - 自动止损机制 (规划中或部分实现)\n\n5.  **智能决策与解释性**\n    - 基于多维度分析和多方观点博弈\n    - 考虑多个市场因素\n    - 动态调整策略\n    - 通过 `--show-reasoning` 和辩论室机制增强决策过程的透明度和可解释性\n\n### 未来展望\n\n1.  **数据源扩展**\n\n    - 添加更多 A 股数据源 (如财报、公告的结构化数据)\n    - 接入更多财经数据平台\n    - 增加社交媒体情绪数据、行业研报等另类数据\n    - 扩展到港股、美股市场\n\n2.  **功能增强**\n\n    - 添加更多复杂技术指标和量化策略因子\n    - 实现更完善和自动化的回测系统，支持参数优化\n    - 支持多股票组合管理和动态调仓\n    - 增强 LLM 在策略生成、代码解释、市场总结等方面的应用\n\n3.  **性能优化**\n    - 提高数据处理效率，优化 Agent 间通信\n    - 优化决策算法和 LLM 调用效率\n    - 增加并行处理能力，支持更大规模的分析任务\n\n### 情感分析功能 (Sentiment Agent)\n\n情感分析代理（Sentiment Agent）是系统中的关键组件之一，负责分析市场新闻和舆论对股票的潜在影响。\n\n#### 功能特点\n\n1.  **新闻数据采集**\n\n    - 自动抓取最新的股票相关新闻\n    - 支持多个新闻源 (当前主要为新浪财经)\n    - 实时更新新闻数据 (根据调用频率)\n\n2.  **情感分析处理**\n\n    - 使用先进的 AI 模型 (LLM) 分析新闻情感\n    - 情感分数范围：-1（极其消极）到 1（极其积极）\n    - 考虑新闻的重要性和时效性 (隐式或显式)\n\n3.  **交易信号生成**\n    - 基于情感分析结果生成交易信号\n    - 包含信号类型（看涨\u002F看跌\u002F中性）\n    - 提供置信度评估\n    - 附带详细的分析理由 (可能由 LLM 生成摘要)\n\n#### 情感分数说明\n\n- **1.0**: 极其积极（重大利好消息、超预期业绩、行业政策支持）\n- **0.5 到 0.9**: 积极（业绩增长、新项目落地、获得订单）\n- **0.1 到 0.4**: 轻微积极（小额合同签订、日常经营正常）\n- **0.0**: 中性（日常公告、人事变动、无重大影响的新闻）\n- **-0.1 到 -0.4**: 轻微消极（小额诉讼、非核心业务亏损）\n- **-0.5 到 -0.9**: 消极（业绩下滑、重要客户流失、行业政策收紧）\n- **-1.0**: 极其消极（重大违规、核心业务严重亏损、被监管处罚）\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"[https:\u002F\u002Fraw.githubusercontent.com\u002Fandreasbm\u002Freadme\u002Fmaster\u002Fassets\u002Flines\u002Frainbow.png](https:\u002F\u002Fraw.githubusercontent.com\u002Fandreasbm\u002Freadme\u002Fmaster\u002Fassets\u002Flines\u002Frainbow.png)\" width=\"100%\">\n\u003C\u002Fdiv>\n\n## 📊 结果展示 (Example Image)\n\n![image](src\u002Fdata\u002Fimg\u002Fimage.png)\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fandreasbm\u002Freadme\u002Fmaster\u002Fassets\u002Flines\u002Frainbow.png\" width=\"100%\">\n\u003C\u002Fdiv>\n\n## 🙏 致谢 (Acknowledgements)\n\n本项目修改自 [ai-hedge-fund](https:\u002F\u002Fgithub.com\u002Fvirattt\u002Fai-hedge-fund.git)。我们衷心感谢原作者的出色工作和启发。原项目为我们针对 A 股市场的适配和改进提供了坚实的基础。\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"[https:\u002F\u002Fraw.githubusercontent.com\u002Fandreasbm\u002Freadme\u002Fmaster\u002Fassets\u002Flines\u002Frainbow.png](https:\u002F\u002Fraw.githubusercontent.com\u002Fandreasbm\u002Freadme\u002Fmaster\u002Fassets\u002Flines\u002Frainbow.png)\" width=\"100%\">\n\u003C\u002Fdiv>\n\n## 📜 许可证 (License)\n\n本项目使用双重许可证：\n\nThis project is dual-licensed:\n\n### 原始代码 - MIT 许可证 \u002F Original Code - MIT License\n\n- 原始代码（来自 [ai-hedge-fund](https:\u002F\u002Fgithub.com\u002Fvirattt\u002Fai-hedge-fund)）采用 MIT 许可证。\n- 允许商业和非商业使用、修改和分发。\n\n### 修改和新增代码 - GNU GPL v3 with Non-Commercial Clause\n\n- 由 `24mlight` 创建的所有修改和新增代码采用 GNU General Public License v3 (GPL v3)，并附加非商业条款。\n- 允许非商业使用、修改和分发，需提供源代码。\n- **严格禁止任何商业用途**（如商业产品、服务、销售或获取商业利益）。\n- 必须保留原始版权声明和许可证声明。\n- 衍生作品必须以相同许可证（GPL v3 with Non-Commercial Clause）分发。\n\n详细信息请参阅 `LICENSE` 文件。\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Fcapsule-render.vercel.app\u002Fapi?type=waving&color=gradient&customColorList=12,15,20,24&section=footer&height=100&animation=fadeIn\" \u002F>\n\u003C\u002Fdiv>\n","这是一个基于人工智能的投资系统概念验证项目，旨在探索如何利用AI辅助投资决策。该项目通过多智能体协同工作，并结合大型语言模型（LLM）的分析能力，提供市场解读和投资建议。核心功能包括多智能体（如多头研究员、空头研究员）从不同视角进行市场分析，以及引入LLM作为独立第三方增强决策的客观性和全面性。此外，系统还具备新闻搜索功能升级，能够更精准地获取并整合高质量财经新闻。此项目适用于对AI技术和股市结合感兴趣的开发者、研究者或投资者，用于教育和研究目的，不构成任何实际投资建议。",2,"2026-06-11 03:42:16","high_star"]