304 lines
7.7 KiB
Markdown
304 lines
7.7 KiB
Markdown
# 资金流向功能集成说明
|
||
|
||
## 概述
|
||
|
||
本次更新成功引入了 `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个交易日区间资金流向、区间主力资金流向、区间涨跌幅
|
||
问财返回的数据类型: <class 'dict'> 或 <class 'pandas.DataFrame'>
|
||
问财返回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股票分析系统开发团队
|
||
|