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

8.8 KiB
Raw Blame History

资金流向功能说明 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 - 简化数据获取

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智能分析

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都能处理
    • 可以根据实际数据调整分析重点
    • 能适应各种数据格式

🧪 测试方法

运行测试脚本

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
  ...

🎯 最佳实践

查询语句优化

可以根据需要调整问财查询语句,获取更多数据:

# 基础查询
query = f"{symbol}近20个交易日区间资金流向、区间主力资金流向、区间涨跌幅"

# 扩展查询(获取更多维度)
query = f"{symbol}近20个交易日区间资金流向、区间主力资金流向、区间大单净流入、区间中单净流入、区间小单净流入、区间换手率、区间涨跌幅"

AI会自动分析所有返回的字段!

AI提示词优化

如果需要特别关注某些方面,可以在提示词中强调:

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自己分析"的设计理念,实现了更简单、更智能、更强大的资金面分析功能!🎉