# 股票企业画像 API 文档

这个 API 提供了基于企业画像筛选股票的功能。

## 基础信息

- 基础 URL: `http://localhost:5000/api`
- 所有响应均为 JSON 格式

## 接口列表

### 1. 健康检查

检查 API 服务是否正常运行。

- **URL**: `/health`
- **方法**: `GET`
- **响应示例**:
  ```json
  {
    "status": "ok",
    "message": "Service is running"
  }
  ```

### 2. 获取企业画像类型列表

获取所有可用的企业画像筛选类型。

- **URL**: `/stock_profiles`
- **方法**: `GET`
- **响应示例**:
  ```json
  {
    "profiles": [
      {"id": 1, "name": "高成长潜力企业", "method": "high_growth"},
      {"id": 2, "name": "稳定型龙头企业", "method": "stable_leaders"},
      // ... 其他画像类型
    ]
  }
  ```

### 3. 根据企业画像类型筛选股票

根据预定义的企业画像类型筛选股票。

- **URL**: `/screen/{profile_type}`
- **方法**: `GET`
- **参数**:
  - `profile_type`: 企业画像类型，对应企业画像列表中的 `method` 字段
- **可用的 profile_type 值**:
  - `high_growth`: 高成长潜力企业
  - `stable_leaders`: 稳定型龙头企业
  - `short_term`: 短期投资机会
  - `value_investment`: 价值型投资标的
  - `turnaround`: 困境反转机会
  - `risk_averse`: 风险规避标的
  - `innovation_driven`: 创新驱动型企业
  - `industry_integration`: 行业整合机会
  - `recommended`: 推荐投资企业
- **响应示例**:
  ```json
  {
    "status": "success",
    "profile_type": "recommended",
    "count": 2,
    "stocks": [
      {"code": "000001", "name": "平安银行"},
      {"code": "600000", "name": "浦发银行"}
    ]
  }
  ```

### 4. 自定义条件筛选股票

使用自定义条件筛选股票。

- **URL**: `/screen/custom`
- **方法**: `POST`
- **请求体**:
  ```json
  {
    "conditions": [
      {
        "dimension": "industry_competition",
        "field": "industry_space",
        "operator": "=",
        "value": 2
      },
      {
        "dimension": "financial_report",
        "field": "financial_report_level",
        "operator": ">=",
        "value": 1
      }
    ]
  }
  ```
- **条件字段说明**:
  - `dimension`: 分析维度（例如：`industry_competition`, `financial_report`等）
  - `field`: 维度中的字段名（例如：`industry_space`, `financial_report_level`等）
  - `operator`: 操作符（`=`, `!=`, `>=`, `<=`, `>`, `<`, `in`）
  - `value`: 比较值
  - `required`: 是否必须满足（默认为`true`）
- **响应示例**:
  ```json
  {
    "status": "success",
    "count": 3,
    "stocks": [
      {"code": "000001", "name": "平安银行"},
      {"code": "600000", "name": "浦发银行"},
      {"code": "601288", "name": "农业银行"}
    ]
  }
  ```

### 5. 获取推荐投资企业

获取符合推荐投资条件（第9个企业画像）的企业列表。

- **URL**: `/recommended_stocks`
- **方法**: `GET`
- **响应示例**:
  ```json
  {
    "status": "success",
    "count": 2,
    "stocks": [
      {"code": "603690", "name": "至纯科技"},
      {"code": "688053", "name": "思科瑞"}
    ]
  }
  ```

### 6. 批量生成股票投资报告

为指定的股票列表生成PDF投资报告。

- **URL**: `/generate_reports`
- **方法**: `POST`
- **请求体**:
  ```json
  {
    "stocks": [
      ["603690", "至纯科技"],
      ["688053", "思科瑞"],
      ["300750", "宁德时代"]
    ]
  }
  ```
- **响应示例**:
  ```json
  {
    "status": "success",
    "message": "处理了 3 个股票的报告生成请求",
    "reports": [
      {
        "code": "603690",
        "name": "至纯科技",
        "report_path": "/path/to/603690_report.pdf",
        "status": "success"
      },
      {
        "code": "688053",
        "name": "思科瑞",
        "report_path": "/path/to/688053_report.pdf",
        "status": "success"
      },
      {
        "code": "300750",
        "name": "宁德时代",
        "status": "error",
        "error": "数据获取失败"
      }
    ]
  }
  ```

### 7. 分析股票列表并推荐投资企业

分析指定的股票列表，为每个股票生成投资建议，并筛选出符合推荐投资条件的企业。

- **URL**: `/analyze_and_recommend`
- **方法**: `POST`
- **请求体**:
  ```json
  {
    "stocks": [
      ["603690", "至纯科技"],
      ["688053", "思科瑞"],
      ["300750", "宁德时代"]
    ]
  }
  ```
- **响应示例**:
  ```json
  {
    "status": "success",
    "total_input_stocks": 3,
    "investment_advices": [
      {
        "code": "603690",
        "name": "至纯科技",
        "advice": "中期持有...",
        "reasoning": "基于行业前景...",
        "references": [...],
        "status": "success"
      },
      {
        "code": "688053",
        "name": "思科瑞",
        "advice": "短期关注...",
        "reasoning": "考虑到公司近期...",
        "references": [...],
        "status": "success"
      },
      {
        "code": "300750",
        "name": "宁德时代",
        "status": "error",
        "error": "数据获取失败"
      }
    ],
    "recommended_stocks": {
      "count": 1,
      "stocks": [
        {"code": "688053", "name": "思科瑞"}
      ]
    }
  }
  ```

### 8. 综合分析接口 - 组合多种功能和参数

综合接口，可以组合不同的功能和参数，包括股票列表、是否生成PDF以及企业画像筛选参数。

- **URL**: `/comprehensive_analysis`
- **方法**: `POST`
- **请求体**:
  ```json
  {
    "stocks": [
      ["603690", "至纯科技"],
      ["688053", "思科瑞"],
      ["300750", "宁德时代"]
    ],
    "generate_pdf": false,
    "profile_filter": {
      "type": "recommended"  // 使用预定义画像
    }
  }
  ```
  
  或者使用自定义筛选条件:
  
  ```json
  {
    "stocks": [
      ["603690", "至纯科技"],
      ["688053", "思科瑞"],
      ["300750", "宁德时代"]
    ],
    "generate_pdf": false,
    "profile_filter": {
      "type": "custom",
      "conditions": [
        {
          "dimension": "financial_report",
          "field": "financial_report_level",
          "operator": ">=",
          "value": 1
        },
        {
          "dimension": "industry_competition",
          "field": "industry_space",
          "operator": "=",
          "value": 2
        }
      ]
    }
  }
  ```

- **参数说明**:
  - `stocks`: 股票列表，每个股票为 [代码, 名称] 格式
  - `generate_pdf`: 是否生成PDF报告，布尔值 (true/false)
  - `profile_filter`: 企业画像筛选条件，可选
    - `type`: 筛选类型，可以是预定义画像名称或 "custom"
      - 预定义画像: `high_growth`, `stable_leaders`, `short_term`, `value_investment`, `turnaround`, `risk_averse`, `innovation_driven`, `industry_integration`, `recommended`
      - 自定义条件: `custom`
    - `conditions`: 当 type="custom" 时的自定义筛选条件数组
      - `dimension`: 分析维度
      - `field`: 字段名
      - `operator`: 操作符 ('=', '!=', '>=', '<=', '>', '<', 'in')
      - `value`: 比较值

- **响应示例**:
  ```json
  {
    "status": "success",
    "total_input_stocks": 3,
    "investment_advices": [
      {
        "code": "603690",
        "name": "至纯科技",
        "advice": "中期持有...",
        "reasoning": "基于行业前景...",
        "references": [...],
        "status": "success"
      },
      {
        "code": "688053",
        "name": "思科瑞",
        "advice": "短期关注...",
        "reasoning": "考虑到公司近期...",
        "references": [...],
        "status": "success"
      },
      {
        "code": "300750",
        "name": "宁德时代",
        "status": "error",
        "error": "数据获取失败"
      }
    ],
    "filtered_stocks": {
      "count": 1,
      "filter_type": "high_growth",
      "stocks": [
        {"code": "688053", "name": "思科瑞"}
      ]
    },
    "pdf_reports": {
      "count": 3,
      "reports": [
        {
          "code": "603690",
          "name": "至纯科技",
          "report_path": "/path/to/603690_report.pdf",
          "status": "success"
        },
        {
          "code": "688053",
          "name": "思科瑞",
          "report_path": "/path/to/688053_report.pdf",
          "status": "success"
        },
        {
          "code": "300750",
          "name": "宁德时代",
          "status": "error",
          "error": "生成PDF失败"
        }
      ]
    }
  }
  ```

### 9. 股票估值分析接口

获取股票的PE/PB估值分析数据，支持与行业和概念板块平均值的对比。

- **URL**: `/api/valuation_analysis`
- **方法**: `GET`
- **参数**:
  - `stock_code`: 股票代码（和stock_name二选一）
  - `stock_name`: 股票名称（和stock_code二选一，目前暂不支持）
  - `start_date`: 开始日期（可选，默认为2018-01-01，格式为YYYY-MM-DD）
  - `industry_name`: 行业名称（可选）
  - `concept_name`: 概念板块名称（可选）
  - `metric`: 估值指标，可选值为'pe'或'pb'，默认为'pe'
- **响应示例**:
  ```json
  {
    "status": "success",
    "data": {
      "title": {
        "text": "SH601138 工业富联 历史PE分位数分析",
        "subtext": "当前PE百分位: 27.39%"
      },
      "tooltip": {
        "trigger": "axis",
        "axisPointer": {
          "type": "cross"
        }
      },
      "legend": {
        "data": ["工业富联 PE", "外骨骼机器人概念平均PE"]
      },
      "grid": {
        "left": "3%",
        "right": "4%",
        "bottom": "3%",
        "containLabel": true
      },
      "xAxis": {
        "type": "category",
        "boundaryGap": false,
        "data": ["2023-01-01", "2023-01-02", ..., "2023-12-31"]
      },
      "yAxis": {
        "type": "value",
        "name": "PE值"
      },
      "series": [
        {
          "name": "工业富联 PE",
          "type": "line",
          "data": [15.23, 15.45, ..., 15.30],
          "markLine": {
            "data": [
              {"name": "最小值", "yAxis": 8.84},
              {"name": "最大值", "yAxis": 27.15},
              {"name": "均值", "yAxis": 18.03},
              {"name": "第一四分位数", "yAxis": 12.47},
              {"name": "第三四分位数", "yAxis": 22.35},
              {"name": "当前值", "yAxis": 15.30}
            ]
          }
        },
        {
          "name": "外骨骼机器人概念平均PE",
          "type": "line",
          "data": [["2023-01-01", 25.67], ["2023-01-02", 26.12], ..., ["2023-12-31", 28.45]],
          "lineStyle": {
            "color": "#EE6666"
          }
        }
      ],
      "percentiles": {
        "min": 8.84,
        "max": 27.15,
        "current": 15.30,
        "mean": 18.03,
        "median": 17.25,
        "q1": 12.47,
        "q3": 22.35,
        "percentile": 27.39
      },
      "concept_stats": {
        "name": "外骨骼机器人",
        "min_count": 5,
        "max_count": 8,
        "avg_count": 6.5,
        "avg_value": 26.78
      }
    }
  }
  ```

- **错误响应**:
  ```json
  {
    "status": "error",
    "message": "未找到股票 SH000001 的历史数据"
  }
  ```

#### 使用示例

##### 基本使用 - 获取单只股票PE估值分析
```bash
curl -X GET "http://localhost:5000/api/valuation_analysis?stock_code=SH601138&metric=pe"
```

##### 自定义开始日期
```bash
curl -X GET "http://localhost:5000/api/valuation_analysis?stock_code=SH601138&start_date=2022-01-01&metric=pe"
```

##### 添加行业对比
```bash
curl -X GET "http://localhost:5000/api/valuation_analysis?stock_code=SH601138&industry_name=电子设备&metric=pe"
```

##### 添加概念板块对比
```bash
curl -X GET "http://localhost:5000/api/valuation_analysis?stock_code=SH601138&concept_name=外骨骼机器人&metric=pe"
```

##### 同时对比行业和概念板块
```bash
curl -X GET "http://localhost:5000/api/valuation_analysis?stock_code=SH601138&industry_name=电子设备&concept_name=外骨骼机器人&metric=pe"
```

##### 分析PB估值
```bash
curl -X GET "http://localhost:5000/api/valuation_analysis?stock_code=SH601138&metric=pb"
```

#### 接口说明

1. 返回的数据格式完全符合ECharts的配置需求，可以直接用于前端图表展示。
2. `percentiles`对象包含了所有分位数统计信息，便于前端展示。
3. 如果提供了`industry_name`或`concept_name`，接口会返回相应的行业或概念板块平均估值数据。
4. 行业和概念板块的统计信息包含在`industry_stats`和`concept_stats`对象中，包括成分股数量和平均值等。
5. 所有的数据都已经过滤了异常值(PE/PB > 1000)，确保图表的可视化效果。

#### 前端ECharts使用示例

```javascript
// 假设已通过AJAX获取到API返回的数据，并存储在response变量中
const chartData = response.data;
const chart = echarts.init(document.getElementById('main'));
chart.setOption(chartData);
```

## 错误处理

当发生错误时，API 将返回带有错误详情的 JSON 响应：

```json
{
  "status": "error",
  "message": "错误详情"
}
```

## 使用示例

### 使用 curl 获取高成长潜力企业

```bash
curl -X GET http://localhost:5000/api/screen/high_growth
```

### 使用自定义条件筛选股票

```bash
curl -X POST http://localhost:5000/api/screen/custom \
  -H "Content-Type: application/json" \
  -d '{
    "conditions": [
      {
        "dimension": "investment_advice",
        "field": "investment_advice_type",
        "operator": "!=",
        "value": "不建议"
      }
    ]
  }'
```

### 获取推荐投资企业列表

```bash
curl -X GET http://localhost:5000/api/recommended_stocks
```

### 批量生成投资报告

```bash
curl -X POST http://localhost:5000/api/generate_reports \
  -H "Content-Type: application/json" \
  -d '{
    "stocks": [
      ["603690", "至纯科技"],
      ["688053", "思科瑞"],
      ["300750", "宁德时代"]
    ]
  }'
```

### 分析股票列表并筛选推荐投资企业

```bash
curl -X POST http://localhost:5000/api/analyze_and_recommend \
  -H "Content-Type: application/json" \
  -d '{
    "stocks": [
      ["603690", "至纯科技"],
      ["688053", "思科瑞"],
      ["300750", "宁德时代"]
    ]
  }'
```

### 综合分析 - 生成投资建议、PDF报告并筛选高成长企业

```bash
curl -X POST http://localhost:5000/api/comprehensive_analysis \
  -H "Content-Type: application/json" \
  -d '{
    "stocks": [
      ["603690", "至纯科技"],
      ["688053", "思科瑞"],
      ["300750", "宁德时代"]
    ],
    "generate_pdf": true,
    "profile_filter": {
      "type": "recommended"
    }
  }'
```

接口文档说明：
# 综合分析接口文档

## 接口信息

- **接口名称**: 综合分析接口
- **接口路径**: `/api/comprehensive_analysis`
- **请求方法**: POST
- **Content-Type**: application/json

## 接口用途

综合分析接口提供了一站式解决方案，可以组合多种功能和参数来完成以下任务：

1. 为指定的股票列表生成投资建议
2. 根据企业画像条件筛选符合特定投资标准的股票
3. 选择性地为股票生成 PDF 投资报告

该接口高度灵活，允许用户根据需求自由组合不同参数，实现个性化的股票分析和筛选功能。

## 请求参数

### 请求体(JSON格式)

```json
{
  "stocks": [
    ["603690", "至纯科技"],
    ["688053", "思科瑞"],
    ["300750", "宁德时代"]
  ],
  "generate_pdf": false,
  "limit": 500,
  "profile_filter": {
    "type": "recommended"
  }
}
```

### 参数详细说明

| 参数名称 | 类型 | 是否必须 | 描述 |
|---------|------|---------|------|
| `stocks` | 数组 | 是 | 要分析的股票列表，每个股票为一个包含两个元素的数组 `[股票代码, 股票名称]` |
| `generate_pdf` | 布尔值 | 否 | 是否为每个股票生成 PDF 投资报告，默认为 `false` |
| `profile_filter` | 对象 | 否 | 企业画像筛选条件，用于从股票列表中筛选符合特定条件的股票 |

#### `stocks` 参数详情

二维数组，每个内部数组必须包含两个元素：
- 第一个元素：股票代码（字符串）
- 第二个元素：股票名称（字符串）

示例：`[["603690", "至纯科技"], ["688053", "思科瑞"]]`

#### `generate_pdf` 参数详情

- `true`：为每个股票生成 PDF 投资报告
- `false`：不生成 PDF 报告（默认值）

#### `profile_filter` 参数详情

筛选条件对象，包含以下字段：

1. 使用预定义画像类型筛选：

```json
{
  "type": "recommended"
}
```

或者（兼容旧版用法）：

```json
{
  "type": "predefined",  // 或任何非"custom"的值
  "profile_name": "recommended"
}
```

| 字段名称 | 类型 | 是否必须 | 描述 |
|---------|------|---------|------|
| `type` | 字符串 | 是 | 预定义的企业画像类型或"custom"(自定义条件) |
| `profile_name` | 字符串 | 否 | 当`type`不是"custom"时可选，用于指定具体的预定义画像类型。如果不提供，则使用`type`的值作为画像类型 |

预定义画像类型可选值：
- `high_growth`: 高成长潜力企业
- `stable_leaders`: 稳定型龙头企业
- `short_term`: 短期投资机会
- `value_investment`: 价值型投资标的
- `turnaround`: 困境反转机会
- `risk_averse`: 风险规避标的
- `innovation`或`innovation_driven`: 创新驱动型企业
- `integration`或`industry_integration`: 行业整合机会
- `recommended`: 推荐投资企业

2. 使用自定义条件筛选：

```json
{
  "type": "custom",
  "conditions": [
    {
      "dimension": "financial_report",
      "field": "financial_report_level",
      "operator": ">=",
      "value": 1
    },
    {
      "dimension": "industry_competition",
      "field": "industry_space",
      "operator": "=",
      "value": 2
    }
  ]
}
```

| 字段名称 | 类型 | 是否必须 | 描述 |
|---------|------|---------|------|
| `type` | 字符串 | 是 | 必须为 `"custom"` |
| `conditions` | 数组 | 是 | 自定义筛选条件数组 |

##### `conditions` 数组中的每个条件对象：

| 字段名称 | 类型 | 是否必须 | 描述 |
|---------|------|---------|------|
| `dimension` | 字符串 | 是 | 分析维度 |
| `field` | 字符串 | 是 | 维度中的字段名 |
| `operator` | 字符串 | 是 | 比较操作符 |
| `value` | 多种类型 | 是 | 比较值 |
| `required` | 布尔值 | 否 | 是否必须满足该条件，默认为 `true` |

**分析维度(`dimension`)可选值**：
- `financial_report`: 财务报告分析
- `industry_competition`: 行业竞争分析
- `industry_cooperation`: 行业合作分析
- `management_ownership`: 管理层持股分析
- `recent_projects`: 近期项目分析
- `stock_discussion`: 股票讨论分析
- `target_price`: 目标价格分析
- `investment_advice`: 投资建议分析

**字段名(`field`)可选值**（根据不同维度）：
- 财务报告: `financial_report_level`
- 行业竞争: `industry_space`
- 行业合作: `collaboration_dynamics`
- 管理层持股: `ability`, `shareholding`
- 近期项目: `major_events`
- 股票讨论: `emotion`
- 目标价格: `securities_rating`, `odds`
- 投资建议: `investment_advice_type`

**操作符(`operator`)可选值**：
- `=`: 等于
- `!=`: 不等于
- `>`: 大于
- `<`: 小于
- `>=`: 大于等于
- `<=`: 小于等于
- `in`: 包含于（此时 `value` 应为数组）

**比较值(`value`)类型**：
- 当操作符为 `in` 时，`value` 为数组
- 其他情况下，根据字段类型可以是数字或字符串

## 响应内容

### 成功响应

```json
{
  "status": "success",
  "total_input_stocks": 3,
  "investment_advices": [
    {
      "code": "603690",
      "name": "至纯科技",
      "advice": "中期持有，结合目前的情况...(详细内容)",
      "reasoning": "基于行业前景和公司近期表现...(详细内容)",
      "references": ["财报数据", "行业研报"],
      "status": "success"
    },
    {
      "code": "688053",
      "name": "思科瑞",
      "advice": "短期关注，考虑到...(详细内容)",
      "reasoning": "考虑到公司近期的产品进展...(详细内容)",
      "references": ["公司公告", "行业数据"],
      "status": "success"
    },
    {
      "code": "300750",
      "name": "宁德时代",
      "status": "error",
      "error": "数据获取失败，请稍后重试"
    }
  ],
  "filtered_stocks": {
    "count": 1,
    "filter_type": "high_growth",
    "stocks": [
      {"code": "688053", "name": "思科瑞"}
    ]
  },
  "pdf_reports": {
    "count": 3,
    "reports": [
      {
        "code": "603690",
        "name": "至纯科技",
        "report_path": "/reports/603690_20240328.pdf",
        "status": "success"
      },
      {
        "code": "688053",
        "name": "思科瑞",
        "report_path": "/reports/688053_20240328.pdf",
        "status": "success"
      },
      {
        "code": "300750",
        "name": "宁德时代",
        "status": "error",
        "error": "生成报告时出错：数据不完整"
      }
    ]
  }
}
```

### 响应字段说明

| 字段名称 | 类型 | 描述 |
|---------|------|------|
| `status` | 字符串 | 响应状态，成功为 `"success"` |
| `total_input_stocks` | 整数 | 输入的股票总数 |
| `investment_advices` | 数组 | 每个股票的投资建议结果 |
| `filtered_stocks` | 对象 | 筛选结果（仅当请求中包含 `profile_filter` 时返回） |
| `pdf_reports` | 对象 | PDF报告生成结果（仅当 `generate_pdf=true` 时返回） |

#### `investment_advices` 数组中的每个对象

成功情况：
| 字段名称 | 类型 | 描述 |
|---------|------|------|
| `code` | 字符串 | 股票代码 |
| `name` | 字符串 | 股票名称 |
| `advice` | 字符串 | 投资建议详细内容 |
| `reasoning` | 字符串 | 投资建议的推理过程 |
| `references` | 数组 | 参考资料列表 |
| `status` | 字符串 | 处理状态，值为 `"success"` |

失败情况：
| 字段名称 | 类型 | 描述 |
|---------|------|------|
| `code` | 字符串 | 股票代码 |
| `name` | 字符串 | 股票名称 |
| `status` | 字符串 | 处理状态，值为 `"error"` |
| `error` | 字符串 | 错误详情 |

#### `filtered_stocks` 对象

| 字段名称 | 类型 | 描述 |
|---------|------|------|
| `count` | 整数 | 筛选出的股票数量 |
| `filter_type` | 字符串 | 使用的筛选类型 |
| `stocks` | 数组 | 筛选出的股票列表 |

`stocks` 数组中的每个对象：
| 字段名称 | 类型 | 描述 |
|---------|------|------|
| `code` | 字符串 | 股票代码 |
| `name` | 字符串 | 股票名称 |

#### `pdf_reports` 对象

| 字段名称 | 类型 | 描述 |
|---------|------|------|
| `count` | 整数 | 处理的报告总数 |
| `reports` | 数组 | 报告生成结果列表 |

`reports` 数组中的每个对象：

成功情况：
| 字段名称 | 类型 | 描述 |
|---------|------|------|
| `code` | 字符串 | 股票代码 |
| `name` | 字符串 | 股票名称 |
| `report_path` | 字符串 | 生成的PDF报告路径 |
| `status` | 字符串 | 处理状态，值为 `"success"` |

失败情况：
| 字段名称 | 类型 | 描述 |
|---------|------|------|
| `code` | 字符串 | 股票代码 |
| `name` | 字符串 | 股票名称 |
| `status` | 字符串 | 处理状态，值为 `"error"` |
| `error` | 字符串 | 错误详情 |

### 错误响应

```json
{
  "status": "error",
  "message": "错误详情说明"
}
```

| 字段名称 | 类型 | 描述 |
|---------|------|------|
| `status` | 字符串 | 响应状态，失败为 `"error"` |
| `message` | 字符串 | 错误详情描述 |

## 使用示例

### 示例1：基本使用 - 仅生成投资建议

```bash
curl -X POST http://localhost:5000/api/comprehensive_analysis \
  -H "Content-Type: application/json" \
  -d '{
    "stocks": [
      ["603690", "至纯科技"],
      ["688053", "思科瑞"]
    ]
  }'
```

### 示例2：生成投资建议和PDF报告

```bash
curl -X POST http://localhost:5000/api/comprehensive_analysis \
  -H "Content-Type: application/json" \
  -d '{
    "stocks": [
      ["603690", "至纯科技"],
      ["688053", "思科瑞"]
    ],
    "generate_pdf": false
  }'
```

### 示例3：使用预定义画像筛选符合条件的股票

```bash
curl -X POST http://localhost:5000/api/comprehensive_analysis \
  -H "Content-Type: application/json" \
  -d '{
    "stocks": [
      ["603690", "至纯科技"],
      ["688053", "思科瑞"],
      ["300750", "宁德时代"]
    ],
    "profile_filter": {
      "type": "recommended"
    }
  }'
```

### 示例4：使用自定义条件筛选股票

```bash
curl -X POST http://localhost:5000/api/comprehensive_analysis \
  -H "Content-Type: application/json" \
  -d '{
    "stocks": [
      ["603690", "至纯科技"],
      ["688053", "思科瑞"],
      ["300750", "宁德时代"]
    ],
    "profile_filter": {
      "type": "custom",
      "conditions": [
        {
          "dimension": "financial_report",
          "field": "financial_report_level",
          "operator": ">=",
          "value": 1
        }
      ]
    }
  }'
```

PE--top bottom  
PB--top bottom