Elegant and efficient Python library for wind financial data access with comprehensive abstraction layers and 100% forward compatibility
Project description
Kepler Wind
优雅的量化数据访问接口,基于 Wind 金融终端数据库。
安装
pip install kepler-wind
快速开始
from kepler.wind import Wind
w = Wind()
API 设计
按资产分类,每个资产提供截面和时序查询方法。
股票池
# 当前成分股
w.universe.members("HS300")
# 历史成分股
w.universe.at("HS300", "20240101")
# 完整变更历史
w.universe.history("HS300")
# 支持的指数
w.universe.members("A") # 全A股
w.universe.members("ZZ500") # 中证500
w.universe.members("MSCI") # MSCI
指数
# 历史数据(自动识别指数类型)
w.index.history("000001.SH") # 普通指数
w.index.history("801010.SI") # 申万指数
w.index.history("CI005001.WI") # 中信指数
w.index.history("884001.WI") # Wind行业指数
w.index.history(["000001.SH", "801010.SI"]) # 混合查询
# 成分权重
w.index.weight("000300.SH")
w.index.weight("000300.SH", date="20240101")
收益率
# 截面:某日所有股票收益率
w.returns.on("20240101")
# 时序:日收益率
w.returns.daily("000001.SZ")
w.returns.daily(["000001.SZ", "000002.SZ"])
# 时序:月收益率
w.returns.monthly("000001.SZ")
行业
# A股行业(中信分类)
w.industry.on("20240101") # 截面:某日所有股票行业
w.industry.on("20240101", level=2) # 二级行业
w.industry.of("000001.SZ") # 单股行业
w.industry.of("000001.SZ", date="20240101")
# 港股行业
w.industry_hk.on("20240101") # 港股中信行业(默认)
w.industry_hk.on("20240101", source="wind") # 港股Wind一级行业
w.industry_hk.on("20240101", source="wind", level=2) # 港股Wind二级行业
w.industry_hk.of("0001.HK", date="20240101")
基金
# 历史净值
w.fund.history("000001.OF")
# 筛选基金
w.fund.filter(type="股票型")
迁移指南
从旧版本迁移到新版本的 API 对照:
股票池
| 旧 API | 新 API |
|---|---|
universe_A() |
w.universe.members("A") |
universe_A(cur_sign=False) |
w.universe.history("A") |
universe_normal("HS300") |
w.universe.members("HS300") |
universe_normal("HS300", cur_sign=False) |
w.universe.at("HS300", date) |
universe_msci() |
w.universe.members("MSCI") |
Universe("HS300") |
w.universe.members("HS300") |
get_all_normal_index("HS300") |
w.universe.members("HS300") |
get_all_msci() |
w.universe.members("MSCI") |
get_all_stk() |
w.universe.members("A") |
get_all_hk("HS300") |
w.universe.members("HK") |
指数
| 旧 API | 新 API |
|---|---|
get_index_data("000001.SH") |
w.index.history("000001.SH") |
get_index_data(["000001.SH", "801010.SI"]) |
w.index.history(["000001.SH", "801010.SI"]) |
get_index_data_tmp(codes, "zx") |
w.index.history(codes) (自动识别) |
get_index_weight("000300.SH") |
w.index.weight("000300.SH") |
get_index_weight("000300.SH", "20240101") |
w.index.weight("000300.SH", date="20240101") |
收益率
| 旧 API | 新 API |
|---|---|
get_daily_ret("000001.SZ") |
w.returns.daily("000001.SZ") |
get_daily_ret(["000001.SZ", "000002.SZ"]) |
w.returns.daily(["000001.SZ", "000002.SZ"]) |
get_monthly_ret("000001.SZ") |
w.returns.monthly("000001.SZ") |
行业
| 旧 API | 新 API |
|---|---|
get_industry("20240101") |
w.industry.on("20240101") |
get_industry("20240101", sid="000001.SZ") |
w.industry.of("000001.SZ", date="20240101") |
get_industry("20240101", level=2) |
w.industry.on("20240101", level=2) |
get_industry_hk("20240101") |
w.industry_hk.on("20240101") |
get_industry_windhk("20240101", level=2) |
w.industry_hk.on("20240101", source="wind", level=2) |
基金
| 旧 API | 新 API |
|---|---|
get_fund_nav("000001.OF") |
w.fund.history("000001.OF") |
get_fund_nav(["000001.OF", "000002.OF"]) |
w.fund.history(["000001.OF", "000002.OF"]) |
get_fund_list() |
w.fund.filter() |
get_fund_filter("股票型") |
w.fund.filter(type="股票型") |
配置
方式一:配置文件
配置文件位于 ~/.kepler/wind/wind.toml:
[wind]
engine = "mysql+pymysql://user:pass@host:3306/db"
schema = "" # MySQL 留空,PostgreSQL 填 "public"
方式二:代码传入
from kepler.wind import Wind
# MySQL
w = Wind(url="mysql+pymysql://user:pass@host:3306/wind")
# PostgreSQL
w = Wind(url="postgresql://user:pass@host:5432/db", schema="public")
依赖
- kepler-atlas >= 0.1.5
- kepler-pulse >= 0.1.8
- pandas
- sqlalchemy
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
kepler_wind-0.2.3.tar.gz
(28.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kepler_wind-0.2.3.tar.gz.
File metadata
- Download URL: kepler_wind-0.2.3.tar.gz
- Upload date:
- Size: 28.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1994195f126bf16828267b2b9f04ab97699c70bcd75a56557a12d14a8910bac9
|
|
| MD5 |
685a349cfa8e623e17844b476a6c363a
|
|
| BLAKE2b-256 |
cda4dbbe313747aa6ff7a0106ae8aee358666e5bd4c13bb08f9b96eb95cb6406
|
File details
Details for the file kepler_wind-0.2.3-py3-none-any.whl.
File metadata
- Download URL: kepler_wind-0.2.3-py3-none-any.whl
- Upload date:
- Size: 30.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c5d3f22bc4893f5d5aa59959bb183c72fa5de3892f8079d3b4cace109d19d46
|
|
| MD5 |
ad7a949aaf087bd87810aa433cc579e8
|
|
| BLAKE2b-256 |
a39d601861e3e29a69b4ee737b75edf072464a5069afe037b251da986f119668
|