Skip to content

DECADE0502/LLM_energy

Repository files navigation

LLM辅助的国际油价事件识别与能源安全政策响应分析 —— 数据集

选题十七配套数据,时间范围 2016-01 ~ 至今(约10年),全部来自公开免费数据源。 所有脚本可重复运行,自动增量更新到最新。

项目结构(按实验任务组织)

数据/
├── fetch_energy_data.py          # 脚本1:行情/库存/汇率采集
├── fetch_policy_texts.py         # 脚本2:能源政策文本采集(断点续传)
├── build_event_study.py          # 脚本3:事件研究数据集构建
├── llm_event_extraction_prompt.md# 任务② LLM抽取提示词模板 + 关键词词典
├── 重大油价事件库.csv             # 任务① 种子事件库(32个事件)
├── raw/                          # 原始结构化数据
│   ├── EIA_布伦特原油现货_日度.csv
│   ├── EIA_WTI原油现货_日度.csv
│   ├── EIA_HenryHub天然气现货_日度.csv
│   ├── EIA_美国商业原油库存_周度.csv
│   ├── EIA_美国战略石油储备_周度.csv
│   ├── EIA_美国原油产量_周度.csv
│   ├── 新浪_WTI原油期货_日度.csv          # 含 OHLCV
│   ├── 新浪_布伦特原油期货_日度.csv
│   ├── 新浪_天然气期货_日度.csv
│   ├── 新浪_INE上海原油期货_日度.csv      # 含持仓量/结算价
│   ├── 新浪_美元指数_日度.csv
│   ├── 新浪_美元兑人民币汇率_日度.csv
│   └── policy/
│       ├── 政策文件清单.csv               # 政策元数据(128篇)
│       └── texts/<doc_id>.txt             # 政策全文(每篇一个txt)
└── processed/                    # 分析就绪数据
    ├── 能源日度行情面板.csv      # ★ 2724行×15列,含对数收益率
    ├── 能源周度库存产量面板.csv  # ★ 544行
    ├── 能源政策文本库.csv        # ★ 任务④ 元数据+全文(128篇)
    ├── 事件研究_事件窗明细.csv   # ★ 任务③ 事件×资产×相对日(2418行)
    └── 事件研究_冲击汇总.csv     # ★ 任务③ 事件×资产汇总(153行)

各文件与实验任务对应关系

实验任务 直接可用的文件
① 构建重大事件库 重大油价事件库.csv(种子32条,含类型/时间/方向/持续期,需核实扩充)
② LLM 抽取事件/政策/关键词 llm_event_extraction_prompt.md + processed/能源政策文本库.csv(+你的Wind新闻)
③ 事件前后异常波动 processed/事件研究_事件窗明细.csv事件研究_冲击汇总.csv(已算好AR/z/CAR)
④ 政策-市场-情绪同步性 能源政策文本库.csv × 事件研究_冲击汇总.csv 按日期合并

数据字典

processed/能源日度行情面板.csv(日度)

列名 含义 单位 来源
date 日期 - -
brent_spot / wti_spot Brent/WTI 原油现货价 美元/桶 EIA 官方
natgas_henryhub Henry Hub 天然气现货 美元/MMBtu EIA 官方
brent_fut / wti_fut ICE Brent / NYMEX WTI 期货连续合约收盘 美元/桶 新浪外盘(OIL/CL)
natgas_fut NYMEX 天然气期货连续收盘 美元/MMBtu 新浪外盘(NG)
usd_index 美元指数 新浪外汇(DINIW)
usdcny 美元兑人民币 - 新浪外汇
ine_sc_fut INE上海原油期货主力连续收盘(2018-03-26上市) 元/桶 新浪期货(SC0)
*_ret 对数收益率 ln(P_t/P_{t-1}) - 计算

注意:各市场节假日不同导致的缺失为正常;2020-04-20 WTI 现货 -36.98(负油价),当日收益率 NaN。

processed/能源周度库存产量面板.csv(周度,EIA)

us_crude_stocks_kbbl 商业原油库存(千桶) / us_spr_stocks_kbbl 战略储备SPR(千桶) / us_crude_prod_kbd 原油产量(千桶/日)

重大油价事件库.csv(任务①)

event_id, event_date, event_type, event_name, direction, expected_duration, description

  • event_type ∈ {地缘冲突, OPEC+产量政策, 需求冲击, 库存/供给, 金融/美元, 制裁}
  • direction ∈ {利多(+), 利空(-), 双向(~)};expected_duration ∈ {短期(<1月), 中期(1-6月), 长期(>6月)}
  • 仅为种子模板(2016~2024公认重大事件),日期请逐条核实并用 LLM 从新闻扩充。

processed/能源政策文本库.csv(任务④)

列名 含义
doc_id / category 文档ID / 类别(gongwen国务院公文、bumenfile部门文件、otherfile其他)
title / pub_date / issuer / doc_number 标题 / 发布日期 / 发文单位 / 发文字号
url / keyword 原文链接 / 命中的检索关键词(分号分隔)
fulltext / text_len / has_fulltext 全文 / 长度 / 是否有有效全文(106/128篇为True,其余为gov.cn存根页仅含元数据)

来源:国务院政策文件库公开检索接口,关键词:能源安全/原油/成品油/油气/天然气, 标题检索。需扩大召回可在 fetch_policy_texts.py 中增加关键词或改 searchfield

processed/事件研究_事件窗明细.csv / 事件研究_冲击汇总.csv(任务③)

方法:估计窗 [-120,-21] 交易日算均值μ/波动σ;事件窗 [-5,+10];AR=r-μ;z=AR/σ;|z|>2 记异常。

  • 明细表:每行 = 事件×资产×相对交易日,含 ret/ar/z/abnormal(画事件窗图直接用)
  • 汇总表:每行 = 事件×资产,含 event_day_z、car_0_5、car_0_10、max_abs_z、abnormal_days

验证示例:2019-09-14 沙特布盖格遇袭 Brent 事件日 z=5.27;2020-03-06 沙俄价格战 z=-5.48。

数据来源(均公开免费、中国大陆网络可直连)

  1. EIA 美国能源信息署:现货价/库存/产量,历史xls直链(如 eia.gov/dnav/pet/hist_xls/RBRTEd.xls
  2. 新浪财经:外盘期货、外汇、INE原油期货,JSONP接口
  3. 国务院政策文件库sousuo.www.gov.cn/search-gov/data?t=zhengcelibrary

复现/更新流程

pip install pandas requests xlrd beautifulsoup4
python fetch_energy_data.py    # 1. 更新行情(~1分钟)
python fetch_policy_texts.py   # 2. 更新政策(~3分钟,断点续传)
python build_event_study.py    # 3. 重算事件研究

数据质量体检结论(已验证)

  • 日期无重复、无不可解释的缺口;缺失值均来自各市场节假日差异,未做插值/前向填充(避免伪造价格)
  • 唯一非正值:2020-04-20 WTI 现货 -36.98(真实历史负油价,保留);所有 |单日涨跌|>30% 的记录全部对应 2020年3-4月真实行情
  • 现货-期货收益率同日相关:WTI 0.92、Brent 0.81(排除2020-03~05极端期),同日对齐正确
  • 重要:INE SC 与 Brent 同日相关仅 0.22,但 Brent(T) 与 INE(T+1) 相关 0.60 —— 这是时区/交易时段导致的隔夜传导(INE 白盘消化前夜外盘波动),不是数据错误。 做 INE 事件研究或联动分析时,应使用 Brent 滞后1日对齐,或在报告中说明该传导结构。

已知坑(踩过的)

  • stooq 有 JS 反爬验证,不要用;新浪接口需带 Referer: finance.sina.com.cn
  • 解析 gov.cn 页面 必须用 html.parser,lxml 会异常截断导致只剩导航栏文字
  • 新浪外汇日K每条记录末尾有空字段,需只取前5列
  • CSV 用 Excel 打开如出现乱码,选择 UTF-8 编码导入(processed 下均带 BOM 可直接双击打开)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages