# 📊 分析师数据获取配置指南

## 📋 概述

TradingAgents-CN 支持为不同类型的分析师配置不同的数据获取范围，以优化性能和分析质量。

---

## 🎯 配置参数

### 1. 市场分析师数据范围

**配置项**：`MARKET_ANALYST_LOOKBACK_DAYS`

**默认值**：30天

**用途**：
- 技术指标计算（MA、MACD、RSI、布林带等）
- 价格趋势分析
- 成交量分析
- 支撑位/阻力位识别

**推荐值**：
- **快速分析**：10-15天（基础技术指标：MA5, MA10）
- **标准分析**：30天（推荐，覆盖月线分析：MA20, MACD, RSI, BOLL）
- **深度分析**：60-90天（季度分析：MA60, 更准确的技术指标）⭐ **推荐用于技术分析**
- **全面分析**：180-365天（半年/年度分析）

**配置示例**：
```bash
# .env 文件
MARKET_ANALYST_LOOKBACK_DAYS=30
```

---

### 2. 基本面分析师数据范围

**策略**：固定获取10天数据，分析最近2天

**说明**：
- **获取10天数据**：保证能拿到数据（处理周末/节假日/数据延迟）
- **分析最近2天**：只使用最近2天数据参与分析（仅需当前价格）
- **无需配置**：代码内部已优化，自动处理

**用途**：
- 获取当前股价
- 计算市盈率、市净率等估值指标
- 财务数据分析（不依赖历史价格）

**为什么这样设计**：
- ✅ 获取10天数据：确保在周末/节假日也能拿到最新交易日数据
- ✅ 只分析2天：基本面分析只需要当前价格，不需要历史趋势
- ✅ 自动优化：用户无需关心配置，系统自动处理

---

## 📊 配置对比

| 分析师类型 | 数据获取 | 数据分析 | 是否可配置 | 数据用途 |
|-----------|---------|---------|-----------|---------|
| **市场分析师** | 30天（可配置） | 全部数据 | ✅ 是 | 技术指标、趋势分析 |
| **基本面分析师** | 10天（固定） | 最近2天 | ❌ 否 | 当前价格、估值指标 |

---

## 🚀 使用场景

### 场景 1：快速分析（2-4分钟）

```bash
# 市场分析：10天（基础技术指标）
MARKET_ANALYST_LOOKBACK_DAYS=10

# 基本面分析：自动优化（获取10天，分析2天）
```

**特点**：
- ✅ 分析速度快
- ✅ 数据量小
- ⚠️ 技术指标可能不够准确

---

### 场景 2：标准分析（6-10分钟）

```bash
# 市场分析：30天（月线分析）
MARKET_ANALYST_LOOKBACK_DAYS=30

# 基本面分析：自动优化（获取10天，分析2天）
```

**特点**：
- ✅ 平衡速度和质量
- ✅ 覆盖月线分析（MA20, MACD, RSI, BOLL）
- ⚠️ 无法计算MA60（需要60天数据）
- ✅ 适合日常快速分析

---

### 场景 3：深度分析（10-15分钟，推荐用于技术分析）⭐

```bash
# 市场分析：60-90天（季度分析）
MARKET_ANALYST_LOOKBACK_DAYS=60

# 基本面分析：自动优化（获取10天，分析2天）
```

**特点**：
- ✅ 更全面的技术分析
- ✅ 覆盖所有常用技术指标（MA5/10/20/60, MACD, RSI, BOLL）
- ✅ 技术指标更准确
- ✅ **推荐用于专业技术分析**
- ⚠️ 分析时间较长

---

### 场景 4：全面分析（15-25分钟）

```bash
# 市场分析：180天（半年分析）
MARKET_ANALYST_LOOKBACK_DAYS=180

# 基本面分析：自动优化（获取10天，分析2天）
```

**特点**：
- ✅ 最全面的技术分析
- ✅ 覆盖半年趋势
- ⚠️ 分析时间最长

---

## ⚙️ 配置方法

### 方法 1：环境变量（推荐）

编辑 `.env` 文件：

```bash
# 市场分析数据获取配置
MARKET_ANALYST_LOOKBACK_DAYS=30

# 基本面分析：无需配置（自动优化）
```

### 方法 2：Docker 环境

编辑 `.env.docker` 文件：

```bash
# 市场分析数据获取配置
MARKET_ANALYST_LOOKBACK_DAYS=30

# 基本面分析：无需配置（自动优化）
```

### 方法 3：Docker Compose

在 `docker-compose.yml` 中设置：

```yaml
services:
  backend:
    environment:
      - MARKET_ANALYST_LOOKBACK_DAYS=30
      # 基本面分析：无需配置（自动优化）
```

---

## 📈 性能影响

### 数据量对比

| 回溯天数 | 数据量 | 处理时间 | API 调用 |
|---------|--------|---------|---------|
| 10天 | ~10条 | 快 ⚡ | 少 |
| 30天 | ~30条 | 中等 ⚡⚡ | 中等 |
| 90天 | ~90条 | 较慢 ⚡⚡⚡ | 较多 |
| 180天 | ~180条 | 慢 ⚡⚡⚡⚡ | 多 |

### 技术指标准确性

| 回溯天数 | MA20 | MA60 | MACD | RSI | 布林带 |
|---------|------|------|------|-----|--------|
| 10天 | ❌ | ❌ | ⚠️ | ✅ | ❌ |
| 30天 | ✅ | ⚠️ | ✅ | ✅ | ✅ |
| 90天 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 180天 | ✅ | ✅ | ✅ | ✅ | ✅ |

**说明**：
- ✅ 准确：有足够数据计算
- ⚠️ 部分准确：数据不足但可计算
- ❌ 不准确：数据不足，无法计算

---

## 🔍 技术指标所需天数

| 技术指标 | 最少天数 | 推荐天数 | 说明 |
|---------|---------|---------|------|
| **MA5** | 5天 | 10天 | 5日均线 |
| **MA10** | 10天 | 15天 | 10日均线 |
| **MA20** | 20天 | 30天 | 20日均线（月线） |
| **MA60** | 60天 | 90天 | 60日均线（季线） |
| **MACD** | 26天 | 40天 | 需要26日EMA |
| **RSI** | 14天 | 20天 | 相对强弱指标 |
| **布林带** | 20天 | 30天 | 基于20日MA |
| **KDJ** | 9天 | 15天 | 随机指标 |

---

## 💡 最佳实践

### 1. 根据分析级别调整

```bash
# 快速分析（基础指标）
MARKET_ANALYST_LOOKBACK_DAYS=10

# 标准分析（日常使用）
MARKET_ANALYST_LOOKBACK_DAYS=30

# 深度分析（推荐用于技术分析）⭐
MARKET_ANALYST_LOOKBACK_DAYS=60

# 全面分析（长期趋势）
MARKET_ANALYST_LOOKBACK_DAYS=90
```

### 2. 基本面分析自动优化

```bash
# 基本面分析已自动优化，无需配置
# 系统自动：获取10天数据，分析最近2天
```

### 3. 监控性能

```bash
# 如果分析时间过长，减少回溯天数
MARKET_ANALYST_LOOKBACK_DAYS=20

# 如果技术指标不准确，增加回溯天数
MARKET_ANALYST_LOOKBACK_DAYS=40
```

---

## 🆘 常见问题

### Q1: 为什么市场分析需要30天数据？

**A**: 
- 计算MA20（20日均线）需要至少20天数据
- 计算MACD需要26天数据
- 30天可以覆盖大部分常用技术指标

### Q2: 为什么基本面分析获取10天数据但只分析2天？

**A**:
- **获取10天**：保证能拿到数据（处理周末/节假日/数据延迟）
- **分析2天**：基本面分析主要依赖财务数据（PE、PB、ROE等），只需要当前股价
- **自动优化**：系统自动处理，用户无需配置

### Q3: 如何选择合适的回溯天数？

**A**:
- **快速分析**：10-15天
- **日常使用**：30天（推荐）
- **深度研究**：60-90天
- **长期投资**：180-365天

### Q4: 修改配置后需要重启吗？

**A**:
- ✅ 需要重启后端服务
- ✅ Docker 部署需要重启容器

### Q5: 配置过大会有什么影响？

**A**:
- ⚠️ 分析时间变长
- ⚠️ API 调用增多
- ⚠️ 可能触发频率限制
- ⚠️ 内存占用增加

---

## 📚 相关文档

- [配置管理指南](./configuration/config-guide.md)
- [分析师节点说明](./analysis/analysis-nodes-and-tools.md)
- [数据源配置](./integration/data-sources/DATA_SOURCE_LOGGING.md)

---

**最后更新**：2025-10-24

