Files
aiagents-stock/资金流向功能说明_v2.md
T
2025-10-06 10:30:22 +08:00

317 lines
8.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 资金流向功能说明 v2.0
## 🎯 设计理念(重大改进)
### v2.0 的核心改变
**从"手动提取"到"AI智能分析"**
-**旧方法**:代码硬编码提取特定字段(区间资金流向、主力资金流向等)
-**新方法**:将问财返回的**所有原始数据**直接喂给AI,让AI自己识别、提取和分析
### 为什么这样更好?
1. **更简单**:不需要手动匹配列名,代码更简洁
2. **更灵活**:问财字段变化时不需要修改代码
3. **更智能**AI可以发现我们没想到的数据关联
4. **更全面**:不会遗漏任何有价值的数据
5. **更强大**AI能理解数据的深层含义和相互关系
## 📊 工作流程
```
问财查询 → 获取所有原始数据 → 格式化为易读文本 → 喂给AI分析师 → 生成专业报告
```
### 详细流程
1. **查询问财**
- 问句:`{股票代码}近20个交易日区间资金流向、区间主力资金流向、区间涨跌幅`
- 返回:DataFrame 或 字典
2. **数据处理**`stock_data.py`
- 统一转换为 DataFrame
- 提取所有字段和数值
- 大数字自动转换为亿元显示
- 保存为易读的字典格式
3. **数据传递**`ai_agents.py`
- 将原始数据传递给资金面分析师
- 不做任何过滤或筛选
4. **AI分析**`deepseek_client.py`
- AI收到所有问财数据
- AI自己识别关键字段
- AI自己提取数值
- AI自己计算比例关系
- AI基于实际数据生成分析报告
## 🔧 代码改动说明
### 1. stock_data.py - 简化数据获取
```python
def get_fund_flow_data(self, symbol):
"""获取问财数据 - 返回所有原始数据"""
# 查询问财
result = pywencai.get(query=query, loop=True)
# 转换为DataFrame
df_result = pd.DataFrame([result]) if isinstance(result, dict) else result
# 提取所有数据
raw_data_dict = {}
for col in df_result.columns:
value = data.get(col)
# 大数字转换为亿元便于阅读
if abs(value) > 100000000:
raw_data_dict[col] = f"{value} ({value/100000000:.2f}亿元)"
else:
raw_data_dict[col] = value
# 返回所有原始数据
return {
"query_success": True,
"raw_data": raw_data_dict,
"columns": df_result.columns.tolist()
}
```
**关键点**
- ✅ 不手动提取特定字段
- ✅ 保留所有问财返回的数据
- ✅ 只做格式化,不做数据筛选
### 2. deepseek_client.py - AI智能分析
```python
def fund_flow_analysis(self, stock_info, indicators, fund_flow_data):
"""资金面分析 - 让AI自己分析所有数据"""
# 构建包含所有原始数据的提示词
raw_data = fund_flow_data.get('raw_data', {})
fund_flow_section = "\n【问财资金流向完整数据】\n"
for key, value in raw_data.items():
fund_flow_section += f"- {key}: {value}\n"
prompt = f"""
你是资金面分析师。
以下是问财返回的所有数据:
{fund_flow_section}
请你:
1. 自己识别哪些是资金流向字段
2. 自己提取关键数值
3. 自己计算占比和关系
4. 基于实际数据进行分析
给出专业的资金面分析报告。
"""
```
**关键点**
- ✅ 将所有数据都给AI
- ✅ 明确要求AI自己提取和分析
- ✅ 强调基于实际数据而非假设
## 💡 使用示例
### 问财返回的数据示例
```
【问财资金流向完整数据(近20个交易日)】
数据来源:同花顺问财
股票名称:歌尔股份
股票代码:002241
- 近20个交易日区间资金流向[20240101]: 12345678900 (123.46亿元)
- 近20个交易日区间主力资金流向[20240101]: 9876543210 (98.77亿元)
- 近20个交易日区间涨跌幅[20240101]: 15.23
- 近20个交易日区间大单净流入[20240101]: 5000000000 (50.00亿元)
- 近20个交易日区间中单净流入[20240101]: 2000000000 (20.00亿元)
- 近20个交易日区间小单净流入[20240101]: -3000000000 (-30.00亿元)
- 近20个交易日区间换手率[20240101]: 45.6
...(所有其他字段)
以上是问财返回的所有资金流向相关数据,请仔细分析这些数据的含义和相互关系。
```
### AI分析师的工作
AI会自动:
1. 识别出"区间资金流向"、"主力资金流向"等关键字段
2. 提取数值并注意单位(亿元)
3. 计算主力资金占比 = 98.77 / 123.46 = 80%
4. 分析大单、中单、小单的分布
5. 结合涨跌幅判断资金效率
6. 给出主力行为判断(吸筹/派发/洗盘等)
## ✅ 优势总结
### 技术优势
1. **代码简洁**
- 数据获取逻辑从 ~200行 减少到 ~100行
- 不需要维护字段映射表
- 不需要处理列名变化
2. **容错性强**
- 问财字段名变化?没关系,AI会自己找
- 新增字段?自动包含在分析中
- 缺失字段?AI会注意到并说明
3. **扩展性好**
- 要分析更多维度?直接改查询语句
- 要调整分析角度?修改AI提示词
- 要支持新数据源?只需统一格式
### 分析优势
1. **更全面**
- 不会遗漏任何字段
- AI能发现数据间的隐藏关联
- 可以分析我们没想到的角度
2. **更智能**
- AI理解数据的业务含义
- 自动识别异常值
- 能做出逻辑推理
3. **更灵活**
- 不同股票可能有不同字段,AI都能处理
- 可以根据实际数据调整分析重点
- 能适应各种数据格式
## 🧪 测试方法
### 运行测试脚本
```bash
python test_fund_flow.py
```
### 预期输出
```
正在使用问财查询资金流向数据: 002241近20个交易日区间资金流向、区间主力资金流向、区间涨跌幅
问财返回的数据类型: <class 'dict'>
问财返回字典,转换为DataFrame
成功转换,形状: (1, 25)
问财返回的列名: ['股票代码', '股票简称', '近20个交易日区间资金流向[20240101]', ...]
成功获取 002241 的问财数据,共 23 个字段
✅ 成功获取问财数据
【基本信息】
股票简称: 歌尔股份
股票代码: 002241
数据字段数量: 23 个
【问财返回的所有字段】
1. 股票代码
2. 股票简称
3. 近20个交易日区间资金流向[20240101]
4. 近20个交易日区间主力资金流向[20240101]
5. 近20个交易日区间涨跌幅[20240101]
...
【问财原始数据】
近20个交易日区间资金流向[20240101]: 12345678900 (123.46亿元)
近20个交易日区间主力资金流向[20240101]: 9876543210 (98.77亿元)
近20个交易日区间涨跌幅[20240101]: 15.23
...
```
## 🎯 最佳实践
### 查询语句优化
可以根据需要调整问财查询语句,获取更多数据:
```python
# 基础查询
query = f"{symbol}近20个交易日区间资金流向、区间主力资金流向、区间涨跌幅"
# 扩展查询(获取更多维度)
query = f"{symbol}近20个交易日区间资金流向、区间主力资金流向、区间大单净流入、区间中单净流入、区间小单净流入、区间换手率、区间涨跌幅"
```
AI会自动分析所有返回的字段!
### AI提示词优化
如果需要特别关注某些方面,可以在提示词中强调:
```python
prompt = f"""
{fund_flow_section}
请特别关注:
1. 主力资金的进出节奏
2. 大单与中小单的博弈
3. 资金流向与股价的背离情况
基于以上数据进行深度分析...
"""
```
## 🔄 版本对比
| 特性 | v1.0(手动提取) | v2.0AI智能) |
|------|----------------|----------------|
| 代码行数 | ~200行 | ~100行 |
| 字段匹配 | 硬编码 | AI自动识别 |
| 列名变化 | 需修改代码 | 无需修改 |
| 新增字段 | 需添加代码 | 自动包含 |
| 分析深度 | 预定义 | AI自主判断 |
| 容错能力 | 弱 | 强 |
| 扩展性 | 差 | 好 |
## 📝 注意事项
1. **数据质量依赖问财**
- 如果问财返回数据不完整,AI会指出缺失
- 如果问财数据异常,AI会识别并说明
2. **AI理解能力**
- 使用 DeepSeek 等高质量模型效果更好
- 提示词要明确,避免AI假设数据
3. **数据格式**
- 大数字自动转为亿元显示,便于AI理解
- 保留原始数值供AI精确计算
## 🚀 未来优化方向
1. **多时间周期**
- 同时获取5日、10日、20日数据
- AI分析资金流向的时间趋势
2. **数据对比**
- 与同行业股票对比
- 与大盘资金流向对比
3. **可视化**
- 生成资金流向图表
- AI基于图表进行分析
4. **实时监控**
- 定期查询资金流向
- AI识别异常资金变化
## 更新日期
2025年10月6日 - v2.0
## 作者
AI股票分析系统开发团队
---
**结论**v2.0 通过"让AI自己分析"的设计理念,实现了更简单、更智能、更强大的资金面分析功能!🎉