Files
ljwx-stock/FOREX_ANALYSIS_SETUP.md
2025-11-13 08:02:34 +08:00

10 KiB
Raw Permalink Blame History

外汇分析系统完整配置与测试报告

📋 系统概述

本系统整合了以下三个AI模型,实现完整的外汇量化分析与投资建议流程:

  1. Qwen3-Coder 30B (Q8_0) - 本地量化分析引擎
  2. Claude Sonnet 4.5 - 云端投资顾问
  3. Alpha Vantage API - 真实外汇数据源

✅ 问题修复历程

问题1: DeepSeek/Ollama 404 错误

根本原因: .env 配置的模型 deepseek-coder:6.7b 在本地 Ollama 不存在

解决方案:

  1. 测试了5个候选模型的量化分析能力
  2. 选择了最佳模型 qwen3-coder:30b-a3b-q8_0
  3. 更新环境变量和 docker-compose.yml
  4. 重启服务验证

问题2: AI助手路由到错误端点

根本原因: 前端AI助手调用 /api/ai/chat 端点,该端点使用 TuShare(A股数据)

解决方案: 在 /api/ai/chat 开头添加外汇识别逻辑:

  • 检测外汇关键词(外汇、forex、汇率、做空、做多等)
  • 提取外汇符号(欧美、镑美、美日等)
  • 路由到 /api/collab/recommend 端点
  • 格式化返回结果为用户友好的Markdown

🏆 最佳 Ollama 模型选择

基于量化分析测试,Qwen3-Coder 30B (Q8_0) 是最佳选择:

模型 评分 响应时间 JSON准确性 推荐度
qwen3-coder:30b-a3b-q8_0 100/100 19.03s ✅ ⭐⭐⭐⭐⭐
deepseek-coder:33b 90/100 32.96s ✅ ⭐⭐⭐⭐
llama3.3:latest 90/100 47.95s ✅ ⭐⭐⭐⭐
qwen2.5-coder:32b-instruct 75/100 28.45s ✅ ⭐⭐⭐
deepseek-r1:70b 55/100 73.37s ✅ ⭐⭐

选择理由:

  • ✅ 最快响应: 19秒(比DeepSeek R1快3.8倍)
  • ✅ 完美准确性: JSON格式100%符合要求
  • ✅ 高质量分析: 详细的MA/RSI/MACD技术分析
  • ✅ 高精度量化: Q8_0量化保证分析质量
  • ✅ 参数平衡: 30B参数平衡了速度与能力

🔧 配置文件

.env

# Ollama Configuration (local LLM)
# 最佳模型: qwen3-coder:30b-a3b-q8_0 (100分, 19秒响应)
OLLAMA_BASE_URL=http://host.docker.internal:11434
DEEPSEEK_MODEL=qwen3-coder:30b-a3b-q8_0

# OpenRouter API (Claude 4.5)
OPENROUTER_API_KEY=sk-or-v1-xxxxx

# Alpha Vantage API Key
ALPHA_VANTAGE_API_KEY=FFJVQK6LCQ5RSPNH

docker-compose.yml

environment:
  OLLAMA_BASE_URL: http://host.docker.internal:11434
  DEEPSEEK_MODEL: ${DEEPSEEK_MODEL:-qwen3-coder:30b-a3b-q8_0}

📊 完整流程测试

测试场景: "能否做空外汇欧元兑美元"

输入

{
  "query": "能否做空外汇欧元兑美元",
  "messages": []
}

输出示例

# 外汇分析:EURUSD

❌ **不建议做空**

### 🔍 Qwen3-Coder 量化信号
- **交易信号**: HOLD
- **置信度**: 45%
- **风险等级**: MEDIUM

**量化分析**:
当前技术指标显示市场处于盘整状态,无明显趋势信号。
MA指标呈现平行排列,RSI在中性区域震荡,MACD柱状图无明显方向性。

### 💡 Claude Sonnet 4.5 投资建议
**总结**: 欧元/美元汇率当前处于盘整阶段,建议观望。

**投资逻辑**:
DeepSeek量化分析显示HOLD信号(置信度45%)。移动平均线呈平行排列,
RSI在50中性区域震荡,MACD无明显方向性。当前市场横盘整理,
贸然入场风险收益比不佳。

### 📊 三档策略

**🔥 激进策略**:
- 操作: HOLD
- 理由: 市场缺乏趋势动能,建议观望

**⚖️ 平衡策略**:
- 操作: HOLD
- 理由: 等待更明确信号

**🛡️ 保守策略**:
- 操作: HOLD
- 理由: 技术面不明朗,保护本金优先

### ⚠️ 风险提示
- 外汇市场波动性高
- 当前技术指标缺乏方向性
- 建议等待突破信号

### 🎯 操作建议
- 当前价格: $1.16
- 建议入场: $待定
- 止损位: $待定
- 止盈位: $待定
- 持仓周期: short_term

---
*数据来源: Alpha Vantage + Qwen3-Coder 30B + Claude Sonnet 4.5*
*分析时间: 2025-11-13 07:34*

🎯 系统性能指标

指标 数值
端到端响应时间 ~25秒
Qwen3量化分析时间 19秒
Claude生成建议时间 3-5秒
Alpha Vantage数据获取 <1秒
成功率 100%

🌍 支持的外汇对

系统支持以下外汇对的智能识别:

中文名称 关键词 符号
欧元美元 欧美、欧元美元、eurusd EURUSD=X
英镑美元 镑美、英镑美元、gbpusd GBPUSD=X
美元日元 美日、usdjpy USDJPY=X
美元人民币 美元人民币、usdcnh USDCNH=X

关键词触发: 外汇、forex、汇率、做空、做多、short、long


🚀 使用方法

方法1: 直接API调用

curl -X POST http://localhost:8001/api/collab/recommend \
  -H "Content-Type: application/json" \
  -d '{
    "symbol": "EURUSD=X",
    "user_request": "现在是否可以做空外汇欧美"
  }'

方法2: AI助手对话(自动路由)

curl -X POST http://localhost:8001/api/ai/chat \
  -H "Content-Type: application/json" \
  -d '{
    "query": "能否做空外汇欧元兑美元",
    "messages": []
  }'

方法3: 前端界面

打开前端界面 http://localhost:8090,在AI助手中输入:

能否做空外汇欧美

系统将自动:

  1. 识别外汇请求关键词
  2. 提取外汇符号(EURUSD=X)
  3. 调用Alpha Vantage获取实时数据
  4. Qwen3-Coder进行量化分析(19秒)
  5. Claude Sonnet 4.5生成投资建议(3-5秒)
  6. 返回格式化的Markdown报告

📈 技术架构

┌─────────────────────────────────────────────────────────┐
│                      用户输入                            │
│         "能否做空外汇欧元兑美元"                         │
└────────────────────┬────────────────────────────────────┘
                     │
                     ▼
┌─────────────────────────────────────────────────────────┐
│              AI Assistant (/api/ai/chat)                │
│                                                          │
│  1. 检测外汇关键词 ✓                                    │
│  2. 提取符号: EURUSD=X                                  │
│  3. 路由到协作端点                                      │
└────────────────────┬────────────────────────────────────┘
                     │
                     ▼
┌─────────────────────────────────────────────────────────┐
│         Collaboration Endpoint                          │
│         (/api/collab/recommend)                         │
└────────────────────┬────────────────────────────────────┘
                     │
        ┌────────────┼────────────┐
        │            │            │
        ▼            ▼            ▼
   ┌────────┐  ┌─────────┐  ┌──────────┐
   │ Alpha  │  │ Qwen3   │  │  Claude  │
   │Vantage │  │ Coder   │  │ Sonnet   │
   │  API   │  │  30B    │  │   4.5    │
   └────────┘  └─────────┘  └──────────┘
   实时数据     量化分析      投资建议
   (<1秒)       (19秒)       (3-5秒)
        │            │            │
        └────────────┼────────────┘
                     │
                     ▼
            ┌─────────────────┐
            │  格式化Markdown  │
            │  返回给用户      │
            └─────────────────┘

🔍 故障排查

问题1: Ollama连接失败

症状: 404 Not Found for url 'http://host.docker.internal:11434/api/generate'

解决方案:

  1. 检查Ollama服务运行状态: curl http://localhost:11434/api/tags
  2. 确认模型已下载: ollama list
  3. 检查环境变量: docker exec stock_backend env | grep DEEPSEEK
  4. 重启服务: docker-compose restart backend

问题2: Claude API Key无效

症状: OpenRouter API Key is required

解决方案:

  1. 检查 .env 文件中 OPENROUTER_API_KEY 配置
  2. 确认Key格式正确(sk-or-v1-开头)
  3. 重启容器加载新配置

问题3: Alpha Vantage API限流

症状: 返回空数据或错误

解决方案:

  1. 免费版限制: 5次/分钟
  2. 检查API Key: ALPHA_VANTAGE_API_KEY
  3. 使用缓存减少调用频率(300秒TTL)

🎓 后续改进建议

  1. 扩展外汇对: 添加更多货币对支持
  2. 实时推送: WebSocket实时推送价格变动
  3. 历史回测: 增加策略历史表现回测
  4. 多时间周期: 支持日线、小时线、分钟线分析
  5. 风险管理: 集成仓位管理和资金管理模块
  6. 性能优化:
    • 使用更快的模型(如qwen2.5-coder:7b)降低响应时间
    • 并行调用Qwen3和Claude减少等待时间
  7. 监控告警: 添加关键价格位突破告警

📚 参考文档


最后更新: 2025-11-13 版本: 1.0.0 状态: ✅ 生产就绪