# FAS **Repository Path**: elfbobo_admin_admin/fas ## Basic Information - **Project Name**: FAS - **Description**: 多智能体 A 股投资分析交易平台 (FAS) 多智能体 A 股投资分析交易平台是一个基于人工智能的投资分析工具,集成了多个专业智能体,为用户提供全面、专业的 A 股投资分析服务。 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-10-16 - **Last Updated**: 2025-12-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 多智能体 A 股投资分析交易平台 (FAS) 多智能体 A 股投资分析交易平台是一个基于人工智能的投资分析工具,集成了多个专业智能体,为用户提供全面、专业的 A 股投资分析服务。 ## 系统架构 系统由前端层、智能体层、数据层和存储层组成,各层之间通过 API 进行交互。 - **前端层**:基于 Chainlit 构建的聊天界面,支持文本交互、图表展示和数据可视化 - **智能体层**:基于 LangGraph 的智能体编排器,协调多个专业分析智能体 - **数据层**:基于 AKShare 的数据获取、处理和存储模块 - **存储层**:PostgreSQL 用于存储结构化数据,Redis 用于缓存和实时数据 ### 智能体团队 平台由八个专业智能体组成,各司其职: #### 核心分析智能体 - **基本面分析智能体**:分析公司财务报表、盈利能力、成长性等基本面因素 - **宏观分析智能体**:分析宏观经济环境、政策动向、行业趋势等 - **风险分析智能体**:评估投资风险,包括市场风险、流动性风险、波动性风险等 - **市场分析智能体**:分析市场情绪、技术指标、资金流向等 #### 新增专业智能体 - **技术分析智能体 (AsyncTechnicalAgent)**: - 技术指标计算:MACD、RSI、KDJ、布林带、移动平均线等 - 图表模式识别:头肩顶、双顶双底、三角形、楔形等经典形态 - 支撑阻力位计算:基于历史价格和成交量的关键位分析 - 交易信号生成:买入卖出信号、止损止盈建议 - **情绪分析智能体 (AsyncSentimentAgent)**: - 新闻情绪分析:收集和分析财经新闻、公告的情绪倾向 - 社交媒体监控:监控微博、股吧等社交平台的投资者情绪 - 中文 NLP 处理:基于 jieba 分词和 snownlp 的中文文本情感分析 - 市场情绪计算:综合多源数据计算整体市场情绪指数 - **高级市场分析智能体 (AsyncAdvancedMarketAgent)**: - 市场微观结构分析:订单簿分析、买卖价差、市场深度 - 机构资金流向分析:大单分析、北向资金、机构持仓变化 - 市场状态检测:牛熊市判断、波动率分析、趋势强度评估 - 跨市场关联分析:A+H 股对比、行业轮动、概念题材分析 #### 协调智能体 - **投资总结智能体**:整合所有智能体分析结果,生成综合投资建议 ## 功能特点 ### 核心分析功能 - **股票分析**:提供全面的股票分析,包括基本面、技术面、风险评估和投资建议 - **行业分析**:分析行业发展趋势、竞争格局和投资机会 - **市场分析**:分析整体市场情况、热点板块和投资风险 - **投资建议**:根据用户需求和风险偏好,提供个性化投资建议 ### 新增高级功能 - **深度技术分析**: - 20+技术指标实时计算和分析 - 智能图表模式识别 - 动态支撑阻力位计算 - 精准交易信号生成 - **智能情绪分析**: - 多源新闻情绪实时监控 - 社交媒体情绪追踪 - 中文自然语言处理 - 市场情绪指数计算 - **高级市场洞察**: - 订单簿深度分析 - 机构资金流向追踪 - 市场状态智能识别 - 跨市场关联分析 ### 系统特性 - **异步并行处理**:8 个智能体并行分析,大幅提升分析效率 - **实时进度反馈**:分析过程可视化,用户体验优化 - **数据可视化**:通过图表直观展示分析结果和市场数据 - **市场监控**:实时监控市场变化,及时发现投资机会 ## 技术栈 - **前端**:Chainlit, Plotly, Streamlit - **后端**:FastAPI, Celery, Uvicorn - **AI 框架**:LangChain, LangGraph, OpenAI - **数据处理**:AKShare, Pandas, NumPy, TA-Lib - **中文 NLP**:jieba, snownlp - **异步处理**:asyncio, ThreadPoolExecutor - **科学计算**:scipy, scikit-learn - **网络爬虫**:requests, beautifulsoup4, lxml - **数据存储**:PostgreSQL, Redis - **部署**:Docker, Docker Compose ## 安装指南 ### 环境要求 - Python 3.9+ - PostgreSQL 14+ - Redis 6+ ### 安装步骤 1. 克隆仓库 ```bash git clone https://gitee.com/carllee34/fas.git cd fas ``` 2. 创建虚拟环境 ```bash python -m venv venv source venv/bin/activate # Linux/Mac # 或 venv\Scripts\activate # Windows ``` 3. 安装依赖 ```bash pip install -r requirements.txt ``` 4. 配置环境变量 ```bash cp .env.example .env # 编辑.env文件,填写必要的配置信息 ``` 5. 初始化数据库 ```bash python -m scripts.setup_db --all ``` 6. 启动应用 ```bash python -m app.main ``` ## 使用指南 ### 启动应用 ```bash # 启动UI服务 python -m app.main --ui # 启动API服务 python -m app.main --api # 启动所有服务 python -m app.main --all ``` ### 访问应用 - UI 界面:http://localhost:8000 - API 文档:http://localhost:8080/docs ### 基本用法 1. 股票分析:输入股票代码或名称,如"分析贵州茅台"或"分析 600519" 2. 行业分析:输入行业名称,如"分析医药行业" 3. 市场分析:输入市场分析请求,如"分析当前市场情况" 4. 投资建议:输入投资建议请求,如"给我一些投资建议" ## 项目结构 ``` /fas (Financial Analysis System) │ ├── /app # 应用主目录 │ ├── /api # API接口 │ ├── /agents # 智能体定义 │ ├── /data # 数据处理模块 │ ├── /monitor # 市场监控服务 │ ├── /ui # 前端界面 │ ├── /utils # 工具函数 │ ├── /workflows # 工作流定义 │ └── main.py # 应用入口 │ ├── /config # 配置文件 │ ├── default.yaml # 默认配置 │ └── production.yaml # 生产环境配置 │ ├── /scripts # 脚本文件 │ ├── setup_db.py # 数据库初始化脚本 │ └── seed_data.py # 测试数据生成脚本 │ ├── /tests # 测试文件 │ ├── .env.example # 环境变量示例 ├── requirements.txt # 依赖管理 └── README.md # 项目说明 ``` ## 开发指南 ### 添加新智能体 #### 同步智能体 1. 在`app/agents`目录下创建新的智能体模块 2. 继承`BaseAgent`类并实现必要的方法 3. 在`app/workflows/graph.py`中添加新智能体节点 4. 更新工作流图以包含新智能体 #### 异步智能体 1. 在`app/agents`目录下创建新的异步智能体模块 2. 继承`AsyncBaseAgent`类并实现以下方法: - `analyze_async(stock_code, progress_callback=None)`: 异步分析方法 - 各种专业分析组件类 3. 在`app/workflows/async_graph.py`中添加新智能体到工作流 4. 更新`AnalysisState`类添加新的结果字段 5. 在`app/agents/__init__.py`中添加导入语句 6. 在`app/main.py`中添加智能体初始化 7. 创建对应的测试文件验证功能 ### 新智能体集成示例 以技术分析智能体为例: ```python # 1. 创建智能体类 class AsyncTechnicalAgent(AsyncBaseAgent): async def analyze_async(self, stock_code: str, progress_callback=None): # 实现异步分析逻辑 pass # 2. 更新工作流状态 @dataclass class AnalysisState: technical_result: Optional[Dict] = None # 3. 添加到并行执行列表 parallel_agents = [ "fundamental_agent", "macro_agent", "risk_agent", "market_agent", "technical_agent", # 新增 "sentiment_agent", "advanced_market_agent" ] ``` ### 添加新数据源 1. 在`app/data/fetcher.py`中添加新的数据获取方法 2. 在`app/data/processor.py`中添加相应的数据处理方法 3. 在`app/data/storage.py`中添加数据存储方法 4. 对于异步智能体,在`app/data/async_advanced_fetcher.py`中添加高级数据获取方法 ### 测试新功能 1. 在`tests/`目录下创建对应的测试文件 2. 使用 pytest 框架编写单元测试和集成测试 3. 测试异步功能时使用`@pytest.mark.asyncio`装饰器 4. 使用 mock 对象模拟外部数据源和 API 调用 ## 贡献指南 1. Fork 项目 2. 创建特性分支 (`git checkout -b feature/amazing-feature`) 3. 提交更改 (`git commit -m 'Add some amazing feature'`) 4. 推送到分支 (`git push origin feature/amazing-feature`) 5. 创建 Pull Request ## 许可证 本项目采用 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件 ## 免责声明 本平台提供的分析和建议仅供参考,不构成投资建议。投资有风险,入市需谨慎。历史数据不代表未来表现,请根据自身风险承受能力做出投资决策。 ## 联系方式 - 项目维护者:Carl Lee - 邮箱:lixin_ff@126.com - 项目链接:https://gitee.com/carllee34/fas