返回 Skill 列表
extension
分类: 其它无需 API Key

申万一级行业指数数据获取与分析

申万一级行业指数数据获取与分析。自动抓取31个申万一级行业指数(日/周/月线,1999年至今),计算区间收益率、年化波动率、最大回撤、夏普比率等统计指标,生成专业Excel分析报告。数据源akshare × 申万宏源研究所。

person作者: user_3be374cchubcommunity

申万一级行业指数数据获取与分析

自动抓取全部31个申万一级行业指数历史数据,生成统计报告。

快速开始

Step 1: 安装依赖

!pip install akshare openpyxl -q

Step 2: 抓取数据

方式一:命令行(适合快速导出 CSV)

python scripts/fetch_sw_index.py --start 2023-01-01 --output daily.csv --stats stats.csv

方式二:Python 直接调用(适合生成 Excel 报告)

import sys
sys.path.insert(0, "scripts")
from fetch_sw_index import fetch_all, compute_stats

# end_date 自动取今天,无需手动指定
df = fetch_all(start_date="2023-01-01", period="day")
stats = compute_stats(df)
print(stats)

Step 3: 生成 Excel 分析报告

import sys, pandas as pd, openpyxl
sys.path.insert(0, "scripts")
from fetch_sw_index import fetch_all, compute_stats

df = fetch_all(start_date="2023-01-01", period="day")
stats = compute_stats(df)

# 导出 CSV
df.to_csv("sw31_daily.csv", index=False, encoding="utf-8-sig")
stats.to_csv("sw31_stats.csv", index=False, encoding="utf-8-sig")

Excel 报告建议包含以下 Sheet:

  1. 封面 - 报告标题、数据区间、关键指标摘要、目录
  2. 统计汇总 - 31个行业核心指标对比(按收益率降序),红涨绿跌着色
  3. 涨跌幅排名 - 横向柱状图,红/绿按涨跌分色
  4. 日线数据 - 完整 OHLCV 数据
  5. 数据来源 - 数据说明与免责声明

风格:A 股惯例(红涨绿跌),主色调 #1F3864 深蓝。

核心参数

| 参数 | 默认值 | 说明 | |------|--------|------| | start_date | "2023-01-01" | 起始日期(包含)| | end_date | 今天(自动) | 结束日期(包含),不填则自动取当天 | | period | "day" | 频率:day 日线 / week 周线 / month 月线 |

compute_stats() 输出字段

| 字段 | 说明 | |------|------| | code | 指数代码 | | name | 行业名称 | | start_date / end_date | 数据区间 | | start_close / end_close | 期初 / 期末点位 | | total_return_pct | 区间收益率(%) | | high / high_date | 区间最高点及日期 | | low / low_date | 区间最低点及日期 | | ann_volatility_pct | 年化波动率(%) | | max_drawdown_pct / max_dd_date | 最大回撤及其发生日期 | | sharpe_ratio | 夏普比率(无风险利率默认 2%) |

指数代码参考

详见 references/sw_index_codes.md,共31个申万一级行业(2021版)。

注意事项

  • 数据来自 akshare 接口,速率限制内置 0.3s 间隔
  • 数据通常在交易日收盘后更新
  • 本工具仅供学习和研究使用,不构成投资建议

参考链接

  • akshare 文档:https://www.akshare.xyz/reference/index_stock.html#id8
  • 申万宏源研究所:https://www.swsresearch.com