# 资金流向功能集成说明 ## 概述 本次更新成功引入了 `pywencai`(问财)库,为资金面分析师提供真实的资金流向数据支撑,包括近20个交易日的区间资金流向、区间主力资金流向和区间涨跌幅数据。 ## 功能特点 ### 1. 数据来源 - **数据源**:同花顺问财(pywencai) - **数据范围**:近20个交易日 - **支持市场**:仅支持中国A股(美股暂不支持) ### 2. 获取的数据指标 问财资金流向数据包括: - **区间资金流向** - 总资金流向(元) - 总资金流向(亿元) - **区间主力资金流向** - 主力资金流向(元) - 主力资金流向(亿元) - 主力资金占比(%) - **区间涨跌幅** - 近20日涨跌幅(%) - **额外资金数据**(根据问财返回的数据动态提取) - 可能包含大单、中单、小单资金流向 - 其他资金相关指标 ## 代码改动说明 ### 1. requirements.txt 添加了 `pywencai>=0.7.0` 依赖。 ### 2. stock_data.py 新增方法: - `get_fund_flow_data(symbol)`: 使用问财获取资金流向数据 - `_safe_convert(value)`: 安全地转换数值 - `_calculate_main_fund_ratio(main_fund, total_fund)`: 计算主力资金占比 ### 3. deepseek_client.py 修改了 `fund_flow_analysis` 方法: - 新增 `fund_flow_data` 参数 - 将问财数据整合到分析提示词中 - 增强了资金面分析的维度和深度 分析维度包括: 1. 资金流向趋势分析 2. 主力资金行为分析 3. 成交量变化分析 4. 资金面与技术面结合 5. 市场情绪和资金偏好 6. 资金面风险与机会 7. 投资建议 ### 4. ai_agents.py 修改了 `fund_flow_analyst_agent` 方法: - 新增 `fund_flow_data` 参数 - 在分析结果中保存资金流向数据 - 添加数据来源提示信息 修改了 `run_multi_agent_analysis` 方法: - 新增 `fund_flow_data` 参数 - 将资金流向数据传递给资金面分析师 ### 5. app.py 在 `run_stock_analysis` 函数中: - 添加获取资金流向数据的步骤 - 仅对A股股票获取问财数据 - 显示数据获取状态提示 - 将数据传递给AI分析系统 ## 使用方法 ### 安装依赖 ```bash pip install pywencai>=0.7.0 ``` 或者重新安装所有依赖: ```bash pip install -r requirements.txt ``` ### 运行系统 ```bash streamlit run app.py ``` ### 分析A股股票 1. 在输入框中输入A股代码(如 `600519`、`000001`) 2. 点击"开始分析"按钮 3. 系统会自动: - 获取股票基本信息 - 获取技术指标数据 - 获取财务数据 - **获取问财资金流向数据**(新增) - 调用AI分析师团队进行分析 4. 在"资金面分析师"标签页查看基于真实资金流向数据的分析报告 ### 分析美股 - 美股暂不支持问财资金流向数据 - 资金面分析师将基于技术指标进行分析 - 系统会显示"ℹ️ 美股暂不支持问财资金流向数据"提示 ## 数据解读 ### 主力资金行为判断 资金面分析师会结合以下情况进行分析: 1. **主力资金持续流入 + 股价上涨** - 说明主力看好后市 - 资金推动股价上涨 - 是较强的买入信号 2. **主力资金流出 + 股价上涨** - 需警惕散户接盘风险 - 可能是主力出货 - 上涨动力不足 3. **主力资金流入 + 股价下跌** - 可能是主力在低位吸筹 - 或是市场整体弱势 - 需结合其他指标判断 4. **主力资金流出 + 股价下跌** - 主力看空 - 卖出压力大 - 应回避或止损 ### 主力资金占比 - **占比 > 70%**: 主力高度控盘 - **占比 50-70%**: 主力参与度较高 - **占比 30-50%**: 主力参与适中 - **占比 < 30%**: 散户为主导 ## 注意事项 1. **网络要求** - pywencai 需要访问同花顺问财网站 - 确保网络连接正常 - 可能受到访问频率限制 2. **数据时效性** - 资金流向数据为T-1数据(前一交易日) - 非实时数据 3. **异常处理** - 如果问财数据获取失败,系统会自动降级 - 资金面分析师将基于技术指标进行分析 - 不会影响其他分析师的正常工作 4. **仅支持A股** - 问财数据仅支持中国A股 - 美股、港股暂不支持 ## 示例查询 问财使用的查询语句格式: ``` {股票代码}近20个交易日区间资金流向、区间主力资金流向、区间涨跌幅 ``` 例如: - `600519近20个交易日区间资金流向、区间主力资金流向、区间涨跌幅` - `000001近20个交易日区间资金流向、区间主力资金流向、区间涨跌幅` ## 效果展示 ### 分析流程提示 ``` 📈 正在获取股票数据... 📊 正在获取财务数据... 💰 正在获取资金流向数据(问财)... ✅ 成功获取问财资金流向数据 🤖 正在初始化AI分析系统... 🔍 AI分析师团队正在分析... 💰 资金面分析师正在分析中... ✓ 已获取问财资金流向数据 ``` ### 资金面分析报告示例 资金面分析师将基于以下数据进行分析: ``` 【问财资金流向数据(近20个交易日)】 区间资金流向: - 总资金流向:12345678900 元 - 总资金流向(亿元):123.46 亿元 主力资金流向: - 主力资金流向:9876543210 元 - 主力资金流向(亿元):98.77 亿元 - 主力资金占比:80.00% 区间涨跌幅: - 近20日涨跌幅:15.23% ``` ## 故障排查 ### 常见问题 #### 1. 提示 "'dict' object has no attribute 'empty'" **原因**:pywencai.get() 返回了字典而不是DataFrame **解决方案**:已在最新版本中修复,代码会自动检测返回类型并处理 #### 2. 提示 "问财查询返回None" **原因**: - 网络连接问题 - 问财服务暂时不可用 - 查询语句不符合问财格式 **解决方案**: - 检查网络连接 - 稍后重试 - 查看控制台输出的详细错误信息 #### 3. 提示 "未能获取问财资金流向数据" **原因**: - 系统未安装node.js,需要node版本>16 - 问财API访问限制 - 股票代码不存在或停牌 - 数据暂时不可用 **解决方案**: - 系统会自动降级到技术指标分析 - 不影响其他分析功能 - 可以尝试其他股票代码 ### 测试脚本 使用测试脚本快速验证功能: ```bash python test_fund_flow.py ``` 测试脚本会: 1. 测试多只股票的资金流向数据获取 2. 显示详细的调试信息 3. 打印完整的返回数据 ### 调试信息 运行时会输出以下调试信息: ``` 正在使用问财查询资金流向数据: 002241近20个交易日区间资金流向、区间主力资金流向、区间涨跌幅 问财返回的数据类型: 问财返回DataFrame,形状: (1, 10) 问财返回的列名: ['股票代码', '股票简称', '区间资金流向', ...] 找到的列名 - 资金流向: 区间资金流向, 主力资金: 区间主力资金流向, 涨跌幅: 区间涨跌幅 成功获取 002241 的资金流向数据 ``` ### 版本兼容性 - **pywencai >= 0.7.0**:支持最新的问财API - **pandas >= 2.0.3**:数据处理 - **Python >= 3.8**:推荐使用Python 3.10+ ## 技术支持 如遇到问题,可: 1. **查看日志**:运行时会在控制台输出详细的调试信息 2. **运行测试脚本**:使用 `test_fund_flow.py` 独立测试 3. **检查依赖**:确保 pywencai 版本正确 4. **网络检查**:确保可以访问同花顺问财 5. **股票代码**:确认是6位数字的A股代码 ## 未来优化方向 1. 支持更多时间周期的资金流向数据 2. 增加资金流向的可视化图表 3. 支持资金流向的历史趋势分析 4. 尝试集成其他数据源(如东方财富) 5. 探索美股资金流向数据来源 ## 更新日期 2025年10月6日 ## 作者 AI股票分析系统开发团队