案例 10A:多市场并行数据采集

业务背景

全球金融市场 24 小时不间断运转,A 股、港股、美股处于不同时区。投资者需要同时监控多个市场的实时动态。传统的串行数据采集方式耗时长,可能错过关键的交易时机。

问题:如何在短时间内同时获取多个市场的行情数据、重要新闻和舆情信息?

案例简述

要素 说明
演示模式 智能体并行化(Parallelization)
案例简述 同时采集 A 股、港股、美股三个市场的数据。使用多个子智能体分派任务,体验并行执行与结果聚合。
经济学映射 并行分工——同时执行提升整体效率
应用衔接 第 11 章金融舆情分析系统的多源数据采集采用相同模式

系统架构

采用扇出-收集模式,将数据采集任务分配给三个专门智能体。

多市场并行数据采集架构

Opencode 实现步骤

步骤 1:定义 A 股数据采集子智能体

创建文件 .opencode/agents/china-market-collector.md

---
name: china-market-collector
description: 专门负责采集 A 股市场实时数据和重要新闻
tools: Bash, WebSearch, Read
model: haiku
---

你是 A 股市场数据采集专家。

# 采集任务
1. 获取上证指数、深证成指最新行情
2. 抓取沪深 300 成分股涨跌幅前 10 名
3. 搜集近 1 小时内的重要市场新闻

# 输出格式
以 JSON 格式返回:
{
  "market": "A股",
  "timestamp": "2026-01-22T10:00:00",
  "indices": {"上证指数": 3200.5, "深证成指": 11500.2},
  "top_gainers": [...],
  "top_losers": [...],
  "news": [...]
}

步骤 2:定义港股数据采集子智能体

创建文件 .opencode/agents/hk-market-collector.md

---
name: hk-market-collector
description: 专门负责采集港股市场实时数据
tools: Bash, WebSearch, Read
model: haiku
---

你是港股市场数据采集专家。

# 采集任务
1. 获取恒生指数、恒生科技指数最新行情
2. 抓取港股通北向资金流向
3. 搜集港股重要新闻

# 输出格式
以 JSON 格式返回,结构同 A 股智能体

步骤 3:定义美股数据采集子智能体

创建文件 .opencode/agents/us-market-collector.md

---
name: us-market-collector
description: 专门负责采集美股市场实时数据
tools: Bash, WebSearch, Read
model: haiku
---

你是美股市场数据采集专家。

# 采集任务
1. 获取道琼斯、标普 500、纳斯达克指数
2. 抓取科技股七巨头(FAANG + 微软、英伟达)表现
3. 搜集美股重要新闻和美联储动态

# 输出格式
以 JSON 格式返回,结构同 A 股智能体

步骤 4:定义汇总智能体

创建文件 .opencode/agents/market-aggregator.md

---
name: market-aggregator
description: 整合多市场数据,生成全球市场概览报告
tools: Read, Write
model: sonnet
---

你是全球市场数据分析师。

# 任务流程
1. 读取三个市场数据采集智能体的输出文件
2. 识别全球市场的联动效应
3. 标注重大异动(指数波动超过 2%)
4. 生成结构化市场概览报告

# 报告结构
## 全球市场概览
- A 股市场:[指数表现、热点板块]
- 港股市场:[恒指走势、南向资金流向]
- 美股市场:[三大指数、科技股表现]

## 联动分析
- 跨市场相关性
- 潜在套利机会

## 风险提示
- 重大异动警示

步骤 5:主智能体编排任务

在 Opencode 对话中执行:

用户:请同时采集 A 股、港股、美股的最新数据,并生成全球市场概览报告

Opencode(主智能体):
我将启动三个市场数据采集智能体,然后汇总分析。

[Task 1] 调用 china-market-collector 采集 A 股数据...
完成:上证指数 3200.5,深证成指 11500.2

[Task 2] 调用 hk-market-collector 采集港股数据...
完成:恒生指数 18500.3,北向资金净流入 25 亿

[Task 3] 调用 us-market-collector 采集美股数据...
完成:道指 42000.5,标普 5800.2,纳指 18500.8

[Task 4] 调用 market-aggregator 汇总分析...
完成:全球市场概览报告已生成

报告已保存至 reports/global-market-snapshot.md

效率对比分析

串行执行: - A 股采集 3 分钟 + 港股采集 2.5 分钟 + 美股采集 3.5 分钟 = 总计 9 分钟

并行执行(如果使用 Git Worktree 方案): - 三个智能体同时运行,总耗时 = max(3, 2.5, 3.5) = 3.5 分钟 - 效率提升 61%

警告重要限制

在 Opencode 中,Task 工具是顺序执行的。上述示例中,三个 Task 实际上是依次执行。

提示真正的并行方案

如果需要真正的并行加速,可以使用 Git Worktree 在不同终端同时启动多个 Opencode 实例(参见 10.5.3 节)。

数据一致性保障

时间戳对齐:各市场数据获取时间可能有几秒差异,汇总智能体需对齐时间基准。

智能体 A:数据时间戳 10:00:02
智能体 B:数据时间戳 10:00:05
智能体 C:数据时间戳 10:00:03

对齐策略:统一标记为 10:00:00(取整到分钟)

数据校验:如果两个智能体报告了相同指标但数值不同,取最新时间戳的数据或标记异常。

扩展场景

  • 实时监控系统:配置定时任务每 5 分钟执行一次数据采集,当检测到异常波动时触发告警
  • 跨资产数据采集:扩展为股票、债券、外汇、商品期货的全市场监控系统