Skip to content

evander-wang/akshare_study

Repository files navigation

AkShare 金融数据获取与探索

这是一个使用 AkShare 库获取央行利率、LPR、宏观经济数据的 Python 工具和 Jupyter Notebook 探索环境。

功能特性

  • 🏦 获取中国央行利率决议数据(1991-2019年)
  • 🇺🇸 获取美联储利率决议数据(1982年至今)
  • 📊 获取中国LPR(贷款市场报价利率)历史数据(1991年至今)✅
  • 📈 获取中国宏观经济数据(GDP、CPI等)
  • 💰 获取Shibor利率数据
  • 💾 支持将数据导出为CSV文件
  • 📊 提供数据对比和分析功能
  • 📓 Jupyter Notebook 交互式探索环境

快速开始

推荐:Jupyter Notebook 探索

# 使用 conda base 环境
conda activate base

# 安装依赖(首次运行)
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

# 启动 JupyterLab
jupyter lab

# 打开 akshare_explore.ipynb 开始探索

命令行工具

# 使用 conda base 环境
conda activate base

# 运行示例
python akshare_demo.py --save    # 保存数据为CSV
python simple_demo.py            # 运行简单示例

项目结构

.
├── akshare_demo.py       # 核心数据获取模块
├── simple_demo.py        # 简化示例
├── akshare_explore.ipynb # Jupyter探索笔记本 ⭐
├── quickstart.sh         # 一键启动脚本
├── requirements.txt      # Python依赖
└── README.md            # 项目文档

Jupyter Notebook 内容

akshare_explore.ipynb 包含以下探索内容:

章节 内容
环境准备 版本检查、模块概览
宏观经济 央行利率、美联储利率、LPR、GDP、CPI
股票数据 A股实时行情、个股历史数据
债券/基金 相关接口列表
期货/利率 Shibor 利率数据
数据可视化 中美利率对比图(使用LPR)

⚠️ 重要说明:中国利率数据

为什么中国央行利率数据只到 2019 年?

2019年8月中国利率市场化改革后,LPR 成为新的核心利率指标

数据源 日期范围 说明
macro_bank_china_interest_rate() 1991-2019 传统央行基准利率(已停用)
macro_china_lpr() 1991-2026 LPR(2019年后核心利率指标)✅

结论:研究2019年后的中国利率走势,应使用 LPR 数据

代码示例

获取最新利率数据

import akshare as ak

# LPR(推荐)
lpr = ak.macro_china_lpr()
print(f"1年期LPR: {lpr['LPR1Y'].iloc[-1]}%")
print(f"5年期LPR: {lpr['LPR5Y'].iloc[-1]}%")

# 美联储利率
usa = ak.macro_bank_usa_interest_rate()
print(f"美联储利率: {usa['今值'].iloc[-1]}%")

中美利率对比可视化

import matplotlib.pyplot as plt
import akshare as ak

lpr = ak.macro_china_lpr()
usa = ak.macro_bank_usa_interest_rate()

plt.figure(figsize=(12, 6))
plt.plot(lpr['TRADE_DATE'], lpr['LPR1Y'], label='中国LPR(1年)')
plt.plot(usa['日期'], usa['今值'], label='美联储利率')
plt.legend()
plt.show()

数据接口快速参考

类别 函数名 描述
LPR ✅ macro_china_lpr() 中国贷款市场报价利率(推荐)
美联储利率 macro_bank_usa_interest_rate() 美联储利率决议
央行利率 macro_bank_china_interest_rate() 传统央行基准利率(2019年停用)
GDP macro_china_gdp() 中国GDP季度数据
CPI macro_china_cpi() 中国CPI月度数据
A股实时 stock_zh_a_spot_em() A股实时行情
个股历史 stock_zh_a_hist() 个股历史数据
Shibor rate_interbank() 银行间同业拆放利率

环境要求

  • Python 3.8+ (conda base 环境)
  • Pandas 2.0+
  • Matplotlib 3.7+
  • JupyterLab 4+(推荐,用于 Notebook 探索)

常见问题

1. Pandas 3.0 fillna() 错误

# ❌ 旧语法(Pandas < 3.0)
df.fillna(method='ffill')

# ✅ 新语法(Pandas 3.0+)
df.ffill()

2. 中文显示乱码

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS', 'SimHei']
plt.rcParams['axes.unicode_minus'] = False

3. AkShare 接口更新

AkShare 接口会定期更新,如遇错误请查看:

相关链接

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors