# M2 外部研究数据契约

M2 不会在缺少外部数据时伪造研究结论。相应文件不存在时，流水线仍可运行，并输出空表及覆盖率。

## 公告与年报

将 UTF-8 的 `.txt`、`.md`、`.json` 或 `.csv` 放入 `disclosures/`。文件名建议为
`sh600000_2025-03-28_年度报告.txt`；结构化文件建议包含 `source_code`、
`publish_date`、`title`、`text`、`document_type`。

## 行业高频数据

`industry_high_frequency.csv` 字段：

```text
date,industry_code,indicator,value,direction,source
```

`direction` 取 `1` 表示数值越高越好，取 `-1` 表示越低越好。

## 产业链与概念映射

`theme_mapping.csv` 字段：

```text
source_code,industry_code,chain_name,chain_stage,concept_name,weight,valid_from,valid_to
```

`weight` 为 0–1；有效期可防止回测时把后来的概念标签倒灌到历史。

## 催化剂

`catalysts.csv` 字段：

```text
catalyst_id,source_code,industry_code,title,event_date,known_date,status,probability,impact,source
```

`known_date` 是当时首次可知日期，回测只会使用截面当日已知的催化剂。
